第七章-串行通信及應(yīng)用要點(diǎn)課件_第1頁
第七章-串行通信及應(yīng)用要點(diǎn)課件_第2頁
第七章-串行通信及應(yīng)用要點(diǎn)課件_第3頁
第七章-串行通信及應(yīng)用要點(diǎn)課件_第4頁
第七章-串行通信及應(yīng)用要點(diǎn)課件_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第七章串行通信及其接口7-1概述7-2

MCS-51的串行口7-3

雙機(jī)通信本章要點(diǎn):串行口的工作方式;MCS-51單片機(jī)的串口工作原理及控制;波特率的概念;重點(diǎn)掌握雙機(jī)通信的通信過程及相應(yīng)的軟硬件設(shè)計。7-4

多機(jī)通信7.1概述1、按數(shù)據(jù)傳輸方向分類

1)單工方式——數(shù)據(jù)只能向一個方向傳輸。

2)半雙工方式——允許數(shù)據(jù)分時兩個方向傳輸。

3)全雙工方式——數(shù)據(jù)可以同時往兩個相反的方向傳輸。

2)同步方式:每個數(shù)據(jù)位占用的時間都相等,發(fā)送機(jī)每一個基本的時間單位發(fā)送一位,接收機(jī)與發(fā)送機(jī)的時鐘必須嚴(yán)格同步。其格式如圖。

2、按傳輸數(shù)據(jù)格式分類:異步和同步通信方式1)異步方式:用一個起始位表示字符的開始,停止位表示字符的結(jié)束。數(shù)據(jù)位則在起始位之后,停止位之前,這樣構(gòu)成一幀,其格式如圖。3常用串行接口標(biāo)準(zhǔn)RS-232

RS-232是PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS-232采取不平衡傳輸方式,即所謂單端通訊.0:+5~+15V,

1:在-5~-15V

傳送距離最大為約15米

最高速率為20kb/s

點(diǎn)對點(diǎn)RS-422/485

RS-422、RS-485與RS-232不一樣,數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對雙絞線,將其中一線定義為A,另一線定義為B。

1:A、B電壓差在+2~+6V

0:A、B電壓差在-2~-6V

在RS-485中還有一“使能”端,而在RS-422中這是可用可不用的RS-422/485

RS-422的最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mb/s。其平衡雙絞線的長度與傳輸速率成反比,在100kb/s速率以下,才可能達(dá)到最大傳輸距離。一般100米長的雙絞線上所能獲得的最大傳輸速率僅為1Mb/s。

RS-485比RS-422有改進(jìn),總線上可多32個設(shè)備。通用串行總線USBUSB接口特點(diǎn)1.接口類型一致2.速度快

目前USB2.0速度達(dá)480MbpsM3.接口數(shù)量無限一個設(shè)備上如果有USB接口,那其它USB設(shè)備接到此口上和接到主機(jī)的USB接口上是一樣的。USB可連接127個周邊設(shè)備,所以說是“無限的”。4.提供外設(shè)電源5.具有即插即用的功能6.具有熱插拔功能USB外設(shè)可以帶電插拔功能。7.傳輸距離5mIEEE1394●使用方便,支持熱插拔,即插即用,無需設(shè)置設(shè)備ID號,從Win98SE以上版本的操作系統(tǒng)開始內(nèi)置IEEE1394支持核心,無需驅(qū)動程序。

●數(shù)據(jù)傳輸速度快,IEEE1394a高達(dá)400Mbps,后續(xù)的IEEE1394b標(biāo)準(zhǔn)可將速度提升到800Mbps、1.6Gbps甚至3.2Gbps。

●自帶供電線路,能提供8—40V可變電壓,允許通過最大電流也達(dá)到1.5A左右,因此它能為耗電量要求小的設(shè)備進(jìn)行供電。

●真正點(diǎn)對點(diǎn)連接(peer-to-peer),設(shè)備間不分主從,可直接實(shí)現(xiàn)兩臺DV間的數(shù)據(jù)傳輸或是多臺電腦共享一臺DV機(jī),而且從理論上講我們可以直接將IEEE1394接口DV機(jī)中的圖像數(shù)據(jù)保存到IEEE1394接口的硬盤中。7.2 MCS-51的串行口

7.2 MCS-51的串行口

1、數(shù)據(jù)緩沖器SBUF

發(fā)送SBUF和接收SBUF共用一個地址99H。2、串行口控制寄存器SCON

寄存器的字節(jié)地址為98H,可位尋址。SCON格式如圖。SM0、SM1:控制串行口的工作方式00011011SM2:多機(jī)控制位,用于多機(jī)通訊。

REN:允許接收控制位,REN=1,允許接收;REN=0,禁止接收。

