想知道51单片机中的定时器的定时中断程序是怎么算时间的,是中断程序所有进行一次为一个自己所设的周期?

还是其他的,我不知道它是怎么算时间的,就以做一个任意时间设定的闹钟的程序为例或者计时器,不知道是怎么具体算的 例如这样的 不知道这个中断程序是怎么样算10ms
void timer1() interrupt 3
//
{
unsigned char i;
TH1 |= 0xdc;
for(i = 0; i < 8; i++)
{
sec_bcd[i]++; // 低位加1
if(sec_bcd[i] < 10) // 如果低位满10则向高位进1
break; // 低位未满10
sec_bcd[i] = 0; // 低位满10清0
}
update_disbuf(); // 更新显示缓冲区
}

定时器中断程序只有在当定时器计满的时候,才触发定时器断。没满的时候执行其他程序 每个时钟周期定时器都会自增1,直到触发中断追问

我就是想问一下 ,停下主程序进行中断程序中有循环程序,怎么算时间

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-23
一个机器周期计数一次!12M的1us记一次!本回答被网友采纳
第2个回答  2016-02-06
12除以晶振频率
相似回答