当定时器重载值是8bit时(传统的51单片机类型,如AT89C51的T1):
Y=256-((256-X)*4)
当定时器重载值是16bit时(较新的51单片机类型,如C8051F系列的Timer3):
Y=65536-((65536-X)*4)
下面举例说明波特率挑选进程:假定体系要求的通讯频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。则TH1=256-62500/波特率
baud(波特率)=2^smod*12M/(12*32*(256-TH1)
当SMOD=1时,k为倍数,是2的幂,公式为:
波特率=K×12000000/32×12×(256-TH1)
所以,TH1=0xf3=256-(12000000/384×波特率) 其间波特率为2400
TL1=0xF3; //9600波特率的初值,板子运用12M晶振,初值=256-12000000/32/12/2400
12000000是晶振的值,32是指运用的是32位,即计数器形式2
规划的时分便是这样的。12个晶振周期才干完结一条指令的履行