《單片機(jī)系統(tǒng)設(shè)計(jì)及工程應(yīng)用》課件第5章_第1頁(yè)
《單片機(jī)系統(tǒng)設(shè)計(jì)及工程應(yīng)用》課件第5章_第2頁(yè)
《單片機(jī)系統(tǒng)設(shè)計(jì)及工程應(yīng)用》課件第5章_第3頁(yè)
《單片機(jī)系統(tǒng)設(shè)計(jì)及工程應(yīng)用》課件第5章_第4頁(yè)
《單片機(jī)系統(tǒng)設(shè)計(jì)及工程應(yīng)用》課件第5章_第5頁(yè)
已閱讀5頁(yè),還剩120頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

5.1基本概念5.251系列單片機(jī)串行通信接口5.3串行口應(yīng)用實(shí)例5.4RS-232C串行總線及應(yīng)用習(xí)題5計(jì)算機(jī)數(shù)據(jù)通信是計(jì)算機(jī)科學(xué)與通信技術(shù)的有機(jī)結(jié)合,是現(xiàn)代控制系統(tǒng)的重要組成部分。就通信技術(shù)的實(shí)際應(yīng)用而言,常見(jiàn)的通信方式有以下幾類(lèi):

(1)按通信對(duì)象數(shù)量的不同,通信方式可分為點(diǎn)到點(diǎn)通信、一點(diǎn)到多點(diǎn)通信和多點(diǎn)到多點(diǎn)通信3種方式。

5.1基本概念

(2)按通信終端之間的連接方式可劃分為兩點(diǎn)間直通方式和交換方式。直通方式是通信雙方直接用專(zhuān)線連接;而交換方式是通信雙方必須經(jīng)過(guò)交換機(jī)才能連接起來(lái)的一種通信方式,如電話系統(tǒng)。

(3)按數(shù)字信號(hào)傳輸?shù)捻樞颍跀?shù)據(jù)通信中(主要指計(jì)算機(jī)通信),通信方式又有串行通信與并行通信之分。

1.并行通信

并行通信中的數(shù)據(jù)在整個(gè)傳輸過(guò)程中并排前進(jìn),有多少個(gè)數(shù)據(jù)線就能同時(shí)傳送多少位數(shù)據(jù)。

并行通信的特點(diǎn)是硬件連線多、傳輸速率高,一般適用于近距離、高速率的通信領(lǐng)域。

例如,計(jì)算機(jī)主板與硬盤(pán)、計(jì)算機(jī)與打印機(jī)等之間的通信。圖5.1(a)是并行通信示意圖。

2.串行通信

串行通信中的數(shù)據(jù)在傳輸過(guò)程中一位一位地串行傳輸,硬件連接比較簡(jiǎn)單。最簡(jiǎn)單時(shí)只需3根連線即可實(shí)現(xiàn)串行通信,相對(duì)于并行通信來(lái)講,其通信速率低,一般適用于短距離數(shù)據(jù)通信。在單片機(jī)應(yīng)用系統(tǒng)中常采用串行通信方式。圖5.1(b)是串行通信示意圖。

在串行通信中,按同步方式的不同,又分為同步通信和異步通信。圖5.1并行通信與串行通信(a)并行通信;(b)串行通信

3.異步通信

異步通信(AsynchronousCommunication)中的數(shù)據(jù)通常是以字符為單位組成字符幀傳送的。字符幀由發(fā)送端一幀一幀地發(fā)送,一幀數(shù)據(jù)低位在前,高位在后,通過(guò)傳輸線被接收端一幀一幀地接收。發(fā)送端和接收端可以由各自獨(dú)立的時(shí)鐘來(lái)控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè)時(shí)鐘彼此獨(dú)立,互不同步。接收端是依靠字符幀格式來(lái)判斷發(fā)送端是何時(shí)開(kāi)始發(fā)送,何時(shí)結(jié)束發(fā)送的,其基本特征是每個(gè)字符必須用起始位和停止位作為字符開(kāi)始和結(jié)束的標(biāo)志。字符幀格式是異步通信的一個(gè)重要指標(biāo)。

1)字符幀

字符幀(CharacterFrame)也叫字符格式或數(shù)據(jù)幀。它由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位等4部分組成,如圖5.2所示。圖5.2串行異步傳送的字符格式(a)無(wú)空閑位的字符格式;(b)有空閑位的字符格式

(1)起始位:位于字符幀開(kāi)頭,只占一位,為邏輯0,低電平。用起始位表示發(fā)送端開(kāi)始發(fā)送一幀數(shù)據(jù)信號(hào),它是字符幀的起始標(biāo)志。

(2)數(shù)據(jù)位:緊跟起始位之后,用戶(hù)根據(jù)情況可設(shè)置數(shù)據(jù)位為5位、6位、7位或8位,低位在前高位在后。

(3)奇偶校驗(yàn)位:位于數(shù)據(jù)位之后,僅占1位,用來(lái)作為一幀數(shù)據(jù)的奇/偶校驗(yàn)位。

(4)停止位:位于字符幀最后,為邏輯1,高電平。通??稍O(shè)置停止位為1位、1.5位或2位,用于向接收端表示一幀字符信息已經(jīng)發(fā)送完畢,是字符幀的結(jié)束標(biāo)志。

例如,設(shè)定串行傳送的字符格式為:1位起始位、8位數(shù)據(jù)位、1位偶校驗(yàn)位和1位停止位。用該格式分別串行傳送字符“B”和“C”的字符幀結(jié)構(gòu)如圖5.3所示。圖5.3“B”和“C”的字符幀結(jié)構(gòu)(a)“B”的字符幀結(jié)構(gòu);(b)“C”的字符幀結(jié)構(gòu)字符“B”的ASCII碼為1000010B,發(fā)送的8位數(shù)據(jù)位為01000010B,采用偶校驗(yàn),所以校驗(yàn)位為0。

字符“C”的ASCII碼為1000011B,發(fā)送的8位數(shù)據(jù)位為01000011B,采用偶校驗(yàn),由于1的個(gè)數(shù)為奇數(shù),所以校驗(yàn)位為1。

2)波特率

波特率(BaudRate)是指信號(hào)傳輸?shù)乃俾?,是?shù)據(jù)通信的一個(gè)重要指標(biāo)。波特率指每秒傳送二進(jìn)制碼元的位數(shù),單位為b/s,即位/秒。波特率用于表征數(shù)據(jù)傳輸?shù)乃俾?,波特率越高,?shù)據(jù)傳輸速率也越高。

單片機(jī)應(yīng)用系統(tǒng)通常采用串行異步通信方式。通信時(shí)要求發(fā)送端與接收端的波特率必須一致,波特率一般為50~9600b/s。

4.同步通信

