51单片机如何取出计数器TH0和TL0的值在用数码管显示

要用c语言的程序,最好有注释。请大侠帮帮忙。

//我编写的一个0-99定时计数器以及PROTUES的仿真线路图,也做了一些注释,你可以对着数据手册看看,希望对你有帮助,其实网上有很多51要单片机的视频教程你可以下载下来学习。

#include <reg52.h>

#define uchar unsigned char

#define uint unsigned int

unsigned char code table[]={0x3f,0x06,0x5b,0x4f, 

                               0x66,0x6d,0x7d,0x07, 

                               0x7f,0x6f,0x77,0x7c, 

                               0x39,0x5e,0x79,0x71,0x00};

uchar intnum;

uchar sec;

void init()

{

   TMOD=0x01;   // 定时器模式选择,选择T0定时器,方式1

   TR0=1;  //1 打开定时器0

   ET0=1;    //定时器0中断使能位

   EA=1;       //使能全局中断

TH0=(65536-50000)/256; 

   TL0=(65536-50000)%256;  

}

void time0() interrupt 1      //50ms

{

//TF0=0; //定时器0溢出 ,清楚中断

TH0=(65536-50000)/256; 

    TL0=(65536-50000)%256; 

intnum++;//溢出值加1

if(intnum==20)

{

intnum=0;

sec++;

if(sec==100)

{

sec=0;

}

}

}

void disp(uchar num1,uchar num2)

{

P0=table[num1];

P2=table[num2];

}

 

 void main()

 {

  init();

while(1)

{

uchar a,b;

a=sec/10;

b=sec%10;

disp(a,b);

}

 }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-07
自己设计一个就行了,出现问题自己解决才能提高,别人给你出主意,重在提高自己。
第2个回答  2011-11-07
好像不可以吧,楼主知道告诉我一下,我也正在学!
相似回答