单片机:根据晶振计算计时器初值

时间:2024-02-29 21:40:46

不同频率晶振产生的机器周期不一样:公式为:机器周期=晶振频率/12,这是在该晶振频率下每秒产生多少M机器周期。如当晶振频率为11.0592M的晶振。则每秒可产生机器周期为11.0592/12=0.9216M的机器周期,也就是921600个机器周期。50ms等于0.05秒,所以需要921600*0.05=46080个机器周期;定时器在方式1工作,为16位,最大值为65536,所以需设初值为65536-46080=19456;转为16进制为(4c00),所以高位TH0=0x4c; TL0=0x00;

 

12M,机器周期=12/12=1M,为1000000个机器周期。50ms=0.05秒,需要1000000*0.05=50000个机器周期;默认计时器16位,初值65536-50000=15536  =0X3CXB0

所以:TH0=0X3C(高位)  TL0=0XB0