同步通信(SynchronousCommunication)是將一大批數(shù)據(jù)分成若干個(gè)數(shù)據(jù)塊,數(shù)據(jù)塊之間用同步字符隔開(kāi),而傳輸?shù)母魑欢M(jìn)制碼之間都沒(méi)有間隔。其基本特征是發(fā)送端與接收端通信時(shí)保持嚴(yán)格同步,即同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳輸一幀信息。這里的信息幀和異步通信的字符幀不同,其數(shù)據(jù)塊通常由若干個(gè)數(shù)據(jù)字符組成,如圖5.4所示。圖5.4(a)為單同步字符幀結(jié)構(gòu),圖5.4(b)

為雙同步字符幀結(jié)構(gòu)。其一幀由同步字符、數(shù)據(jù)字符和校驗(yàn)字符3部分組成。在同步通信中,同步字符可以采用統(tǒng)一的標(biāo)準(zhǔn)格式,也可以由用戶(hù)約定。圖5.4同步通信的格式(a)單同步字符幀結(jié)構(gòu);(b)雙同步字符幀結(jié)構(gòu)

5.串行通信數(shù)據(jù)傳送的3種方式

根據(jù)信號(hào)傳輸方向與傳輸時(shí)間的不同,串行通信有3種通信方式:?jiǎn)喂ねㄐ?、半雙工通信和全雙工通信,如圖5.5所示。圖5.5串行通信數(shù)據(jù)傳送的3種方式單工通信(SimplexCommunication):在任何一個(gè)時(shí)刻,信號(hào)只能從甲方向乙方單向傳輸,甲方只能發(fā)信,乙方只能收信。比如廣播電臺(tái)與收音機(jī)、電視臺(tái)與電視機(jī)的通信(點(diǎn)到多點(diǎn))、遙控玩具、航模(點(diǎn)到點(diǎn))、尋呼系統(tǒng)等均屬此類(lèi)。

半雙工通信(HalfDuplexCommunication):在任何一個(gè)時(shí)刻,信號(hào)只能單向傳輸,或從甲方傳向乙方,或從乙方傳向甲方,但不能同時(shí)雙向傳送。比如對(duì)講機(jī)、收發(fā)報(bào)機(jī)以及問(wèn)詢(xún)、檢索等之間的通信。

全雙工通信(FullDuplexCommunication):在任一時(shí)刻,信號(hào)能夠雙向傳輸,每一方都能同時(shí)進(jìn)行收信與發(fā)信。比如普通電話、手機(jī)、RS-232C通信接口等。5.2.1串行口組成及相關(guān)寄存器

51單片機(jī)串行接口主要由串行口數(shù)據(jù)緩沖器SBUF、串行口控制寄存器SCON、對(duì)外接口TXD、RXD及相關(guān)控制電路等組成,其內(nèi)部結(jié)構(gòu)如圖5.6所示。串行通信時(shí),不僅與SBUF和SCON寄存器有關(guān),還會(huì)涉及到電源控制寄存器PCON、定時(shí)器控制寄存器TCON及中斷允許寄存器IE等相關(guān)寄存器。5.251系列單片機(jī)串行通信接口

圖5.6串行通信口內(nèi)部結(jié)構(gòu)框圖

1.串行口數(shù)據(jù)緩沖器SBUF

SBUF是兩個(gè)在物理上獨(dú)立的接收、發(fā)送寄存器,一個(gè)用于存放接收到的數(shù)據(jù),另一個(gè)用于存放欲發(fā)送的數(shù)據(jù),可同時(shí)發(fā)送和接收數(shù)據(jù)。兩個(gè)緩沖器共用一個(gè)地址99H,通過(guò)對(duì)SBUF的讀、寫(xiě)指令來(lái)區(qū)別是對(duì)接收緩沖器還是發(fā)送緩沖器操作。CPU在寫(xiě)SBUF時(shí),就是修改發(fā)送緩沖器;讀SBUF就是讀接收緩沖器的內(nèi)容。接收或發(fā)送數(shù)據(jù),是通過(guò)串行口對(duì)外的兩條獨(dú)立收發(fā)信號(hào)線RXD(P3.0)、TXD(P3.1)來(lái)實(shí)現(xiàn)的,因此可以同時(shí)發(fā)送、接收數(shù)據(jù),其工作方式為全雙工方式。

2.串行口控制寄存器SCON

串行口控制寄存器SCON用來(lái)控制串行口的工作方式和狀態(tài),其地址為98H,可進(jìn)行位尋址。單片機(jī)復(fù)位時(shí),SCON的所有位全為0。串行口控制寄存器SCON的格式如下:

SM0、SM1:由軟件設(shè)置,用于選擇串行口的工作方式,可以設(shè)置4種工作方式(見(jiàn)表5.1,具體內(nèi)容將在5.2.2節(jié)詳細(xì)介紹)。表5.1串行口的工作方式

SM2:多機(jī)通信控制位。在方式2和方式3中,若SM2=1,則接收到的第9位數(shù)據(jù)(RB8)為0時(shí)不啟動(dòng)接收中斷標(biāo)志RI(即RI=0),并且將接收到的前8位數(shù)據(jù)丟棄;RB8為1時(shí),才將接收到的前8位數(shù)據(jù)送入SBUF,并置位RI,產(chǎn)生中斷請(qǐng)求。若SM2=0,則不論第9位數(shù)據(jù)為0或1,都將接收到的前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷請(qǐng)求。在方式0時(shí),SM2必須為0。

REN:串行接收允許控制位。若REN=0,則禁止接收;若REN=1,則允許接收,該位由軟件設(shè)置。

TB8:發(fā)送數(shù)據(jù)D8位。在方式2和方式3時(shí),TB8為所要發(fā)送的第9位信息。在多機(jī)通信中,以TB8位的狀態(tài)表示主機(jī)發(fā)送的是地址還是數(shù)據(jù):若TB8=1,表示主機(jī)發(fā)送的是地址信息。若TB8=0,表示主機(jī)發(fā)送的是數(shù)據(jù)信息;也可用TB8作為數(shù)據(jù)的奇偶校驗(yàn)位。在通信規(guī)約中應(yīng)明確約定。

RB8:接收數(shù)據(jù)D8位。在方式2和方式3時(shí),接收到的第9位信息。RB8可作為地址信息或數(shù)據(jù)信息的標(biāo)志或奇偶校驗(yàn)位。方式1時(shí),若SM2=0,則RB8為接收到的停止位。在方式0時(shí),不使用RB8位。

TI:發(fā)送中斷標(biāo)志位。方式0時(shí),當(dāng)發(fā)送數(shù)據(jù)第8位結(jié)束后,或其他方式發(fā)送停止位后,即將一幀數(shù)據(jù)發(fā)送完畢,由內(nèi)部硬件置位TI,向CPU請(qǐng)求中斷。CPU響應(yīng)中斷后,必須用軟件把TI清0。此外,TI也可供程序查詢(xún)。

