版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度車(chē)場(chǎng)設(shè)施維護(hù)與租賃一體化管理合同4篇
- 智能交通切片應(yīng)用-深度研究
- 情感語(yǔ)義挖掘與識(shí)別-深度研究
- 2025年度個(gè)人知識(shí)產(chǎn)權(quán)質(zhì)押貸款保證合同2篇
- 印尼動(dòng)力煤2025年度買(mǎi)賣(mài)合同的爭(zhēng)議調(diào)解與仲裁3篇
- 實(shí)時(shí)數(shù)據(jù)處理與分析方法-第1篇-深度研究
- 二零二五年度文化演出派遣勞務(wù)合作協(xié)議4篇
- 2025民商法擔(dān)保法律合同履行監(jiān)管合同4篇
- 二零二五年度農(nóng)業(yè)農(nóng)產(chǎn)品質(zhì)量安全追溯合同3篇
- 2025年度個(gè)人房產(chǎn)買(mǎi)賣(mài)交易資金監(jiān)管服務(wù)合同
- 青島版二年級(jí)下冊(cè)三位數(shù)加減三位數(shù)豎式計(jì)算題200道及答案
- GB/T 12723-2024單位產(chǎn)品能源消耗限額編制通則
- GB/T 16288-2024塑料制品的標(biāo)志
- 麻風(fēng)病防治知識(shí)課件
- 干部職級(jí)晉升積分制管理辦法
- TSG ZF003-2011《爆破片裝置安全技術(shù)監(jiān)察規(guī)程》
- 2024年代理記賬工作總結(jié)6篇
- 電氣工程預(yù)算實(shí)例:清單與計(jì)價(jià)樣本
- VOC廢氣治理工程中電化學(xué)氧化技術(shù)的研究與應(yīng)用
- 煤礦機(jī)電設(shè)備培訓(xùn)課件
- 高考寫(xiě)作指導(dǎo)議論文標(biāo)準(zhǔn)語(yǔ)段寫(xiě)作課件32張
評(píng)論
0/150
提交評(píng)論