在序列通訊中
,收發雙方對傳送或接收的資料速率要有一定的約定,我們通過軟體對
mcs—51
序列口程式設計可約定四種工作方式。其中,方式
0和方式
2的波特率是固定的,而方式
1和方式
3的波特率是可變的,由定時器
t1的溢位率決定。
序列口的四種工作方式對應著三種波特率。由於輸人的移位時鐘的**不同,所以,各種方式的波特率計算公式也不同。
一、方式
0的波特率方式0
時,移位時鐘脈衝由
s6(即第
6個狀態週期,第
12個節拍
)給出,即每個機器週期產生乙個移位時鐘,傳送或接收一位資料。所以,波特率為振盪頻率的十二分之一,並不受
pcon
暫存器中
smod
的影響,即:方式0
的波特率=
三、方式
l和方式
3的波特率方式1
和方式3
的移位時鐘脈衝由定時器
t1的溢位率決定,故波特宰由定時器t1的
溢位率與
smod
值同時決定,即:方式1
和方式3
的波特率=
2smod/32·t1
溢位率其中,溢位率取決於計數速率和定時器的預置值。計數速率與
tmod
暫存器中c/
t的狀態有關。當c/
t=0時,計數速率=
fosc/2
;當c/t
=1時,計數速率取決於外部輸入時鐘頻率。
當定時器
tl作波特率發生器使用時,通常選用可自動裝入初值模式
(工作方式
2),在
工作方式2中,
tll作為計數用,而自動裝入的初值放在
thl中,設計數初值為
x,則每過
「256一x」
個機器週期,定時器
t1就會產生一次溢位。為了避免因溢位而引起中斷,此時應禁止
t1中斷。這時,溢位週期為:
系統晶振頻率選為11.
0592mhz
就是為了使初值為整數,從而產生精確的波特率。
如果序列通訊選用很低的波特率,可將定時器
tl置於工作方式
0或工作方式
1,但在
這種情況下,
t1溢位時,需用中斷服務程式重灌初值。中斷響應時間和執行指令時間會使波特率產生一定的誤差,可用改變初值的辦法加以調整。
表6—2
列出了各種常用的波特率及其初值。
51微控制器的波特率
最近使用51微控制器的時候,設定串列埠的波特率,需要多種,固先記下來,晶振更改的時候可以通過excel中的改動來調整 excel在126中email的網盤中 51微控制器的波特率.et 下面列表是基於定時器2的方式2,自動重灌的方式 晶振 11.0592 11059200 波特率暫存器的值 1200...
微控制器串列埠通訊波特率計算
在模式0和模式2下,串列埠波特率固定,模式0為fosc 12。模式2為fosc 32或fosc 64,具體由pcon暫存器的smod位決定。在模式1和模式3下,波特率是乙個可變值,波特率可以由定時器1產生 8052可以由定時2產生 那麼波特率到底為多少呢?波特率由定時器1的溢位率來決定 baud r...
51微控制器序列口波特率計算
方式0 這種工作方式比較特殊,與常見的微型計算機的序列口不同,它又叫 同步移位暫存器輸出方式。在這種方式下,資料從 rxd 端序列輸出或輸入,同步訊號從 txd 端輸出,波特率固定不變,為振盪率的 1 12 該方式是以 8 位資料為一幀,沒有起始位和停止位,先傳送或接收最低位。常用於序列口外接移位暫...