RI:接收中斷標(biāo)志位。方式0時(shí),當(dāng)接收數(shù)據(jù)的第8位結(jié)束后,或其他方式接收到停止位,即已完成一幀數(shù)據(jù)的接收,由內(nèi)部硬件置位RI,向CPU請(qǐng)求中斷。同樣,CPU響應(yīng)中斷后,也必須用軟件把RI清0。RI也可供程序查詢(xún)。

3.電源控制寄存器PCON

PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專(zhuān)用寄存器,不可以位尋址,字節(jié)地址為87H。在CHMOS的8051單片機(jī)中,PCON除了最高位以外,其他位都是虛設(shè)的。

電源控制寄存器的格式如下:5.2.2串行口的工作方式

51系列單片機(jī)的串行口有4種工作方式,通過(guò)SCON中的SM0、SM1位來(lái)設(shè)置。

1.方式0──同步移位寄存器方式

若SM0SM1=00B,則串行口工作于方式0,這時(shí)串行口作同步移位寄存器使用。這種方式常用于擴(kuò)展I/O端口,一般外接移位寄存器,實(shí)現(xiàn)數(shù)據(jù)串/并轉(zhuǎn)換。串行數(shù)據(jù)從RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)送出,其波特率固定為fosc/12。

1)方式0發(fā)送

當(dāng)一個(gè)數(shù)據(jù)寫(xiě)入串行口發(fā)送緩沖器SBUF時(shí),串行口將8位數(shù)據(jù)以fosc/12的波特率從RXD引腳輸出(低位在前,高位在后),發(fā)送完置中斷標(biāo)志TI為1,請(qǐng)求中斷。

再次發(fā)送數(shù)據(jù)之前,必須由軟件將TI清0。方式0移位輸出電路圖如圖5.7所示。其中,74LS164為串入并出移位寄存器。圖5.7方式0移位輸出電路圖

2)方式0接收

在滿(mǎn)足REN=1和RI=0的條件下,串行口即開(kāi)始從RXD端以fosc/12的波特率輸入數(shù)據(jù)(低位在前),當(dāng)接收完8位數(shù)據(jù)后,置中斷標(biāo)志RI為1,請(qǐng)求中斷。再次接收數(shù)據(jù)之前,必須由軟件將RI清0。方式0移位輸入電路圖如圖5.8所示。其中,74LS165為并入串出移位寄存器。圖5.8方式0移位輸入電路圖串行口控制寄存器SCON中的TB8和RB8在方式0中未用。值得注意的是,每當(dāng)發(fā)送或接收完8位數(shù)據(jù)后,硬件會(huì)自動(dòng)置TI或RI為1,CPU響應(yīng)發(fā)送或接收中斷后,

必須由用戶(hù)用指令將TI或RI清0。方式0時(shí),SM2必須為0。

2.方式1──8位異步串行通信方式

若SM0SM1=01B,則串行口工作于方式1。方式1是波特率可變的10位通用異步串行通信方式。發(fā)送或接收一幀信息為10位,其中包括1個(gè)起始位0,8個(gè)數(shù)據(jù)位和1個(gè)停止位1。其幀格式如圖5.9所示。圖5.9串行通信10位幀結(jié)構(gòu)

1)方式1發(fā)送

當(dāng)CPU執(zhí)行一條數(shù)據(jù)寫(xiě)入發(fā)送緩沖器SBUF的指令時(shí),便啟動(dòng)發(fā)送器發(fā)送。發(fā)送時(shí),數(shù)據(jù)從TXD端輸出,當(dāng)發(fā)送完一幀數(shù)據(jù)后,置中斷標(biāo)志TI為1。方式1所傳送的波特率取決于定時(shí)器T1的溢出率和PCON中的SMOD位。

2)方式1接收

若REN=1,RI=0時(shí),允許串口接收數(shù)據(jù)。串行口采樣RXD,當(dāng)采樣到由1到0跳變時(shí),確認(rèn)是起始位“0”,便開(kāi)始接收一幀信息。方式1接收時(shí),必須同時(shí)滿(mǎn)足以下兩個(gè)條件:

(1)RI=0;(2)停止位為1或SM2=0。

則接收到的一幀信息有效,一幀信息中的8位數(shù)據(jù)送入接收緩沖器SBUF,停止位送入串行口控制寄存器SCON的RB8位,同時(shí)置中斷標(biāo)志RI為1;若不滿(mǎn)足上述兩個(gè)條件,則信息將丟失(無(wú)效)。所以,方式1接收時(shí),應(yīng)先用指令清除RI,并設(shè)置SM2=0。

3.方式2──9位異步通信接口

若SM0SM1=10B,則串行口工作于方式2。方式2為波特率固定的11位異步串行通信方式,傳送波特率與SMOD有關(guān)。發(fā)送或接收一幀信息為11位,其中包括1位起始位0,8位數(shù)據(jù)位,1位可編程位(用于奇偶校驗(yàn)或多機(jī)通信)和1位停止位1,其幀格式如圖5.10所示。(波特率設(shè)置將在5.2.3節(jié)介紹)圖5.10串行通信11位幀結(jié)構(gòu)

1)方式2發(fā)送

發(fā)送時(shí),根據(jù)通信協(xié)議由軟件設(shè)置TB8,然后用指令將要發(fā)送的數(shù)據(jù)寫(xiě)入SBUF,啟動(dòng)發(fā)送器。寫(xiě)SBUF的指令,除了將8位數(shù)據(jù)送入SBUF外,同時(shí)還將TB8裝入發(fā)送移位寄存器的第9位,并啟動(dòng)發(fā)送控制器進(jìn)行一次發(fā)送。一幀信息即從TXD發(fā)送出去,在送完一幀信息后,TI被自動(dòng)置1,在發(fā)送下一幀信息之前,TI必須由中斷服務(wù)程序或查詢(xún)程序清0。

2)方式2接收

當(dāng)REN=1時(shí),允許串行口接收數(shù)據(jù)。數(shù)據(jù)由RXD端輸入,當(dāng)接收器采樣到RXD端的負(fù)跳變,并判斷起始位有效后,開(kāi)始接收一幀信息,每幀接收11位信息。方式2接收時(shí),若同時(shí)滿(mǎn)足以下兩個(gè)條件:

(1)RI=0;

(2)SM2=0或接收到的第9位數(shù)據(jù)為1。

則接收數(shù)據(jù)有效,8位數(shù)據(jù)送入SBUF,第9位送入RB8,并置RI=1;若不滿(mǎn)足上述兩個(gè)條件,則信息丟棄。

4.方式3──波特率可變的9位異步通信接口

若SM0SM1=11B,串行口工作于方式3,為波特率可變的11位異步串行通信方式。

除了波特率以外,方式3和方式2完全相同。

5.2.3波特率設(shè)置

在串行通信中,收發(fā)雙方對(duì)傳送的數(shù)據(jù)速率,即波特率必須事先約定。通過(guò)前面的論述,我們已經(jīng)知道,51單片機(jī)的串行口通過(guò)編程可以有4種工作方式。其中,方式0和方式2的波特率是固定的,方式1和方式3的波特率是可變的。

