晶振频率 11.0592M
机器频率 11.0592/12 = 921600个 每秒
每个机器周期,定时器计数值加1。
当数值为0,256,65536时(TH,TL同时为0时),则会溢出产生中断。
921600 / 256(2的8次方) = 3600
1秒钟,定时器(Tx)中断3600次。
2.5毫秒为400分之1秒。
3600 / 400 = 9
TH1初值设置为 -9。
若TH设置为-1时,那么1秒会中断3600次。
TH1为-9时,每秒中断(Interrupt)400次。即定时2.5毫秒。
2.5×400为1秒。(if (nTimer == 400))
当定时器计数触发中断时,单片机会调用中断服务程序。中断服务程序的格式如下:
void function() interrupt 中断号
T0 – 定时器/计数器0中断 | 1 |
---|---|
T1 – 定时器/计数器1中断 | 3 |