请教!用单片机做数码时钟关于计数器的问题。

来源:百度知道 编辑:UC知道 时间:2024/06/17 02:00:29
我现在用89S52做定时器,实现数码时钟与倒计时,我想问的是,这每秒是怎么实现的?这好像用到单片机内部的计数器,谁能给我解释解释,说的浅显易懂点,再下小白。
好像计数20就是一秒,在下不懂。
还有什么寄存器,最好也说说。
帮我解释下下面的程序

void initTimer(void) {
TMOD=0x1;
TH0=0x20;
TL0=0x35;
}
initTimer();
TR0=1;
ET0=1;
EA=1;
Hour=12;
Minute=34;

就是计数20是一秒。

void initTimer(void) {
TMOD=0x1;
TH0=0x20;
TL0=0x35;//这几段段程序是初始化定时器
}
initTimer();
TR0=1;
ET0=1;//开定时器中断
EA=1;//开总中断
Hour=12;
Minute=34;//设置两个变量的初值

要明白定时器也是通过中断实现的

使用内部定时器1每50毫秒中断一次,中断中将一个变量加1,当这个变量大于19时,将这个变量置零,这是就到了一秒的时间了。这个时候将秒加一。