STC90C51RC/RD+系列16位定时器计算方法
1.16位方式
原理:
定时器启动后,会从定义的初值开始加数,一个机器周期加一次,加到65535(工作方式一)之后,溢出。STC90C51RC/RD+系列采用12分频,每12个时钟计数器加1.
例如:定时1ms,晶振:22.1184Mhz想让定时器1ms溢出,需要加多少个数呢?
答案是:
#define FOSC 22118400L
#define T0MS (65536-FOSC/12/1000)
n = T/机器周期=1/1000s/1/22118400/12=22118400/12/1000
初始数值T0MS:=65536-n;
即: T0MS (65536-FOSC/12/1000)
赋值:定时器
TH0 = T0MS>>8;
TL0 = T0MS;