資料介紹
51單片機定時計數(shù)器溢出率計算和串口的波特率之間的關(guān)系
51 芯片的串口可以工作在幾個???同的工作模式下,其工作模式的設(shè)置就是使用SCON 寄存器。它的各個位的具體定義如下:
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0、SM1 為串行口工作模式設(shè)置位,這樣兩位可以對應(yīng)進行四種模式的設(shè)置。串行口工作模式設(shè)置。
波特率在使用串口做通訊時,一個很重要的參數(shù)就是波特率,只有上下位機的波特率一樣時才可以進行正常通訊。波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。這里所指的波特率,如標準9600 不是每秒種可以傳送9600個字節(jié),而是指每秒可以傳送9600 個二進位,而一個字節(jié)要8 個二進位,如用串口模式1 來傳輸那么加上起始位和停止位,每個數(shù)據(jù)字節(jié)就要占用10 個二進位,9600 波特率用模式1 傳輸時,每秒傳輸?shù)淖止?jié)數(shù)是9600÷10=960 字節(jié)。
51芯片的串口工作模式0的波特率是固定的,為fosc/12,以一個12M 的晶振來計算,那么它的波特率可以達到1M。模式2的波特率是固定在fosc/64 或fosc/32,具體用那一種就取決于PCON 寄存器中的SMOD位,如SMOD 為0,波特率為focs/64,SMOD 為1,波特率為focs/32。
模式1和模式3的波特率是可變的,取決于定時器1或2(52芯片)的溢出速率,就是說定時器 1每溢出一次,串口發(fā)送一次數(shù)據(jù)。那么我們怎么去計算這兩個模式的波特率設(shè)置時相關(guān)的寄存器的值呢?可以用以下的公式去計算。
上式中如設(shè)置了PCON寄存器中的SMOD位為1時就可以把波特率提升2倍。通常會使用定時器1工作在定時器工作模式2下,這時定時值中的TL1做為計數(shù),TH1做為自動重裝值,這個定時模式下,定時器溢出后,TH1的值會自動裝載到TL1,再次開始計數(shù),這樣可以不用軟件去干預(yù),使得定時更準確。在這個定時模式2下定時器1溢出速率的計算公式如下:
溢出速率=(計數(shù)速率)/(256-TH1初值)
溢出速率=fosc/[12*(256-TH1初值)]
上式中的“計數(shù)速率”與所使用的晶體振蕩器頻率有關(guān),在51 芯片中定時器啟動后會在每一個機器周期使定時寄存器TH 的值增加一,一個機器周期等于十二個振蕩周期,所以可以得知51芯片的計數(shù)速率為晶體振蕩器頻率的1/12,一個12M 的晶振用在51芯片上,那么51的計數(shù)速率就為1M。通常用11.0592M 晶體是為了得到標準的無誤差的波特率,那么為何呢?計算一下就知道了。如我們要得到9600 的波特率,晶振為11.0592M 和12M,定時器1 為模式2,SMOD 設(shè)為1,分別看看那所要求的TH1 為何值。代入公式:
11.0592M
9600=(2÷32)×((11.0592M/12)/(256-TH1))
TH1=250
12M
9600=(2÷32)×((12M/12)/(256-TH1))
TH1≈249.49
上面的計算可以看出使用12M晶體的時候計算出來的TH1不為整數(shù),而TH1的值只能取整數(shù),這樣它就會有一定的誤差存在不能產(chǎn)生精確的9600 波特率。當然一定的誤差是可以在使用中被接受的,就算使用11.0592M 的晶體振蕩器也會因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對波特率的影響是十分之小的,可以忽略不計。
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 【Practical】51單片機串行口與波特率
- 51單片機的串行接口介紹
- 51單片機串行口的工作方式解析資料下載
- AT89S51單片機的串行口學習課件免費下載 9次下載
- AT89S52單片機的串行口教程課件免費下載 11次下載
- 單片機教程之串行口與串行通信的詳細資料說明 15次下載
- 80C51單片機的串行口結(jié)構(gòu)和原理的程序免費下載
- 如何進行51單片機串行口的速率設(shè)置
- 51單片機教程之51單片機的串行口應(yīng)用舉例資料說明 18次下載
- 51單片機教程之80C51單片機的串行口介紹及如何進行串行總線的擴展 27次下載
- 基于51單片機匯編語言教程:22課單片機串行口通信程序設(shè)計 25次下載
- 單片機串行口與PC機通訊資料 26次下載
- 單片機串行口的并行通信技術(shù) 103次下載
- 單片機串行口應(yīng)用舉例
- 51單片機的串行口擴展方法
- 51單片機的四種工作模式怎么去設(shè)置 5k次閱讀
- 51單片機的T0、T1定時器四種工作方式各有什么特點? 3.2w次閱讀
- 如何設(shè)置51單片機的串行口來實現(xiàn)與PC機通信 4.8k次閱讀
- MCS-51單片機定時器和計數(shù)器的4種工作方式解析 3.5w次閱讀
- AT89S51單片機串行口的內(nèi)部結(jié)構(gòu)解析 4.2k次閱讀
- 兩臺8031單片機通過串行口進行數(shù)據(jù)交換 2.2k次閱讀
- 51單片機擴充串行口的方法 1.1w次閱讀
- 51單片機串行口對發(fā)光二極管的驅(qū)動設(shè)計 3.3k次閱讀
- 51單片機CPU結(jié)構(gòu)各部件的原理詳細分析 2.9w次閱讀
- 51單片機定時/計數(shù)器詳解(工作原理及模式、應(yīng)用) 14.6w次閱讀
- 單片機串行口介紹,8051單片機的通信方式 1.7w次閱讀
- 10KM遠距多個單片機的主從方式串行通信分析 1.9k次閱讀
- 單片機串行口通信程序設(shè)計 1.8w次閱讀
- 單片機串行口通信程序設(shè)計 9.3k次閱讀
- 單片機串行口與74LS164的正確配合使用方法 1.9w次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數(shù)據(jù)手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數(shù)據(jù)手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 3PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 22次下載 | 免費
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論