1.方式0和方式2的波特率

方式0的波特率是固定的,波特率是振蕩頻率fosc的12分頻。即

波特率B=

(5.1)

方式2的波特率由振蕩頻率fosc和SMOD(PCON.7)所決定,其對(duì)應(yīng)公式為

波特率B=fosc×

(5.2)

當(dāng)SMOD=0時(shí),波特率為fosc/64;當(dāng)SMOD=1時(shí),波特率為fosc/32。

2.方式1和方式3的波特率

方式1和方式3的波特率由定時(shí)器T1的溢出率和SMOD決定,即由下式確定:

波特率B=定時(shí)器T1的溢出率×

實(shí)際上,當(dāng)定時(shí)器T1作波特率發(fā)生器使用時(shí),通常是工作在方式2,即自動(dòng)重裝載的8位定時(shí)器方式,此時(shí)TL1作計(jì)數(shù)用,自動(dòng)重裝載的值保存在TH1內(nèi)。設(shè)計(jì)數(shù)的預(yù)置值(計(jì)數(shù)初值)為X,那么每過(guò)(256-X)個(gè)機(jī)器周期,定時(shí)器溢出一次。為了避免因溢出而產(chǎn)生不必要的中斷,此時(shí)應(yīng)禁止T1中斷。T1的溢出率為fosc/(12×(256-X)),其波特率為

波特率B=

(5.3)通常在系統(tǒng)設(shè)計(jì)時(shí),大多數(shù)情況是先確定了系統(tǒng)的波特率B,而我們則要根據(jù)系統(tǒng)的波特率B計(jì)算定時(shí)器T1的計(jì)數(shù)初值,由式(5.3)可求出計(jì)數(shù)初值X為

X=256-

(5.4)由式(5.4)可求出不同波特率所對(duì)應(yīng)的定時(shí)器T1的計(jì)數(shù)初值,如表5.2所示。表5.2定時(shí)器T1產(chǎn)生的常用波特率(fosc=6MHz)

例如,設(shè)串行通信口工作于方式1,波特率B=9.6Kb/s,SMOD=1,fosc

=6MHz,求T1的初值X。

只要將以上值代入式(5.4)即可求得X=252.75≈253=FDH。其中,253-252.75=0.25就是初值誤差,會(huì)引起波特率誤差。實(shí)際應(yīng)用時(shí),若誤差影響到通信效果,則可通過(guò)

精選晶振頻率來(lái)減小誤差。

3.波特率誤差及選擇

波特率是串行通信中的一個(gè)重要參數(shù),理想情況下,通信雙方的波特率應(yīng)該完全一致,波特率的一致性直接影響數(shù)據(jù)傳輸?shù)恼_性。但在實(shí)際情況下,由于時(shí)鐘振蕩頻率、系統(tǒng)參數(shù)設(shè)置等不會(huì)完全一致,因此通信雙方的波特率也就不可能達(dá)到完全一致。

一般情況下,對(duì)于11位的串行數(shù)據(jù)幀(帶奇偶校驗(yàn)位),通信雙方波特率的最大誤差不應(yīng)超過(guò)4.5%。由波特率的計(jì)算方法可知,當(dāng)系統(tǒng)時(shí)鐘為6MHz時(shí),通信口采用方式1要產(chǎn)生的波特率為B=4800b/s,定時(shí)器T1為方式2,SMOD=0,此時(shí)T1的初值X為

X=28

≈252.75

由于X必須是整數(shù),四舍五入后初值取X=253(FDH),實(shí)際的波特率為

B=

≈5208b/s波特率誤差為

ΔB=

當(dāng)用6MHz晶振設(shè)定1200b/s的波特率時(shí),其誤差僅為0.1%。而使用11.059MHz晶振時(shí),設(shè)定各標(biāo)準(zhǔn)波特率誤差都很小。這也是在系統(tǒng)設(shè)計(jì)時(shí),對(duì)于要和其他系統(tǒng)(設(shè)備)通信的單片機(jī)應(yīng)用系統(tǒng),選用晶體振蕩器時(shí)要考慮的一個(gè)重要因素。

在51系列單片機(jī)之間進(jìn)行串行通信時(shí),若各單片機(jī)的晶振和定時(shí)常數(shù)相同,盡管實(shí)際波特率可能與設(shè)定值有一定誤差,但通信雙方之間的誤差很小。這只是由于晶振頻率誤

差引起的,并不影響正常通信。當(dāng)單片機(jī)之間的晶振頻率和定時(shí)常數(shù)不同或單片機(jī)與其他設(shè)備(DSP處理器、PC機(jī)等)之間進(jìn)行串行通信時(shí),就必須考慮波特率誤差問(wèn)題了。為了滿(mǎn)足通信波特率的要求,可能要選用特殊晶振頻率,或者采用非標(biāo)準(zhǔn)波特率。表5.3列出了使用6MHz晶振時(shí),誤差較小的波特率。表5.3供選擇的部分非標(biāo)準(zhǔn)波特率(SMOD=0)

4.波特率的自動(dòng)檢測(cè)

在分布式多波特率通信系統(tǒng)中,常常要求從設(shè)備在軟件上能做到波特率隨主設(shè)備自動(dòng)調(diào)整,使系統(tǒng)適應(yīng)性更強(qiáng),智能化程度更高。當(dāng)然,一般情況下,波特率自動(dòng)檢測(cè)的范圍僅限于標(biāo)準(zhǔn)波特率。常用實(shí)現(xiàn)波特率自動(dòng)檢測(cè)的方法有3種:

(1)從設(shè)備啟動(dòng)通信程序后,逐一選擇標(biāo)準(zhǔn)波特率,向主設(shè)備發(fā)送某個(gè)事先約定的握手代碼,直到收到主設(shè)備發(fā)回的確認(rèn)碼,即可判定通信波特率。

(2)利用串行異步通信每一幀起始位為低電平、停止位為高電平,用定時(shí)器記錄每幀長(zhǎng)度,從而判定系統(tǒng)通信波特率。

(3)利用主設(shè)備發(fā)送某一特殊碼型,從設(shè)備收到的碼值會(huì)隨主設(shè)備的波特率不同而不同,當(dāng)從機(jī)收到約定的特殊碼型時(shí),便可確認(rèn)系統(tǒng)的通信波特率。5.2.4多機(jī)通信

