單片機波特率計算原理
1、方式0的波特率,固定為晶振頻率的十二分之一。
2、方式2的波特率,取決于PCON寄存器的SMOD位。
PCON是一個特殊的寄存器,除了最高位SMOD外,其他位都是虛設的。
計算方法如下:
SMOD=0時,波特率為晶振頻率的1/64;
SMOD=1時,為晶振頻率的1/32.
3、方式1與方式3的波特率,都由定時器的溢出率決定。公式為:
波特率= (2SMOD/ 32)×(定時器T1的溢出率)
通常情況下,我們使用定時器的工作方式2,即比率發生器,自動重載計數常數。
溢出的周期為:
T=(256-X)×12/fosc
溢出率為溢出周期的倒數,所以:
0.png (28.1 KB, 下載次數: 56)
下載附件
2018-11-3 17:00 上傳
如此,也可由波特率反推出計數器的初始值。
下面是常用的波特率及初始值:
0.png (76.1 KB, 下載次數: 36)
下載附件
2018-11-3 17:00 上傳
0.png (162.78 KB, 下載次數: 36)
下載附件
2018-11-3 17:00 上傳
51單片機模擬串口波特率計算方法
1.計算波特率位間隔時間(即定時時間,其實就是波特率的倒數)
位間隔時間(us) = 106 (us) / 波特率(bps)
2.計算單片機指令周期:
指令周期(us) = 12 / 晶振頻率(Mhz)
3.計算定時器初值:
需要指令周期個數 = 位間隔時間(us) / 指令周期(us)
定時器初值 = 2n — 需要指令周期個數
n為定時器位數。
完整的Word格式文檔51黑下載地址:
串口波特率的計算.doc
(2 MB, 下載次數: 23)
2018-11-3 13:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|