




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
6.2.2設(shè)置工作方式《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院設(shè)置串行通信的工作方式設(shè)置波特率啟動波特率發(fā)生器123單片機(jī)串行口的初始化:SM0SM1SM2RENTB8RB8TIRI0x9F0x9E0x9D0x9C0x9B0x9A0x990x981.設(shè)置串行通信的工作方式
01000000SCON=0x40;SCONSM0SM1工作方式功能說明波特率00方式08位同步移位寄存器常用于擴(kuò)展I/O口fosc/1201方式110位UART8位數(shù)據(jù)、起始位、結(jié)束位可變(取決于定時(shí)器1溢出率和SMOD)0方式211位UART8位數(shù)據(jù)、起始位、奇偶校驗(yàn)位、結(jié)束位fosc/64或fosc/32(取決于SMOD)11方式311位UART8位數(shù)據(jù)、起始位、奇偶校驗(yàn)位和結(jié)束位可變(取決于定時(shí)器1溢出率和SMOD)SM0SM1SM2RENTB8RB8TIRISCONSM0SM1SM2RENTB8RB8TIRISCONREN:允許串行接收位。REN=1時(shí),允許接收,REN=0時(shí),禁止接收。REN=1;SM0SM1SM2RENTB8RB8TIRISCONTI:發(fā)送中斷標(biāo)志位方式0:發(fā)送完第8位數(shù)據(jù)時(shí),TI由硬件置位。方式1、2、3:TI=1是發(fā)送完一幀數(shù)據(jù)的標(biāo)志SBUF=send[i];//發(fā)送第i個(gè)數(shù)據(jù)while(TI==0);//查詢等待發(fā)送是否完成TI=0;
//發(fā)送完成,TI由軟件清0SM0SM1SM2RENTB8RB8TIRISCONRI:接收中斷標(biāo)志位REN=1; //接收允許while(RI==0);//查詢等待接收標(biāo)志為1,表示接收到數(shù)據(jù)buffer[i]=SBUF;//接收數(shù)據(jù)RI=0;
//RI由軟件清0SM0SM1SM2RENTB8RB8TIRISCON控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式選擇位多機(jī)通信控制位允許串行接收位接收數(shù)據(jù)的第9位發(fā)送數(shù)據(jù)的第9位接收中斷標(biāo)志位發(fā)送中斷標(biāo)志位0x9F0x9E0x9D0x9C0x9B0x9A0x990x98電源及波特率選擇寄存器PCONSMODGF1GF0PDIDLPCONSMOD為波特率選擇位。SMOD=1:波特率×2SMOD=0:波特率不變
串行口工作方式1
方式1是單機(jī)通信方式,數(shù)據(jù)幀包括一位起始位,8位數(shù)據(jù)位和一位停止位,其10位幀格式如圖所示。波特率由定時(shí)器T1和SMOD位確定。
發(fā)送過程:(1)串口初始化。設(shè)置工作方式(幀格式)、設(shè)置波特率(傳輸速率)、啟動波特率發(fā)生器(T1)。
SCON=0x40;//定義串行口工作于方式1
TMOD=0x20;//定時(shí)器T1工作于方式2 TL1=0xf4;//波特率為2400bps TH1=0xf4; TR1=1; (2)發(fā)送數(shù)據(jù)。將要發(fā)送的數(shù)據(jù)送入SBUF,即可啟動發(fā)送。此時(shí)串口自動按幀格式將SBUF中的數(shù)據(jù)組裝為數(shù)據(jù)幀,并在波特率發(fā)生器的控制下將數(shù)據(jù)幀逐位發(fā)送到TXD端(最低位先發(fā))。當(dāng)發(fā)送完一幀數(shù)據(jù)后,單片機(jī)內(nèi)部自動置中斷標(biāo)志TI為1。
SBUF=send[i];//發(fā)送第i個(gè)數(shù)據(jù)(3)判斷一幀是否發(fā)送完畢。判斷TI是否為1,是則表示發(fā)送完畢,可以繼續(xù)發(fā)送下一幀;否則繼續(xù)判斷直至發(fā)送結(jié)束。while(TI==0);//查詢等待發(fā)送是否完成(4)清零發(fā)送標(biāo)志位TI。
TI=0;接收過程:(1)串口初始化。設(shè)置工作方式(幀格式)、設(shè)置波特率(傳輸速率)、啟動波特率發(fā)生器(T1)、允許接收。SCON=0x40;//定義串行口工作于方式1TMOD=0x20;//定時(shí)器T1工作于方式2 TL1=0xf4;//波特率為2400bps TH1=0xf4; TR1=1; REN=1;//串行口允許接收數(shù)據(jù)
(2)判斷一幀是否接收完畢。數(shù)據(jù)從接收端RXD(最低位先收)一位一位接收,判斷RI是否為1,是則表示接收完畢,把數(shù)據(jù)存放在SBUF中,可以繼續(xù)接收下一幀;否則繼續(xù)判斷直至接收結(jié)束。while(RI==0);//查詢等待接收是否完成(2)數(shù)據(jù)存放。將接收到SBUF中的數(shù)據(jù)保存在數(shù)組中。
buffer[i]=SBUF;//接收第i個(gè)數(shù)據(jù)(4)清零接收標(biāo)志位RI。
RI=0;
串行口工作方式2
方式2的數(shù)據(jù)幀是11位——用于多機(jī)通信格式為:一個(gè)起始位,8個(gè)數(shù)據(jù)位,一個(gè)可編程位和一個(gè)停止位,其11位幀格式如圖所示。波特率由SMOD位確定。
可編程位在SCON的TB8和RB8位中,用于奇偶校驗(yàn)或多機(jī)通訊標(biāo)識??删幊涛豢梢杂绍浖?或清0;發(fā)送時(shí)在TB8中,連同八位數(shù)據(jù)通過串口發(fā)出。收到數(shù)據(jù)后,數(shù)據(jù)存入接收SBUF內(nèi),可編程位存入RB8中。SM0SM1SM2RENTB8RB8TIRISCON可編程位還可用作為對接收到的數(shù)據(jù)進(jìn)行校驗(yàn)使用,常用校驗(yàn)方法:在可編程位裝入發(fā)送數(shù)據(jù)的奇偶校驗(yàn)位。
舉例:發(fā)送數(shù)據(jù)0x85(10000101B),發(fā)送數(shù)據(jù)包含二進(jìn)制數(shù)1的個(gè)數(shù)為奇數(shù),因此奇偶校驗(yàn)位P=1,在發(fā)送數(shù)據(jù)0x85時(shí),將P=1賦值到可編程位TB8,連同數(shù)據(jù)共同發(fā)出。
對方接收后,只要將實(shí)際數(shù)據(jù)的奇偶關(guān)系與RB8進(jìn)行對比,即可知道收發(fā)過程是否有誤。SM0SM1SM2RENTB8RB8TIRISCON方式2波特率取決于PCON中SMOD位的值:SMOD=0時(shí),波特率為fosc的1/64,即波特率=fosc/64;SMOD=1時(shí),波特率為fosc的1/32,即波特率=fosc/32。波特率=(2SMOD/64)×fosc
串行口工作方式3
方式3的數(shù)據(jù)幀是11位——用于多機(jī)通信格式為:一個(gè)起始位,8個(gè)數(shù)據(jù)位,一個(gè)可編程位和一個(gè)停止位,其11位幀格式如圖所示。波特率由定時(shí)器T1和SMOD位確定。
可編程位在SCON的TB8和RB8位中,用于奇偶校驗(yàn)或多機(jī)通訊標(biāo)識??删幊涛豢梢杂绍浖?或清0;發(fā)送時(shí)在TB8中,連同八位數(shù)據(jù)通過串口發(fā)出。收到數(shù)據(jù)后,數(shù)據(jù)存入接收SBUF內(nèi),可編程位存入RB8中。SM0SM1SM2RENTB8RB8TIRISCON可編程位還可用作為對接收到的數(shù)據(jù)進(jìn)行校驗(yàn)使用,常用校驗(yàn)方法:在可編程位裝入發(fā)送數(shù)據(jù)的奇偶校驗(yàn)位。
舉例:發(fā)送數(shù)據(jù)0x85(10000101B),發(fā)送數(shù)據(jù)包含二進(jìn)制數(shù)1的個(gè)數(shù)為奇數(shù),因此奇偶校驗(yàn)位P=1,在發(fā)送數(shù)據(jù)0x85時(shí),將P=1賦值到可編程位TB8,連同數(shù)據(jù)共同發(fā)出。
對方接收后,只要將實(shí)際數(shù)據(jù)的奇偶關(guān)系與RB8進(jìn)行對比,即可知道收發(fā)過程是否有誤。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 濮陽縣2025年五年級數(shù)學(xué)第二學(xué)期期末監(jiān)測模擬試題含答案
- 提升自動化水平選擇好的電磁閥解決方案
- 供應(yīng)商選擇與評估管理制度制度
- 投影水幕設(shè)計(jì)施工方案
- 寧波單層廠房施工方案
- 電力搶修施工方案
- 汽車尾燈資料
- 2025年家居業(yè)務(wù)面試題及答案
- 6個(gè)紅包紙折燈籠的制作方法
- 5年級下冊英語單詞第三單元帶讀音朗讀
- 2025年合肥幼兒師范高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫新版
- 2025年浙江寧波交投公路營運(yùn)管理限公司招聘12人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 勞務(wù)派遣勞務(wù)外包項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 第四單元 第三課 拍攝學(xué)校創(chuàng)意短視頻教學(xué)設(shè)計(jì) 2024-2025學(xué)年西交大版(2024)初中信息技術(shù)七年級上冊
- 2025年蘇州工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2024年尖葉菠菜種子項(xiàng)目可行性研究報(bào)告
- DB3306T 074-2025 餐用具消毒房管理規(guī)范
- 2025年重慶市初中學(xué)業(yè)水平暨高中招生考試數(shù)學(xué)試題預(yù)測卷(二)
- “記憶中的人、事兒”為副標(biāo)題(四川眉山原題+解題+范文+副標(biāo)題作文“追求”主題)-2025年中考語文一輪復(fù)習(xí)之寫作
- 2024年吉安職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 消化系統(tǒng)疾病患者的睡眠質(zhì)量改善及失眠應(yīng)對措施
評論
0/150
提交評論