51系列單片機(jī)的多機(jī)通信通常采用主從式多機(jī)通信方式。在主從式多機(jī)系統(tǒng)中,有一臺(tái)主機(jī),多臺(tái)從機(jī),利用這種方式可以構(gòu)成各種分布式控制系統(tǒng),其系統(tǒng)結(jié)構(gòu)如圖5.11所示。其中,n個(gè)從機(jī)各有惟一的一個(gè)地址碼,地址碼是識(shí)別從機(jī)身份的標(biāo)志。主機(jī)發(fā)出的信息可以傳送到各個(gè)從機(jī)或傳送到某個(gè)指定的從機(jī),而從機(jī)發(fā)出的信息只能被主機(jī)接收。圖5.11主從式多機(jī)通信系統(tǒng)多機(jī)通信中,要保證主機(jī)與從機(jī)間進(jìn)行可靠的通信,通信接口必須具有從機(jī)身份的識(shí)別功能。串行口控制寄存器SCON中的SM2位就是為滿(mǎn)足這一要求而設(shè)置的多機(jī)通信控制位。串行口以方式2或方式3實(shí)現(xiàn)多機(jī)通信,主機(jī)發(fā)出的信息有兩類(lèi),一類(lèi)為地址信息,用來(lái)確定需要和主機(jī)通信的從機(jī),其特征是主機(jī)串行傳送的第9位信息TB8為1,即主機(jī)令TB8=1呼叫從機(jī);另一類(lèi)是數(shù)據(jù)信息,特征是串行傳送的第9位信息TB8為0,實(shí)現(xiàn)主從間的數(shù)據(jù)傳輸。對(duì)從機(jī)來(lái)說(shuō),也要利用SCON寄存器中的SM2位的控制功能來(lái)區(qū)分地址信息和數(shù)據(jù)信息。在接收時(shí),令RI=0,若SM2為1,則僅當(dāng)接收到的第9位信息RB8為1時(shí),接收到的一幀信息才有效,接收到的數(shù)據(jù)才裝入SBUF,置位RI,請(qǐng)求CPU對(duì)主機(jī)發(fā)出的信息進(jìn)行處理。若SM2為1,接收到的第9位信息RB8為0時(shí),則接收到的一幀信息無(wú)效。若從機(jī)令SM2為0,則接收到一個(gè)數(shù)據(jù)后,不管第9位信息RB8是0還是1,都將數(shù)據(jù)裝入接收緩沖器SBUF,并置位中斷標(biāo)志RI,請(qǐng)求CPU處理。因此,對(duì)于從機(jī)來(lái)說(shuō),在接收地址時(shí),應(yīng)使SM2=1,以便接收到主機(jī)發(fā)來(lái)的地址碼,從而確定主機(jī)是否打算和從機(jī)通信。一經(jīng)確認(rèn)后,從機(jī)應(yīng)使SM2=0,以便接收數(shù)據(jù)或識(shí)別下一個(gè)地址碼。主從式多機(jī)通信的一般過(guò)程如下:

(1)使所有從機(jī)的SM2位置1(此時(shí),所有的從機(jī)處于監(jiān)聽(tīng)狀態(tài)),以便接收主機(jī)發(fā)來(lái)的地址碼。

(2)主機(jī)發(fā)出一幀地址信息,其中包括8位需要與之通信的從機(jī)地址碼,第9位信息TB8為1。

(3)所有從機(jī)接收到地址幀后,各自將所接收到的地址與本機(jī)地址相比較,若與本機(jī)地址相同,則該從機(jī)便使SM2位清0以接收主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)信息;對(duì)于地址不符合的從機(jī),仍保持SM2=1的狀態(tài)(仍處于監(jiān)聽(tīng)狀態(tài)),對(duì)主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)不予理睬,直至主機(jī)發(fā)送一個(gè)新的地址幀。

(4)主機(jī)給已被尋址的從機(jī)發(fā)送控制指令和數(shù)據(jù)(數(shù)據(jù)幀的第9位為0)。前面介紹了串行通信口的基礎(chǔ)知識(shí),為了讀者對(duì)串行通信口應(yīng)用有一個(gè)全面了解,在此對(duì)串行通信口的應(yīng)用過(guò)程中要做的工作進(jìn)行簡(jiǎn)要?dú)w納。

5.3串行口應(yīng)用實(shí)例

(1)確定通信規(guī)約,通信雙方要明確約定以下內(nèi)容:

通信方式——明確采用何種通信方式、幀結(jié)構(gòu)、各位含義等。

通信速率——通常規(guī)定通信波特率。

校驗(yàn)方式——確定傳輸數(shù)據(jù)的校驗(yàn)方式。通常采用奇/偶校驗(yàn),同步傳輸時(shí)有縱校驗(yàn)、橫校驗(yàn)等。

回送信息——傳輸信息被確認(rèn)后,向?qū)Ψ交厮秃畏N信

代碼含義——傳輸1幀數(shù)據(jù)中各個(gè)代碼的含義。

(2)確定相關(guān)器寄存器的值(各寄存器的具體設(shè)定方法在前面已作了詳細(xì)介紹)。

①串行口控制寄存器SCON。

②電源控制寄存器PCON的PCON.7,波特率加倍系數(shù)位SMOD。

③對(duì)于方式1、方式3要設(shè)置波特率,實(shí)際上就是設(shè)置定時(shí)器T1為方式2,相關(guān)的寄存器有:定時(shí)器/計(jì)數(shù)器方式寄存器TMOD、定時(shí)器/計(jì)數(shù)器控制寄存器TCON及初值寄存器TH1、TL1。定時(shí)器T1初值X可用式(5.4)計(jì)算。

(3)編寫(xiě)程序,按照以上確定的各寄存器的值對(duì)串行口初始化。并編寫(xiě)中斷服務(wù)程序。5.3.1利用串行口擴(kuò)展LED顯示器

單片機(jī)中并行口總是有限的,根據(jù)需要可用串行口擴(kuò)展并行口。在此,利用串行口擴(kuò)展一個(gè)8位LED顯示器,硬件電路如圖5.12所示。圖中串行口工作在方式0,串行數(shù)據(jù)從RXD(P3.0)端輸出。74LS164是一個(gè)串行輸入并行輸出的8位移位寄存器,其引腳1和2是串行數(shù)據(jù)輸入端;引腳3~6和10~13是并行數(shù)據(jù)的輸出端,每個(gè)74LS164的輸出端Q7~Q0各驅(qū)動(dòng)一個(gè)共陰極LED顯示器;CLR是74LS164的清0端,

由P1.6提供清0信號(hào),當(dāng)CLR為0時(shí),Q7~Q0輸出為0,8個(gè)LED顯示空白字符;同步移位脈沖由TXD(P3.1)送出,P1.7=1時(shí)允許74LS164串行接收數(shù)據(jù),其波特率固定為fosc/12。圖5.12擴(kuò)展一個(gè)8位LED顯示器

ORG0000

LJMPSTART

ORG0100

START:MOVSCON,#00H;串行口工作在方式0

MOVR7,#08H ;R7為計(jì)數(shù)器,顯示8個(gè)字符MOVR0,#77H ;R0指向DISBUF的末地址

