关于定时器、波特率、TH和TL值的计算

时间:2022-01-10 03:08:28

假设晶振位6MHZ,定时10ms

 

单片机系统晶振频率为6mhz,系统时钟频率 (也是计时脉冲频率)为500KHZ,一个脉冲周期2us ,10ms是5000个脉冲,因此
TMOD=0X01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;

关于定时器、波特率、TH和TL值的计算

方式0:13位定时计数方式,最大计数值为2^13=8192,定时8192个机器周期。此方式已经不再用了,是为了和以前的单片机兼容,学初者不用掌握。
方式1:16位定时计数方式,最大计数值为2^16=65536,定时65536个机器周期。此方式可实现最大的定时时间和最大计数次数。是最常用方式之一。
方式2:8位自动重装计数方式,最大计数值为2^8=256,定时256个机器周期。此方式工作时定时或计数到了不用重装初值,精度较高。另外在串口通讯时常用此方式。是最常用方式之一。
方式3:特殊工作方式。将定时器0分成两个8位功能不全的定时计数器,要占用T1部分功能。也不常用。