单片机C语言定时器程序知识

来源:百度知道 编辑:UC知道 时间:2024/06/24 13:41:17
请教各单片机高手,我有如下一程序
void TimerISR(void)interrupt 1 using 3
{
unsigned char tmp;unsigned int tmp_days;
count_down--;
......
}
请教此中断程序为什么样没有置计数初值勤的步聚?

如果这个程序没有错误的话,那么定时器肯定使用的是工作方式2,也就是自动重装初值的方式。

你在MAIN程序中找找,TMOD的值应该是X2H,而且TH0和TL0的值应该一样。

在程序初始化的时候给TH0、TL0定义一下时间,并在中断程序的后面加进行定义时间,例如要每100MS中断一次,可以用
TH0=0X3c;TL0=0Xaf;

一般,计数初值 都设置在主程序里,或其他子程序里,不会设置在中断程序里。

如果在中断程序里设置初值,那这样才能触发中断呢?