单片机波特率计算问题

2025-03-18 14:38:46
推荐回答(4个)
回答1:

溢出速率=fosc/[12*(256-TH1初值)]

比如晶振为11.0592MHz,波特率不加倍,那么

波特率=(1/32)*11059200/12/(256-TH1初值)

如果波特率要求为9600

那么TH1初值=256-11059200/12/32/9600=256-3

回答2:


51的波特率计算根据它的串行口的工作方式 不同,而有不同的算法。
1.方式 0
振荡频率/12 的固定波特率
2.方式 1
(2^SMOD /32) X 定时器1的溢出率
3.方式 2
(2^SMOD /64) X 振荡器频率
式中SMOD为特殊功能寄存器 PCON的最高位的值(0或1)
你可下载一个叫作单片机小精灵 MCUtool 的小工具,方便计算波特率,软件还有其它一些很有用功能 。

回答3:

看SM0 SM1
00时 f/12
01时 可变 定时器1控制
10时 f/32 或f/64
11时 可变 定时器1控制

回答4:

这是固定的公式,单片机的内核设计会告诉你,你可以查阅相关文档,其实没必要知道为什么,你又不是设计单片机的,会用就好了