LCALLDISP ;調(diào)用顯示子程序DISP:CLRP1.6 ;清顯示器 SETBP1.6 SETBP1.7;允許74LS164串行接收數(shù)據(jù)

DISP1:MOVA,@R0;取顯示字符

MOVDPTR,#TABL

MOVCA,@A+DPTR;查表獲得顯示碼

MOVSBUF,A ;串行發(fā)送DISP2:JNBTI,DISP2;等待發(fā)送完畢

CLRTI ;發(fā)送完畢則清中斷標(biāo)志

DECR0 ;R0指向下一字符

DJNZR7,DISP1

CLRP1.7 ;禁止74LS164接收數(shù)據(jù)

RET

TABL:DB3FH,06H,5BH,4FH,66H,6DH,7DH,

07H;0~F的顯示碼

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H5.3.2利用串行口輸入開(kāi)關(guān)量

用AT89C51的串行口外接74LS165移位寄存器擴(kuò)展8位開(kāi)關(guān)量輸入端口,輸入數(shù)據(jù)由8個(gè)開(kāi)關(guān)S7~S0提供,電路如圖5.13所示。74LS165是8位并入/串入移位寄存器,當(dāng)控制端SHIFT/LOAD為0時(shí),165并行裝入S0~S7提供的數(shù)據(jù);當(dāng)SHIFT/LOAD為1時(shí),在時(shí)鐘CK的作用下H~A依次由QH端移位輸出。CP為時(shí)鐘禁止控制端,高電平禁止,DS為數(shù)據(jù)串輸入端,在此未用。圖5.13用串行口輸入開(kāi)關(guān)量當(dāng)CPU需要輸入S7~S0提供的數(shù)據(jù)時(shí),將串行口設(shè)置為方式0(SM0SM1=00B)啟動(dòng)串行口,串行輸入8位開(kāi)關(guān)量,然后根據(jù)開(kāi)關(guān)S7~S0的功能轉(zhuǎn)向不同的處理程序,參考程序如下:

START:;必要時(shí)啟動(dòng)串行口

CLRP1.0;SHIFT/LOAD=0,74LS165并行裝入

;數(shù)據(jù)S0~S7

STEBP1.0 ;SHIFT/LOAD=1,允許74LS165串行

;移位

MOVSCON,#10H;設(shè)置串行口方式0,REN=1允

;許接收

JNBRI,$ ;查詢(xún)RI

CLRRI ;查詢(xún)結(jié)束,清RI

MOVA,SBUF ;輸入數(shù)據(jù)

;S7~S0的功能處理程序

JBACC.0,KEY0 ;轉(zhuǎn)向S0的處理程序

JBACC.1,KEY1;轉(zhuǎn)向S1的處理程序

5.3.3雙機(jī)通信系統(tǒng)

利用串行口可以實(shí)現(xiàn)兩臺(tái)機(jī)器間的全雙工通信。如圖5.14所示,設(shè)甲乙兩臺(tái)機(jī)器按全雙工方式收發(fā)ASCII碼字符,數(shù)據(jù)位為8位,其中最高一位用來(lái)作奇偶校驗(yàn)位,采用偶校驗(yàn)方式,要求傳送的波特率為1200b/s。假設(shè)發(fā)送緩沖區(qū)OUTBUF首址為片內(nèi)RAM60H,接收緩沖區(qū)INBUF首址為RAM70H,時(shí)鐘頻率fosc=6MHz,試編寫(xiě)有關(guān)的通信程序。圖5.14雙機(jī)通信系統(tǒng)

1.確定通信方式

根據(jù)系統(tǒng)要求,通信雙方要相互約定:7位ASCII碼加1位校驗(yàn)位共8位數(shù)據(jù),故可采用串行口方式1進(jìn)行通信。51單片機(jī)的奇偶校驗(yàn)位P是當(dāng)累加器A中“1”的個(gè)數(shù)為奇數(shù)時(shí)P=1,為偶數(shù)時(shí)P=0。直接把P的值放入ASCII碼的最高位(奇偶校驗(yàn)位),即為偶校驗(yàn)方式。

2.計(jì)算定時(shí)器T1的計(jì)數(shù)初值

對(duì)于串行口方式1,波特率由定時(shí)器T1的溢出率和SMOD決定,定時(shí)器T1采用工作方式2,可以避免計(jì)數(shù)溢出后用軟件重裝定時(shí)初值。取SMOD=0,按式(5.4)可求得

計(jì)數(shù)初值X為

X=256-

=256-

=243

=F3H

也可以通過(guò)查表5.2確定X=F3H。

3.確定相關(guān)寄存器參數(shù)

(1)串行口控制寄存器SCON。

SM0、SM1=01時(shí)為方式1,在SM2=0和REN=1條件下,允許接收數(shù)據(jù),其余各位均取0,則SCON)=01010000B=50H。

(2)電源控制寄存器PCON。由于SMOD=0,因此(PCON)=00H(同系統(tǒng)復(fù)位以后的狀態(tài),可不賦值)。

(3)確定定時(shí)器方式寄存器TMOD。由于只用T1,且為定時(shí)方式2,因此(TMOD)=

00100000B=20H。

請(qǐng)注意:串行通信端口的接收中斷RI、發(fā)送中斷TI共用一個(gè)中斷向量(0023H),因此,串行口中斷請(qǐng)求后,中斷服務(wù)程序首先要判斷是RI、TI當(dāng)中的哪個(gè)請(qǐng)求中斷。

4.編寫(xiě)有關(guān)的通信程序

主程序:ORG0000H

LJMPMAIN

ORG0023H;串行中斷入口

LJMPSINOUT

ORG0040HMAIN:MOVTMOD,#20H;定時(shí)器T1設(shè)為方式2

MOVTL1,#0F3H;裝入定時(shí)器初值

MOVTH1,#0F3H;8位重裝值

SETBTR1;啟動(dòng)定時(shí)器T1

MOVSCON,#50H;串行口設(shè)為方

MOVR0,#60H;OUTBUF首址

MOVR1,#70H;INBUF首址

SETBEA;開(kāi)中斷

SETBES;允許串行口中斷

LCALLSOUT;先發(fā)送1個(gè)字符

LJMP$;等待中斷

;中斷服務(wù)程序

SINOUT:JNBRI,SEND;若不是接收,則轉(zhuǎn)向發(fā)送

LCALLSIN;若是接收,則調(diào)用接收子程序RETI;中斷返回

SEND:LCALLSOUT;若是發(fā)送,則調(diào)用發(fā)送子程序RETI;中斷返回

;發(fā)送子程序SOUT:MOVA,@R0;取發(fā)送數(shù)據(jù)到A

MOVC,P;偶校驗(yàn)位賦予C

MOVACC.7,C;送入ASCII碼最高位中

INCR0;修改發(fā)送數(shù)據(jù)指針

MOVSBUF,A;發(fā)送數(shù)據(jù)

CLRTI;清發(fā)送中斷標(biāo)志

