本着好学,不懂就问的精神。我想问问用12MHZ的51单片机,怎么设置串口通讯波特率比较合适?

2019-07-15 12:57发布

我用的是 12mhz晶振的单片机板子,学习到串口通讯,设置波特率这一块,误差比较大,怎么来设置才不影响使用呢
求师傅指导
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
不想说了
1楼-- · 2019-07-15 18:26
用11.0592mhz就行了
星期日LYR
2楼-- · 2019-07-16 00:08
波特率设定:
波特率=(2^smod)*(定时器T1溢出率)/32
溢出率=溢出周期的倒数
溢出周期=12*(256-X)/Fosc
波特率=(2^smod * Fosc)/(32 *12*(256-X))
初值X=256-(Fosc*2^smod)/384*波特率

如:11.0592MHz,波特率为9600的初值:TH1=0FFH,TL1=0FDH

强调:51串行口方式1为由定时器T1的计数溢出率来决定,T1为16位定时器,故TH1,TL1均需设值,
@曲终人散@
3楼-- · 2019-07-16 01:06
 精彩回答 2  元偷偷看……
她説.
4楼-- · 2019-07-16 04:53
12MHZ的芯片其实大都是11.0592MHZ的,因为这个频率算出来的波特率都是整数。方便计算。
她説.
5楼-- · 2019-07-16 07:03
12MHZ的芯片其实大都是11.0592MHZ的,因为这个频率算出来的波特率都是整数。方便计算。
langzitianya
6楼-- · 2019-07-16 11:43
你把波特率调低一点就好了,太高的话不精确!

一周热门 更多>