TB8:發(fā)送的第9位數(shù)據(jù)位,可用作校驗(yàn)位和地址/數(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:同步移位寄存器方式。用于擴(kuò)展并行I/O接口。1.一幀8位,無起始位和停止位。2.RXD:數(shù)據(jù)輸入/輸出端。

TXD:同步脈沖輸出端,每個脈沖對應(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ā)送時序?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/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引腳負(fù)跳變信號,若出現(xiàn)負(fù)跳變,才進(jìn)入數(shù)據(jù)接收狀態(tài),先檢測起始位,若第一位為0,繼續(xù)接收其余位;否則,停止接收,重新采樣負(fù)跳變。數(shù)據(jù)采樣速率為波特率16倍頻,在數(shù)據(jù)位中間,用第7、8、9個脈沖采樣3次數(shù)據(jù)位,并3中取2保留采樣值。方式1串行發(fā)送接收時序圖寫入SBUF采樣(a)發(fā)送時序圖TXD數(shù)據(jù)輸出TID0D1D2D3D4D5D6D7停止位起始位RXD輸入數(shù)據(jù)(b)接收時序圖D0D1D2D3D4D5D6D7停止位起始位RI檢測負(fù)跳變(3)方式2和方式39位數(shù)據(jù)異步通訊方式。1.一幀為11位:9位數(shù)據(jù)位,1個起始位(0),1個停止位(1)。 第9位數(shù)據(jù)位在TB8/RB8中,常用作校驗(yàn)位和多機(jī)通訊標(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。接收:REN=1,允許接收。接收完一幀,若RI=0且第9位為1(或SM2=0),將接收數(shù)據(jù)裝入接收SBUF,第9位裝入RB8,使RI=1;否則丟棄接收數(shù)據(jù),不置位RI。發(fā)送時序?qū)懭隨BUFTXD輸出TIRXD輸入接收時序RID0D1D2D3D4D5D6TB8停止位起始位D7D0D1D2D3D4D5D6RB8停止位起始位D7檢測負(fù)跳變(4)計算波特率方式0為固定波特率:BR=fosc/12 方式2可選兩種波特率:BR=(2SMOD

/64)×fosc 方式1、3為可變波特率,用T1作波特率發(fā)生器。

BR=(2SMOD/32)×T1溢出率

T1溢出率=fosc/(12×(256-x))串行口方式1、3,根據(jù)波特率選擇T1工作方式,計算時間常數(shù)。T1選方式2:TH1=X=28-(2SMOD×

fosc)/(12×32×BR)T1選方式1用于低波特率,需考慮T1重裝時間常數(shù)時間。簡單示例設(shè)波特率為1200bps,求定時器初值X大小并進(jìn)行初始化(設(shè)SMOD=0)

1200=(1/32)*(fosc/(12*(256-x)))

X=E6HMOVTMOD,#20HMOVTH1,#0E6HMOVTL1,#0E6HMOVPCON,#00HMOVSCON,#50H

7.3

雙機(jī)通信7-3-1主從機(jī)間的通信

1雙機(jī)串行異步通信(1)單片機(jī)與單片機(jī)間的串行異步通信接口設(shè)計兩臺8031直接通信如圖:

兩臺8031采用RS232C總線通信如圖:

(2)單片機(jī)與PC系列微機(jī)間的異步串行通信接口設(shè)計

8031單片機(jī)與PC系列微機(jī)是兩種不同類型的機(jī)種,它們的硬件結(jié)構(gòu)不同,具有的電氣特性也不一樣,因此它們之間不能用導(dǎo)線直接連接,而要通過電平轉(zhuǎn)換電路。8031單片機(jī)和PC機(jī)通過RS232C總線通信接口圖如下:雙機(jī)通信實(shí)驗(yàn)項(xiàng)目1:A機(jī)循環(huán)發(fā)送0、1、2給B機(jī),B機(jī)收到0,對P1.0口線的LED取反,收到1對P1.1口線的LED取反,類推。項(xiàng)目2:利用8279的鍵盤、顯示管理功能,A機(jī)按下8279管理的5個鍵,B機(jī)通過8279管理的數(shù)碼管分別顯示A、B、C、D、E。項(xiàng)目1:發(fā)送機(jī)程序;發(fā)送機(jī)程序

ORG0000HLJMPMAIN

ORG0010HMAIN:LCALLDELAYLCALLINITSYSMOV20H,#00HLOOP:LCALLSENDLCALLDELAYINC20HMOVA,20HCJNEA,#03H,LOOPMOV20H,#00HAJMPLOOPSJMP$

;發(fā)送子程序

SEND:MOVA,20HCLRTIMOVSBUF,AJNBTI,$RET;串口初始化程序INITSYS:MOVSCON,#50HMOVTMOD,#20HMOVTH1,#0F3HMOVTL1,#0F3HMOVPCON,#00H;SMOD=0SETBTR1CLREARET;延時子程序DELAY:MOVR6,#00HLOOP1:MOVR7,#00HDJNZR7,$DJNZR6,LOOP1RET

項(xiàng)目1:接收機(jī)程序

ORG0000HLJMPMAINORG0023HRECEIVE:CLRRIMOVA,SBUFP10:CJNEA,#00H,P11CPLP1.0AJMPBACKP11:CJNEA,#01H,P12CPLP1.1AJMPBACKP12:CPLP1.2BACK:RETIORG0200HMAIN:MOVR0,#0FFHDJNZR0,$LCALLINITSYSSJMP$INITSYS:MOVSCON,#50HMOVTMOD,#20HMOVTH1,#0F3HMOVTL1,#0F3HMOVPCON,#00H;SMOD=0SETTR1SETBEASETBESRET7-3-2多機(jī)通信接口教學(xué)目標(biāo)教學(xué)要求:掌握多機(jī)通信的原理及實(shí)現(xiàn)過程,能設(shè)計簡單的多機(jī)通信系統(tǒng)及程序。本節(jié)重點(diǎn):多機(jī)通信原理本節(jié)難點(diǎn):SM2、TB8、RB8在通信過程中的作用多機(jī)通信的應(yīng)用領(lǐng)域典型應(yīng)用:校園卡系統(tǒng)、智能樓宇、自動溫控蔬菜大棚、大型糧庫、工廠自動化;1#打卡機(jī)2#打卡機(jī)3#打卡機(jī)……n#打卡機(jī)1.MCS-51多機(jī)通信原理串行口控制寄存器SCON中的SM2為多機(jī)通信接口控制位。串行口工作于方式2或3。

SM2------多機(jī)通信位;

TB8/RB8----地址/數(shù)據(jù)區(qū)分位;若SM2為1,則僅當(dāng)接收到的第9位數(shù)據(jù)RB8為1時,數(shù)據(jù)才裝入SBUF,置位RI,請求CPU對數(shù)據(jù)進(jìn)行處理;如果接收到的第9位數(shù)據(jù)RB8為0,則不產(chǎn)生中斷標(biāo)志RI,信息丟失,CPU不做任何處理。當(dāng)SM2為0時,則接收到一個數(shù)據(jù)后,不管第9位數(shù)據(jù)RB8是0還是1,都將數(shù)據(jù)裝入接收緩沖器SBUF并置位中斷標(biāo)志RI,請求CPU處理。關(guān)鍵是SM2與TB8、RB8的關(guān)系!SM2、RB8與從機(jī)動作關(guān)系SM2RB8從機(jī)動作10此時不能接收數(shù)據(jù)11能收到主機(jī)發(fā)的數(shù)據(jù)(地址信息)00進(jìn)入串口中斷,對接收的數(shù)據(jù)進(jìn)行處理01進(jìn)入串口中斷,對接收的數(shù)據(jù)進(jìn)行處理通信過程所有從機(jī)的SM2=1,處于只接收地址幀狀態(tài)所有同學(xué)坐著聽講主機(jī)發(fā)地址信息,以第9位TB8=1表示發(fā)送的是地址老師喊同學(xué)名字從機(jī)接收到地址幀后與本機(jī)地址比較所有同學(xué)聽到名字與自己的名字比較被尋址從機(jī)SM2=0,其作從機(jī)SM2=1不變名字相符的同學(xué)站起來主機(jī)發(fā)數(shù)據(jù)信息,對已被尋址的從機(jī)因SM2=0,可以接收主機(jī)發(fā)來的信息。其余從機(jī)因SM2=1不理睬主機(jī)。老師與站起的同學(xué)進(jìn)行提問回答課堂交流被尋址的從機(jī)SM2置1.主機(jī)可另發(fā)地址幀與其它從機(jī)通信時?;卮饐栴}的同學(xué)坐下多機(jī)通信動畫演示2.多機(jī)通信系統(tǒng)設(shè)計

設(shè)多機(jī)通信系統(tǒng)主、從機(jī)晶振為6MHz,波特率為2400bps,以方式3進(jìn)行多機(jī)串行通信。每次通信時主機(jī)先發(fā)送對應(yīng)的從機(jī)地址,然后發(fā)一個字節(jié)數(shù)據(jù)。RS-485從機(jī)0#主機(jī)

RS-485……RS-485從機(jī)1#RS-485從機(jī)n#圖1多機(jī)通信系統(tǒng)硬件結(jié)構(gòu)主機(jī)軟件設(shè)計----初始化子程序INIT:MOV TMOD,#20HMOVTH1,#0F9H;波特率為2400bpsMOVTL1,#0F9HMOVSCON,#0F0H;方式3,SM2=1,允許接收

SETB

TR1RET主機(jī)軟件設(shè)計-----通信子程序流程返回置地址信息標(biāo)志發(fā)地址置數(shù)據(jù)信息標(biāo)志發(fā)數(shù)據(jù)開始圖2主機(jī)通信子程序流程圖從機(jī)軟件設(shè)計-------初始化程序INIT:MOV TMOD,#20H

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論