RET;子程序返回

;接收子程序SIN:MOVA,SUBF;讀入接收緩沖區(qū)內(nèi)容

JNBP,EXIT;若P=0,則接收正確

ERROR:…

;若P=1,則接收錯(cuò)誤

;出錯(cuò)處理

EXIT:ANLA,#7FH;刪去校驗(yàn)位

MOV@R1,A;存入接收緩沖區(qū)

INCR1;修改接收緩沖區(qū)指針

CLRRI;清接收中斷標(biāo)志

RET;子程序返回對(duì)圖5.14所示的系統(tǒng)也可以用方式2實(shí)現(xiàn)兩臺(tái)機(jī)器間的全雙工通信。在方式2下,串行口為9位UART,發(fā)送或接收一幀數(shù)據(jù)包括1位起始位0,8位數(shù)據(jù)位,1位可編程位(TB8)和1位停止位1。此時(shí),可編程位TB8用于奇偶校驗(yàn)位,發(fā)送子程序直接把PSW中的P標(biāo)志送入串行口控制寄存器SCON的TB8位,作為一幀信息的第9位數(shù)據(jù)一起發(fā)送,接收子程序?qū)邮盏降腞B8進(jìn)行再次校驗(yàn),若接收錯(cuò)誤,則進(jìn)行出錯(cuò)處理。方式2的編程方法與上述過(guò)程相似,主程序完成對(duì)相關(guān)寄存器和中斷系統(tǒng)的初始化后,先調(diào)用發(fā)送子程序,發(fā)完一幀信息后TI被置1,向CPU請(qǐng)求中斷,CPU響應(yīng)中斷后再發(fā)送下一幀信息或接收一幀信息。請(qǐng)讀者完成主程序的編寫(xiě),下面給出的發(fā)送子程序和接收子程序僅供參考:

;發(fā)送子程序

SOUT2:PUSH PSW

PUSH ACC

CLR TI ;清發(fā)送中斷標(biāo)志

MOV A,@R0;取發(fā)送數(shù)據(jù)

MOV C,PMOV TB8,C ;標(biāo)志P送入TB8位

MOV SBUF,A ;發(fā)送數(shù)據(jù)

INC R0 ;修改發(fā)送數(shù)據(jù)指針R0

POP ACC

POP PSW

RET ;子程序返回

;接收子程序SIN2: PUSH PSW

PUSH ACC

CLR RI;清接收中斷標(biāo)志

MOV A,SBUF;讀入接收緩沖區(qū)內(nèi)容

MOV C,P ;取奇偶校驗(yàn)位

JNC S1;P為0,偶校驗(yàn)正確

JNB RB8,ERROR;若兩次校驗(yàn)位不一致,則

;出錯(cuò)

LJMP S2S1:JBRB8,ERROR;若雙方的校驗(yàn)位不一致,則出錯(cuò)

S2:MOV@R1,A ;存入接收緩沖區(qū)

INC R1 ;修改接收緩沖區(qū)指針R1

POP ACC

POP PSW

RET ;子程序返回

;誤碼處理子程序

ERROR:…

;出錯(cuò)處理

RET 5.3.4電流環(huán)在通信系統(tǒng)中的應(yīng)用

在串行通信中,一般用傳輸線上的高低電平表示“1”和“0”,用TTL電平進(jìn)行通信時(shí),有效通信距離短,往往滿(mǎn)足不了工程中的實(shí)際需求。工程應(yīng)用中,為了實(shí)現(xiàn)遠(yuǎn)距離通信,或連接干擾較大的設(shè)備,常常采用20mA的電流環(huán)進(jìn)行串行通信。圖5.15給出了用20mA的電流環(huán)進(jìn)行遠(yuǎn)距離通信的接口電路。圖中,甲方發(fā)送數(shù)據(jù),經(jīng)SN75452進(jìn)行功率放大送往接收方的光電隔離器4N25進(jìn)行光電隔離轉(zhuǎn)換。當(dāng)發(fā)送端數(shù)據(jù)為“1”時(shí),SN75452導(dǎo)通,傳輸線上約有20mA的電流流過(guò),光電隔離器4N25中的發(fā)光管發(fā)光,光敏三極管導(dǎo)通,使得7404輸入為低電平,反相后RXD接收端數(shù)據(jù)為“1”;當(dāng)發(fā)送端數(shù)據(jù)為“0”時(shí),SN75452截止,傳輸線上無(wú)電流流過(guò),光電隔離器4N25中的發(fā)光管不發(fā)光,使得7404輸入為高電平,反相后RXD接收端數(shù)據(jù)為“0”。圖5.15用電流環(huán)進(jìn)行遠(yuǎn)距離通信圖5.15電路中,利用傳輸線上有無(wú)電流流過(guò)表示“1”和“0”,20mA電流環(huán)傳輸線的低阻特性使其對(duì)電氣噪聲不敏感,信號(hào)不易受干擾,不但提高了系統(tǒng)的抗干擾能力,而且能實(shí)現(xiàn)遠(yuǎn)距離通信,是控制系統(tǒng)中常用的電路形式。若對(duì)圖5.15中的電路進(jìn)行適當(dāng)?shù)臄U(kuò)展便可實(shí)現(xiàn)甲乙雙方的雙向通信。需要注意的是,電流環(huán)電路在信號(hào)傳輸過(guò)程中,信號(hào)要進(jìn)行電壓→電流→光→電壓的一連串物理量的轉(zhuǎn)換。這些轉(zhuǎn)換是需要時(shí)間的,因此,在電流環(huán)電路中,一般數(shù)據(jù)的傳輸速率不宜過(guò)高。5.4.1RS-232C總線

RS-232C標(biāo)準(zhǔn)是美國(guó)電子工業(yè)協(xié)會(huì)(EIA)在1969年頒布的一種推薦標(biāo)準(zhǔn),RS是RecommendedStandard的縮寫(xiě)。RS-232C總線的誕生是人們普遍采用公用電話網(wǎng)為媒體進(jìn)行數(shù)據(jù)通信的結(jié)果,也是調(diào)制解調(diào)器商品化的產(chǎn)物。5.4RS-232C串行總線及應(yīng)用

RS-232C總線是一種DTE和DCE間的信號(hào)傳輸線,DTE(DataTerminalEquipment)是數(shù)據(jù)終端設(shè)備的簡(jiǎn)稱(chēng),

DCE(DataCommunicationEquipment)是數(shù)據(jù)通信設(shè)備的簡(jiǎn)稱(chēng)。RS-232C在當(dāng)代微型計(jì)算機(jī)系統(tǒng)中得到了廣泛使用。PC機(jī)通過(guò)25線或9線的D型連接器實(shí)現(xiàn)主機(jī)與RS-232C的連接,連接器的引腳定義如圖5.16所示。圖5.16DB-25/DB-9連接器

