标题:
求助这个单片机函数里T0重载值是如何计算的?
[打印本页]
作者:
q977165
时间:
2019-10-23 22:05
标题:
求助这个单片机函数里T0重载值是如何计算的?
我算完是baud*(11059200/12),不太明白这里的TL0是如何计算的,还有对baud这个值起到的作用不太了解
void ConfigUART(unsigned int baud)
{
TMOD &= 0xF0; //清零T0的控制位
TMOD |= 0x02; //配置T0为模式2
TH0 = 256 - (11059200/12)/baud; //计算T0重载值
}
复制代码
作者:
csmyldl
时间:
2019-10-23 22:33
是根据定时计数器的溢出率来计算的
作者:
csmyldl
时间:
2019-10-24 00:11
一般51单片机是用T1方式2作为波特率,其波特率计算是通过T1的溢出率来进行计算的,
溢出时间=(256-重装值)*机器周期=(256-重装值)*12/晶振频率
baud=1/溢出时间=晶振频率/(256-重装值)/12
从而得
256-重装值=晶振频率/12/baud
重装值=256-晶振频率/12/baud
作者:
噗噗噗p
时间:
2019-10-24 00:47
计时器为方式2时的 波特率=晶振的频率/(12*(256-初值))
作者:
cphnkj188
时间:
2019-10-24 08:27
单片机芯片手册里有详细讲解,建议楼主读一下
作者:
yzwzfyz
时间:
2019-10-24 21:05
关键点:
串行通讯的时钟来源于何处?一定要整明白!这个时钟的频率你关心一下。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1