




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第七章第七章 串行通信及其接口串行通信及其接口本章要點:本章要點: 串行口的工作方式;MCS-51單片機的串口工作原理及控制;波特率的概念;重點掌握雙機通信的通信過程及相應(yīng)的軟硬件設(shè)計。7.1 概概 述述1、按數(shù)據(jù)傳輸方向分類 1)單工方式數(shù)據(jù)只能向一個方向傳輸。 2)半雙工方式允許數(shù)據(jù)分時兩個方向傳輸。 3)全雙工方式數(shù)據(jù)可以同時往兩個相反的方向傳輸。2)同步方式:每個數(shù)據(jù)位占用的時間都相等,發(fā)送機每一個基本的時間單位發(fā)送一位,接收機與發(fā)送機的時鐘必須嚴(yán)格同步。其格式如圖。2、按傳輸數(shù)據(jù)格式分類:異步和同步通信方式1)異步方式:用一個起始位表示字符的開始,停止位表示字符的結(jié)束。數(shù)據(jù)位則在起始
2、位之后,停止位之前,這樣構(gòu)成一幀,其格式如圖。3常用串行接口標(biāo)準(zhǔn)nRS-232 RS-232是PC機與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS-232采取不平衡傳輸方式,即所謂單端通訊. 0:+5+15V, 1:在-5-15V 傳送距離最大為約15米 最高速率為20kb/s 點對點RS-422/485 RS-422、RS-485與RS-232不一樣,數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對雙絞線,將其中一線定義為A,另一線定義為B。 1:A、B電壓差在+2+6V 0:A、B電壓差在-26V 在RS-485中還有一“使
3、能”端,而在RS-422中這是可用可不用的RS-422/485RS-422的最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mb/s。其平衡雙絞線的長度與傳輸速率成反比,在100kb/s速率以下,才可能達到最大傳輸距離。一般100米長的雙絞線上所能獲得的最大傳輸速率僅為1Mb/s。 RS-485比RS-422有改進, 總線上可多32個設(shè)備。通用串行總線USBnUSB接口特點接口特點1. 接口類型一致 2. 速度快目前USB2.0速度達480MbpsM3. 接口數(shù)量無限 一個設(shè)備上如果有USB接口,那其它USB設(shè)備接到此口上和接到主機的USB接口上是一樣的。USB可連接127個周邊
4、設(shè)備,所以說是“無限的”。4. 提供外設(shè)電源 5. 具有即插即用的功能 6. 具有熱插拔功能 USB外設(shè)可以帶電插拔功能。7. 傳輸距離5mIEEE1394使用方便,支持熱插拔,即插即用,無需設(shè)置設(shè)備ID號,從Win98 SE以上版本的操作系統(tǒng)開始內(nèi)置IEEE1394支持核心,無需驅(qū)動程序。數(shù)據(jù)傳輸速度快,IEEE1394a高達400Mbps,后續(xù)的IEEE1394b標(biāo)準(zhǔn)可將速度提升到800Mbps、1.6Gbps甚至3.2Gbps。自帶供電線路,能提供840V可變電壓,允許通過最大電流也達到1.5A左右,因此它能為耗電量要求小的設(shè)備進行供電。真正點對點連接(peertopeer),設(shè)備間不分
5、主從,可直接實現(xiàn)兩臺DV間的數(shù)據(jù)傳輸或是多臺電腦共享一臺DV機,而且從理論上講我們可以直接將IEEE1394接口DV機中的圖像數(shù)據(jù)保存到IEEE1394接口的硬盤中。7.2MCS-51的串行口的串行口7.2MCS-51的串行口的串行口1、數(shù)據(jù)緩沖器SBUF 發(fā)送SBUF和接收SBUF共用一個地址99H。2、串行口控制寄存器SCON 寄存器的字節(jié)地址為98H,可位尋址。SCON格式如圖。 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0、SM1:控制串行口的工作方式 00 01 10 11 SM2:多機控制位,用于多機通訊。 REN:允許接收控制位,REN=1,允許接收;REN
6、=0,禁止接收。 TB8:發(fā)送的第9位數(shù)據(jù)位,可用作校驗位和地址/數(shù)據(jù)標(biāo)識位RB8:接收的第9位數(shù)據(jù)位或停止位TI: 發(fā)送中斷標(biāo)志,發(fā)送一幀結(jié)束,TI=1,必須軟件清零RI: 接收中斷標(biāo)志,接收一幀結(jié)束,RI=1,必須軟件清零3特殊功能寄存器PCON其字節(jié)地址為87H,沒有位尋址功能,其中與串行接口有關(guān)的只有D7位。SMOD (PCON.7) :波特率倍增位。當(dāng)SMOD=1時,波特率加倍;當(dāng)SMOD=0時,波特率不加倍。3、串行口的工作方式(1) 方式0:同步移位寄存器方式。用于擴展并行I/O接口。1.一幀8位,無起始位和停止位。2.RXD:數(shù)據(jù)輸入/輸出端。 TXD:同步脈沖輸出端,每個脈沖
7、對應(yīng)一個數(shù)據(jù)位。3.波特率B = fosc/12如: fosc=12MHz, B=1MHz,每位數(shù)據(jù)占1s。4.發(fā)送過程:寫入SBUF,啟動發(fā)送,一幀發(fā)送結(jié)束,TI=1。 接收過程:REN=1且RI=0,啟動接收,一幀接收完畢,RI=1。 發(fā)送時序發(fā)送時序?qū)懭雽懭隨BUFRXD輸出輸出TXDTID0D1D2D3D4D5D6D7寫寫REN=1RI=0RXD輸入輸入RI 接收時序接收時序(a)(b)(2) 方式1:8位數(shù)據(jù)異步通訊方式。1.一幀10位:8位數(shù)據(jù)位,1個起始位(0),1個停止位(1)。 2.RXD:接收數(shù)據(jù)端。 TXD:發(fā)送數(shù)據(jù)端。3.波特率:用T1作為波特率發(fā)生器,B=(2SMOD
8、/32)T1溢出率。4.發(fā)送:寫入SBUF,同時啟動發(fā)送,一幀發(fā)送結(jié)束,TI=1。 接收:REN=1,允許接收。接收完一幀,若RI=0且停止位為1 (或SM2=0),將接收數(shù)據(jù)裝入SBUF,停止位裝入RB8,并使RI=1;否則丟棄接收數(shù)據(jù),不置位RI。當(dāng)REN=1,CPU開始采樣RXD引腳負跳變信號,若出現(xiàn)負跳變,才進入數(shù)據(jù)接收狀態(tài),先檢測起始位,若第一位為0,繼續(xù)接收其余位;否則,停止接收,重新采樣負跳變。數(shù)據(jù)采樣速率為波特率16倍頻,在數(shù)據(jù)位中間,用第7、8、9個脈沖采樣3次數(shù)據(jù)位,并3中取2保留采樣值。方式1串行發(fā)送接收時序圖寫入寫入SBUF采樣采樣(a) 發(fā)送時序圖發(fā)送時序圖TXD數(shù)據(jù)
9、輸出數(shù)據(jù)輸出TID0D1D2D3D4D5D6D7停止位停止位起始位起始位RXD輸入數(shù)據(jù)輸入數(shù)據(jù)(b) 接收時序圖接收時序圖D0D1D2D3D4D5D6D7停止位停止位起始位起始位RI檢測檢測負跳變負跳變(3) 方式2和方式3 9位數(shù)據(jù)異步通訊方式。1.一幀為11位:9位數(shù)據(jù)位,1個起始位(0),1個停止位(1)。 第9位數(shù)據(jù)位在TB8/RB8中,常用作校驗位和多機通訊標(biāo)識位。2.RXD:接收數(shù)據(jù)端,TXD:發(fā)送數(shù)據(jù)端。3.波特率:方式2:BR=(2SMOD/64)fosc 。 方式3:BR=(2SMOD/32)T1溢出率 。4.發(fā)送:先裝入TB8,寫入SBUF并啟動發(fā)送,發(fā)送結(jié)束,TI=1。
10、接收:REN=1,允許接收。接收完一幀,若RI=0且第9位為1 (或SM2=0),將接收數(shù)據(jù)裝入接收SBUF,第9位裝入RB8,使RI=1;否則丟棄接收數(shù)據(jù),不置位RI。發(fā)發(fā)送送時時序序?qū)懭雽懭隨BUFTXD輸出輸出TIRXD輸入輸入接接收收時時序序RID0D1D2D3D4D5D6TB8停止位停止位起始位起始位D7D0D1D2D3D4D5D6RB8停止位停止位起始位起始位D7檢測檢測負跳變負跳變(4)計算波特率方式0為固定波特率:BR=fosc/12方式2可選兩種波特率: BR=(2SMOD /64)fosc 方式1、3為可變波特率,用T1作波特率發(fā)生器。BR=(2SMOD/32)T1溢出率
11、T1溢出率= fosc/(12 (256-x))串行口方式1、3,根據(jù)波特率選擇T1工作方式,計算時間常數(shù)。T1選方式2: TH1=X= 28-(2SMOD fosc)/(1232BR)T1選方式1用于低波特率,需考慮T1重裝時間常數(shù)時間。簡單示例n設(shè)波特率為1200bps,求定時器初值X大小并進行初始化(設(shè)SMOD=0) 1200=(1/32)*(fosc/(12*(256-x)) X=E6H MOV TMOD,#20H MOV TH1,#0E6H MOV TL1,#0E6H MOV PCON,#00H MOV SCON,#50H 7.3 雙機通信雙機通信7-3-1 主從機間的通信主從機間的
12、通信 1 雙機串行異步通信(1)單片機與單片機間的串行異步通信接口設(shè)計 兩臺8031直接通信如圖: 兩臺8031采用RS232C總線通信如圖: ()單片機與PC系列微機間的異步串行通信接口設(shè)計 8031單片機與PC系列微機是兩種不同類型的機種,它們的硬件結(jié)構(gòu)不同,具有的電氣特性也不一樣,因此它們之間不能用導(dǎo)線直接連接,而要通過電平轉(zhuǎn)換電路。 8031單片機和PC機通過RS232C總線通信接口圖如下: 雙機通信實驗n項目1:nA機循環(huán)發(fā)送0、1、2給B機,B機收到0,對P1.0口線的LED取反,收到1對P1.1口線的LED取反,類推。n項目2:n利用8279的鍵盤、顯示管理功能,A機按下8279
13、管理的5個鍵,B機通過8279管理的數(shù)碼管分別顯示A、B、C、D、E。項目1:發(fā)送機程序;發(fā)送機程序 ORG 0000H LJMP MAIN ORG 0010H MAIN: LCALL DELAY LCALL INITSYS MOV 20H,#00H LOOP: LCALL SEND LCALL DELAY INC 20H MOV A,20H CJNE A,#03H,LOOP MOV 20H,#00H AJMP LOOP SJMP $;發(fā)送子程序 SEND:MOV A,20H CLR TI MOV SBUF,A JNB TI,$ RET; 串口初始化程序INITSYS:MOV SCON,#50
14、H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#00H ;SMOD=0 SETB TR1 CLR EA RET ;延時子程序DELAY: MOV R6,#00HLOOP1: MOV R7,#00H DJNZ R7,$ DJNZ R6,LOOP1 RET 項目1:接收機程序 ORG 0000H LJMP MAIN ORG 0023HRECEIVE:CLR RI MOV A,SBUF P10: CJNE A,#00H,P11 CPL P1.0 AJMP BACK P11: CJNE A,#01H,P12 CPL P1.1 AJMP BAC
15、K P12: CPL P1.2 BACK:RETI ORG 0200H MAIN:MOV R0,#0FFH DJNZ R0,$ LCALL INITSYS SJMP $INITSYS:MOV SCON,#50H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#00H ;SMOD=0 SET TR1 SETB EA SETB ES RET 7-3-2 多機通信接口多機通信接口教學(xué)目標(biāo)n教學(xué)要求:掌握多機通信的原理及實現(xiàn)過程,能設(shè)計簡單的多機通信系統(tǒng)及程序。n本節(jié)重點:多機通信原理n本節(jié)難點:SM2、TB8、RB8在通信過程中的作用多機通信的
16、應(yīng)用領(lǐng)域典型應(yīng)用:校園卡系統(tǒng)、智能樓宇、自動溫控蔬菜大棚、大型糧庫、工廠自動化;1打卡機 2打卡機 3打卡機 n打卡機1MCS-51多機通信原理多機通信原理關(guān)鍵是SM2與TB8、RB8的關(guān)系!SM2、RB8與從機動作關(guān)系SM2RB8從 機 動 作10此時不能接收數(shù)據(jù)11能收到主機發(fā)的數(shù)據(jù)(地址信息)00進入串口中斷,對接收的數(shù)據(jù)進行處理01進入串口中斷, 對接收的數(shù)據(jù)進行處理通信過程所有同學(xué)坐著聽講老師喊同學(xué)名字所有同學(xué)聽到名字與自己的名字比較名字相符的同學(xué)站起來老師與站起的同學(xué)進行提問回答課堂交流回答問題的同學(xué)坐下多機通信動畫演示2多機通信系統(tǒng)設(shè)計多機通信系統(tǒng)設(shè)計 設(shè)多機通信系統(tǒng)主、從機晶振
17、為6MHz,波特率為2400bps,以方式3進行多機串行通信。每次通信時主機先發(fā)送對應(yīng)的從機地址,然后發(fā)一個字節(jié)數(shù)據(jù)。RS-485從機0#主機 RS-485RS-485從機1#RS-485從機n#圖1 多機通信系統(tǒng)硬件結(jié)構(gòu)主機軟件設(shè)計-初始化子程序INIT:MOVTMOD,#20H MOV TH1,#0F9H;波特率為2400bps MOV TL1,#0F9H MOV SCON,#0F0H;方式3,SM2=1,允許接收 SETBTR1 RET主機軟件設(shè)計-通信子程序流程返回置地址信息標(biāo)志發(fā)地址置數(shù)據(jù)信息標(biāo)志發(fā)數(shù)據(jù)開始圖2主機通信子程序流程圖從機軟件設(shè)計-初始化程序INIT: MOVTMOD,#20H MOV TH1,#0F9H;設(shè)置波特率為2400 MOV TL1, #0F9H MOV SCON,#0F0H;方式3,SM2=1,允許接收 SETB TR1 SETB ES;允許串行口中斷 SETB EAWAIT: SJMP WAIT ;聽號 從機軟件設(shè)計-通信子程序 數(shù)據(jù)?接收并保存數(shù)據(jù)YN 清接收數(shù)據(jù)標(biāo)志 準(zhǔn)備收地址信息接收地址 呼本機?準(zhǔn)備接收數(shù)據(jù)Y
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年北京市密云初三二模英語試卷及答案
- 電力儲能知識培訓(xùn)課件
- 2020-2021深圳安康學(xué)校初中部小學(xué)三年級數(shù)學(xué)上期末模擬試題及答案
- 罐清洗施工方案
- 水平挑網(wǎng)施工方案
- 養(yǎng)殖場黃魚買賣合同范本
- 加拿大勞務(wù)合同范例
- 各類評審評估整改工作的總結(jié)計劃
- 學(xué)校藝術(shù)作品創(chuàng)作展的策劃計劃
- 探索幼兒園環(huán)境教育的工作計劃
- 招貼設(shè)計 課件完整版
- 螺旋箍筋長度計算公式excel(自動版)
- 3-001-鐵路貨物運價規(guī)則
- 麥肯錫——建立成功的財務(wù)管理體系(1)
- 國際標(biāo)準(zhǔn)ISO13920
- OOS、OOT調(diào)查SOP參考模板
- 高層住宅采暖施工方案有地暖
- 《社戲》原文刪除部分(共4頁)
- 現(xiàn)有廠房內(nèi)墻面改造施工方案(無塵車間)
- 考試通用答題卡
- 完整版16QAM星形和矩形星座圖調(diào)制解調(diào)MATLAB代碼
評論
0/150
提交評論