RS-232C的標(biāo)準(zhǔn)定義為25條信號(hào)線,引腳定義見(jiàn)表5.4。每條引腳在“符號(hào)”一欄中按第一個(gè)字母分為5類(lèi):A表示地線或公共回線;B表示數(shù)據(jù)線;C表示控制線;

D表示定時(shí)線;S表示次級(jí)信道線。

RS-232C的25條信號(hào)引腳功能如下。表5.4RS-232C各信號(hào)引腳定義

1.本地通信線(6條)

AA和AB:AA為保護(hù)地線,常與機(jī)殼相連,以構(gòu)成屏蔽地;AB為信號(hào)地線,是除保護(hù)地外其他信號(hào)線的測(cè)量基準(zhǔn)點(diǎn)。

BA和BB:BA為發(fā)送數(shù)據(jù)線TXD,數(shù)據(jù)由DTE發(fā)送DCE接收;BB為接收數(shù)據(jù)線RXD,信號(hào)由DCE發(fā)送DTE接收。平時(shí),TXD線始終保持邏輯1(傳號(hào))狀態(tài),只有在發(fā)送數(shù)

據(jù)時(shí)才有可能變?yōu)檫壿?(空號(hào))狀態(tài)。RXD線在不發(fā)送數(shù)據(jù)的全部時(shí)間里以及發(fā)送數(shù)據(jù)的間隔期內(nèi),也始終保持邏輯1(傳號(hào))狀態(tài)。

CA和CB:CA為請(qǐng)求發(fā)送線RTS,由DTE發(fā)送DCE接收;CB為允許發(fā)送線CTS,由DCE發(fā)送DTE接收。這一對(duì)線主要用于DTE詢(xún)問(wèn)DCE對(duì)信道的連接狀況。當(dāng)DTE需要發(fā)送數(shù)據(jù)時(shí),它就使RTS變?yōu)檫壿?有效,用于請(qǐng)求DCE去接通通信鏈路。一旦DCE和通信鏈路接通,DCE就使CTS變?yōu)檫壿?有效,通知DTE可以在TXD線上發(fā)送數(shù)據(jù)了。

上述6條線通??梢詫?shí)現(xiàn)本地微型計(jì)算機(jī)系統(tǒng)間的串行通信,故常稱(chēng)之為本地通信線。這類(lèi)通信的距離短,DCE可以采用零調(diào)制解調(diào)器或一般的Modem,不需另附數(shù)據(jù)通信設(shè)備。

2.遠(yuǎn)程通信線(7條)

CD:為數(shù)據(jù)終端就緒線DTR。DTR由DTE發(fā)出DCE接收,用于表示數(shù)據(jù)終端(DTE)的狀態(tài)。若DTR=1,則表示DTE準(zhǔn)備就緒;若DTR=0,表示DTE尚未準(zhǔn)備就緒。通常,

DTE在加電啟動(dòng)后就準(zhǔn)備就緒了。

CC:為數(shù)據(jù)裝置就緒線DSR,由DCE發(fā)出DTE接收,是DTE的應(yīng)答線,用于表示DCE中數(shù)據(jù)裝置的狀態(tài)。若DSR=1,則表示DCE的數(shù)據(jù)設(shè)備已準(zhǔn)備好(如自動(dòng)呼叫成功),但DCE是否和信道接通應(yīng)由CTS指示;若DSR=0,則表示DCE中數(shù)據(jù)裝置尚未準(zhǔn)備好。

CE:為振鈴指示器線RI,由DCE發(fā)出DTE接收,用于表示通信的另一方有無(wú)振鈴。若RI=1,則表示DCE正在接收對(duì)方DCE發(fā)來(lái)的振鈴信號(hào)。RI在DCE沒(méi)有收到振鈴信號(hào)的所有其他時(shí)間內(nèi)都維持在邏輯0電平狀態(tài)。

CF:為數(shù)據(jù)載波檢測(cè)線DCD,又稱(chēng)為接收線路信號(hào)檢測(cè)線。DCD信號(hào)由DCE發(fā)出DTE接收。當(dāng)本地DCE正接收來(lái)自遠(yuǎn)程的DCE載波信號(hào)時(shí),DCE變?yōu)檫壿?。在調(diào)制解調(diào)器中,DCD常接到標(biāo)有載波(Carrier)的發(fā)光二極管指示器上。

DA/DB:在同步通信方式必須使用的兩條線,但兩個(gè)信號(hào)不能同時(shí)使用,只能使用其中一個(gè)。DA是DTE為源的發(fā)送信號(hào)碼元定時(shí)線,該信號(hào)是由DTE產(chǎn)生的同步時(shí)鐘,用于使Modem能和DTE同步地發(fā)送數(shù)據(jù);DB是DCE為源的發(fā)送信號(hào)碼元定時(shí)線,同步時(shí)鐘由DCE產(chǎn)生,用于使Modem和DTE同步發(fā)送數(shù)據(jù)。

DD:接收信號(hào)的碼元定時(shí)線,該信號(hào)由DCE產(chǎn)生,用作同步接收時(shí)鐘,接收時(shí)必須把此信號(hào)從解調(diào)器發(fā)送給DTE。以上7條通信線配合6條本地通信線,常在以公用電話網(wǎng)為媒體的遠(yuǎn)程通信中使用,以協(xié)調(diào)DTE和DCE間的數(shù)據(jù)傳輸。應(yīng)當(dāng)指出:在以公用電話網(wǎng)為媒體的遠(yuǎn)程通信中,TXD線上發(fā)送數(shù)據(jù)的條件是RTS、CTS、DTR和DSR皆應(yīng)為邏輯1有效狀態(tài),但在沒(méi)有專(zhuān)用數(shù)據(jù)裝置的本地通信中DTR和DSR兩條線是可以不用的。

3.其他引線(12條)

這些引線的定義和名稱(chēng)已在表5.3中列出。其中,5條留作用戶(hù)定義,其余7條在大多數(shù)微型計(jì)算機(jī)系統(tǒng)中都空出不用,故在此從略。5.4.2RS-232C在工程中的應(yīng)用

為了提高數(shù)據(jù)通信的可靠性和抗干擾能力,RS-232C標(biāo)準(zhǔn)中規(guī)定,發(fā)送端信號(hào)邏輯“0”(空號(hào))電平范圍為+5~+15V,邏輯“1”(傳號(hào))電平范圍為-5~-15V;接收端邏輯“0”為+3~+15V,邏輯“1”為-3~-15V。噪聲容限為2V。-5~+5V以及-3~+3V之間分別為發(fā)送端和接收端點(diǎn)信號(hào)的不確定區(qū)。通常,RS-232C總線邏輯電平采用+12V表示“0”,-12V表示“1”。為了實(shí)現(xiàn)上述電平轉(zhuǎn)換,RS-232C可采用運(yùn)算放大器、晶體管和光電隔離器電路來(lái)完成電平轉(zhuǎn)換,或采用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論