




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上51單片機(jī)波特率設(shè)置方法51芯片的串口可以工作在幾個(gè)不同的工作模式下,其工作模式的設(shè)置就是使用SCON 寄存器。它的各個(gè)位的具體定義如下: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0、SM1 為串行口工作模式設(shè)置位,這樣兩位可以對(duì)應(yīng)進(jìn)行四種模式的設(shè)置。串行口工作模式設(shè)置。 波特率在使用串口做通訊時(shí),一個(gè)很重要的參數(shù)就是波特率,只有上下位機(jī)的波特率一樣時(shí)才可以進(jìn)行正常通訊。波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。這里所指的波特率,如標(biāo)準(zhǔn)9600 不是每秒種可以傳送9600個(gè)字節(jié),而是指每秒可以傳送9600 個(gè)二進(jìn)位,而一個(gè)字節(jié)要8 個(gè)二進(jìn)位,
2、如用串口模式1 來(lái)傳輸那么加上起始位和停止位,每個(gè)數(shù)據(jù)字節(jié)就要占用10 個(gè)二進(jìn)位,9600 波特率用模式1 傳輸時(shí),每秒傳輸?shù)淖止?jié)數(shù)是9600÷10960 字節(jié)。其他的字段的含義如下:(2).SM2:多機(jī)通信控制位。多機(jī)通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收狀態(tài),當(dāng)串行口工作于方式2或3,以及SM2=1時(shí),只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為1時(shí),才把接收到的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請(qǐng),否則會(huì)將接受到的數(shù)據(jù)放棄。當(dāng)SM2=0時(shí),就不管第9位數(shù)據(jù)是0還是1,都會(huì)將數(shù)據(jù)送入SBUF,并發(fā)出中斷申請(qǐng)。工作于方式0時(shí),SM2必須為0。(3).REN
3、:允許接收位。REN用于控制數(shù)據(jù)接收的允許和禁止,REN=1時(shí),允許接收,REN=0時(shí),禁止接收。(4).TB8:發(fā)送接收數(shù)據(jù)位8。在方式2和方式3中,TB8是要發(fā)送的即第9位數(shù)據(jù)位。在多機(jī)通信中同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù),TB8=0為數(shù)據(jù),TB8=1時(shí)為地址。(5).RB8:接收數(shù)據(jù)位8。在方式2和方式3中,RB8存放接收到的第9位數(shù)據(jù),用以識(shí)別接收到的數(shù)據(jù)特征。(6).TI:發(fā)送中斷標(biāo)志位??蓪ぶ窐?biāo)志位。方式0時(shí),發(fā)送完第8位數(shù)據(jù)后,由硬件置位,其它方式下,在發(fā)送或停止位之前由硬件置位,因此,TI=1表示幀發(fā)送結(jié)束,TI可由軟件清“0”。(7).RI:接收中斷標(biāo)志位。
4、可尋址標(biāo)志位。接收完第8位數(shù)據(jù)后,該位由硬件置位,在其他工作方式下,該位由硬件置位,RI=1表示幀接收完成。在串口中斷處理時(shí),TI,RI都需要軟件清"0",硬件置位后不可能自動(dòng)清0,此外,在進(jìn)行緩沖區(qū)操作時(shí),需要ES=0,以防止中斷出現(xiàn)。 51芯片的串口工作模式0的波特率是固定的,為fosc/12,以一個(gè)12M 的晶振來(lái)計(jì)算,那么它的波特率可以達(dá)到1M。 模式2的波特率是固定在fosc/64 或fosc/32,具體用那一種就取決于PCON寄存器中的SMOD位,如SMOD 為0,波特率為focs/64,SMOD 為1,波特率為focs/32。 模式1和模式3的波特率是可變的,
5、取決于定時(shí)器1或2(52芯片)的溢出速率,就是說(shuō)定時(shí)器1每溢出一次,串口發(fā)送一次數(shù)據(jù)。那么我們?cè)趺慈ビ?jì)算這兩個(gè)模式的波特率設(shè)置時(shí)相關(guān)的寄存器的值呢?可以用以下的公式去計(jì)算 。 上式中如設(shè)置了PCON寄存器中的SMOD位為1時(shí)就可以把波特率提升2倍。通常會(huì)使用定時(shí)器1工作在定時(shí)器工作模式2下,這時(shí)定時(shí)值中的TL1做為計(jì)數(shù),TH1做為自動(dòng)重裝值,這個(gè)定時(shí)模式下,定時(shí)器溢出后,TH1的值會(huì)自動(dòng)裝載到TL1,再次開始計(jì)數(shù),這樣可以不用軟件去干預(yù),使得定時(shí)更準(zhǔn)確。在這個(gè)定時(shí)模式2下定時(shí)器1溢出速率的計(jì)算公式如下: 溢出速率(計(jì)數(shù)速率)/(256TH1初值) 溢出速率fosc/12*(256-TH1初值)
6、 上式中的“計(jì)數(shù)速率”與所使用的晶體振蕩器頻率有關(guān),在51芯片中定時(shí)器啟動(dòng)后會(huì)在每一個(gè)機(jī)器周期使定時(shí)寄存器TH的值增加一,一個(gè)機(jī)器周期等于十二個(gè)振蕩周期,所以可以得知51芯片的計(jì)數(shù)速率為晶體振蕩器頻率的1/12,一個(gè)12M 的晶振用在51芯片上,那么51的計(jì)數(shù)速率就為1M。通常用11.0592M 晶體是為了得到標(biāo)準(zhǔn)的無(wú)誤差的波特率,那么為何呢?計(jì)算一下就知道了。如我們要得到9600 的波特率,晶振為11.0592M 和12M,定時(shí)器1 為模式2,SMOD 設(shè)為1,分別看看那所要求的TH1 為何值。代入公式: 11.0592M 9600(2÷32)×(11.0592M/12)
7、/(256-TH1) TH1250 12M 9600(2÷32)×(12M/12)/(256-TH1) TH1249.49 上面的計(jì)算可以看出使用12M晶體的時(shí)候計(jì)算出來(lái)的TH1不為整數(shù),而TH1的值只能取整數(shù),這樣它就會(huì)有一定的誤差存在不能產(chǎn)生精確的9600 波特率。當(dāng)然一定的誤差是可以在使用中被接受的,就算使用11.0592M 的晶體振蕩器也會(huì)因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對(duì)波特率的影響是十分之小的,可以忽略不計(jì)。*就一般串口工作在方式1和定時(shí)器工作在模式2來(lái)講,在設(shè)置串口的時(shí)候TH,TL是一樣的,如下例程:#include<reg52.
8、h> #define uchar unsigned char /定義一個(gè)發(fā)送字節(jié)數(shù)據(jù)的串口函數(shù) void Print_Byte(uchar ch) SBUF = ch; while(!TI) TI = 0; /發(fā)送字符串 void Print_String(uchar *str) while(*str) Print_Byte(*str+); void delay(int n)int i,j,z; for(i = 0;i<50;i+) for(j=0;j<250;j+)for(z =0 ;z< n ;z+); int main() TMOD = 0x20;/定時(shí)器1工作與方式2 SCON = 0x40;/串口工作與方式1 TH1 = 0xfd;/設(shè)置波
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSM 0057-2024“領(lǐng)跑者”評(píng)價(jià)技術(shù)要求 石油、石化及相關(guān)工業(yè)用的鋼制球閥
- T-ZJZYC 010-2024 中藥材產(chǎn)業(yè)合規(guī)管理規(guī)范
- 二零二五年度個(gè)人向新能源車輛制造商借款購(gòu)買電動(dòng)車的合同
- 歷年合同法司考備考輔導(dǎo)班師資聘用合同2025年度
- 2025年度集體土地租賃與特色小鎮(zhèn)建設(shè)合同
- 二零二五年度互聯(lián)網(wǎng)廣告聯(lián)盟合作協(xié)議合同
- 2025年度砂石場(chǎng)勞務(wù)人員薪酬及福利待遇合同
- 二零二五年度網(wǎng)紅獨(dú)家經(jīng)紀(jì)合作協(xié)議模板
- 二零二五年度電子商務(wù)平臺(tái)支付清算合同范本
- 新能源汽車項(xiàng)目買賣合同
- 國(guó)企治理三會(huì)一層詳解
- 公司企業(yè)生產(chǎn)安全事故應(yīng)急預(yù)案演練計(jì)劃
- 人教鄂教版科學(xué)六年級(jí)下冊(cè)全冊(cè)教案
- 鋁合金鑄造基礎(chǔ)知識(shí)(課堂PPT)
- 診斷學(xué)課件:臨床常用免疫學(xué)檢測(cè)
- jw甲級(jí)設(shè)計(jì)院十六層醫(yī)院綜合樓全套電氣施工圖紙103張含多大樣圖
- 港股通開戶測(cè)評(píng)答案
- 廣東專插本高等數(shù)學(xué)真題
- 云南省普通初中學(xué)生成長(zhǎng)記錄
- 仿真技術(shù)在車架防腐性能開發(fā)中的應(yīng)用
- 初一平面直角坐標(biāo)系集體備課
評(píng)論
0/150
提交評(píng)論