第6章串行接口及串行通信技術._第1頁
第6章串行接口及串行通信技術._第2頁
第6章串行接口及串行通信技術._第3頁
第6章串行接口及串行通信技術._第4頁
第6章串行接口及串行通信技術._第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 第第6章章 串行接口及串行通信技術串行接口及串行通信技術 6.1 串行通信基礎知識串行通信基礎知識 6.2 AT89C51的串行接口的串行接口 6.3 AT89C51串行接口的應用與編程串行接口的應用與編程 習題與思考題習題與思考題 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 6.1 串行通信基礎知識串行通信基礎知識 一、一、串行通信基本概念串行通信基本概念1.并行通信和串行通信 1)并行通信并行通信 并行通信是指構成信息的二進制字符的各位數(shù)據(jù)采用多條數(shù)據(jù)線同時傳送的通信方法,如圖6.1所示。 特點:傳輸控制簡單、

2、速度快。但距離長時傳輸線多,成本高。 2)串行通信串行通信 串行通信是指構成信息的二進制字符的各位數(shù)據(jù)一位一位順序地傳送的通信方式,如圖6.2所示。 特點:傳輸控制復雜、速度慢,但傳輸線少,成本低。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 WRRDWRRDCSD0P2.7P0.0P0.7D7微型計算機(89C51)外設(8255)圖6.1 并行通信示意圖 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 微型計算機(89C51)外設TXDRXDRXDTXD發(fā)送 圖6.2 串行通信示意圖 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 2. 異步通

3、信和同步通信 串行通信串行通信又分為兩種基本通信方式,即異步通信和同步通信。 1) 異步通信 在異步通信中,被傳送的信息通常是一個字符代碼或一個字節(jié)數(shù)據(jù),它們都以規(guī)定的相同傳送格式(字符幀格式)一幀一幀地發(fā)送或接收。 字符幀格式由四部分組成:起始位,數(shù)據(jù)位,奇字符幀格式由四部分組成:起始位,數(shù)據(jù)位,奇偶校驗位和停止位偶校驗位和停止位,如圖6.3所示。下面介紹各部分的功能。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 D70/1D0D1D2D3D4D5D6D70/1D0D1111108位數(shù)據(jù)奇偶校驗停止位空閑位8位數(shù)據(jù)第n1字符幀起始位奇偶校驗停止位起始位10第n字符幀第n1字

4、符幀圖6.3 異步通信幀格式第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 (1) 起始位:在沒有數(shù)據(jù)傳送時,通信線上處于邏輯“1”狀態(tài),當信號變?yōu)?時表示起始位。 (2) 數(shù)據(jù)位:在起始位之后,發(fā)送端發(fā)出(接收端接收)的是數(shù)據(jù)位,數(shù)據(jù)的位數(shù)沒有嚴格限制,如5位、6位、7位或8位等。由低位到高位逐位傳送。 (3) 奇偶校驗位:數(shù)據(jù)位發(fā)送完(接收完)之后,可發(fā)送奇偶校驗位,它只占幀格式的一位,用于傳送數(shù)據(jù)的有限差錯檢測或表示數(shù)據(jù)的一種性質,是發(fā)送和接收雙方預先約定好的一種檢驗(檢錯)方式。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 (4) 停止位:字符幀格式的最

5、后部分為停止位,邏輯“1”電平有效,位數(shù)可以是1位、1/2位或2位。表示一個字符幀信息的結束,也為發(fā)送下一個字符幀信息做好準備。 異步通信的特點:不要收發(fā)雙方時鐘嚴格一致,易異步通信的特點:不要收發(fā)雙方時鐘嚴格一致,易于實現(xiàn),但每個字符要附加于實現(xiàn),但每個字符要附加23位的起止位,各幀之間位的起止位,各幀之間還有間隔,因此傳輸效率不高。還有間隔,因此傳輸效率不高。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 2)同步通信 同步通信是一種連續(xù)串行傳送連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳輸一幀信息一幀信息。這里的信息幀和異步通信的字信息幀和異步通信的字符幀不同,通常有若干個數(shù)據(jù)

6、字符符幀不同,通常有若干個數(shù)據(jù)字符,如圖6.4所示。其格格式由同步字符、數(shù)據(jù)字符和校驗字符式由同步字符、數(shù)據(jù)字符和校驗字符CRC三部分組成。三部分組成。在同步通信中,同步字符可以采用統(tǒng)一的標準格式,也可以由用戶約定。 同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接控制,使數(shù)據(jù)傳送完全同步。其特點是傳輸速率高,但控制,使數(shù)據(jù)傳送完全同步。其特點是傳輸速率高,但硬件復雜。硬件復雜。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 同步字符數(shù)據(jù)字符1數(shù)據(jù)字符2數(shù)據(jù)字符n-1數(shù)據(jù)字符n校驗字符校驗字符圖6.4 同步通信數(shù)據(jù)傳送格式 第第9 9章章

7、串行接口及串行通信技術串行接口及串行通信技術 3. 串行通信的制式制式 1)單工(Half duplex)制式 在單工方式下,通信線的A端只有發(fā)送器,B端只有接收器,信息數(shù)據(jù)只能單方向傳送,即只能由A端傳送到B端而不能反傳。如圖6.5所示。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 發(fā)送器A端接收器B端圖6.5 單工方式第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 2)半雙工( Half duplex)制式 半雙工方式中,通信線路兩端的設備都有一個發(fā)送器和一個接收器,如圖6.6所示。數(shù)據(jù)可雙方向傳送但不能同時傳送,即A端送B端收或B端送A端收,A、B兩端的發(fā)送

8、/接收只能通過半雙工通信協(xié)議切換交替工作。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 發(fā)送接收A端發(fā)送接收B端圖6.6 半雙工方式第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 3)全雙工)全雙工(Full duplex)制式 在全雙工方式下,通信線路A、B兩端都有發(fā)送器和接收器,A、B之間有兩個獨立通信的回路,兩端數(shù)據(jù)不是交替發(fā)送和接收,而是同時發(fā)送和接收。因此通信效率比前兩種要高。該方式下所需的傳輸線至少要有三條,一條用于發(fā)送,一條用于接收,一條用于公用信號地,如圖6.7所示。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 A端B端發(fā)送接收發(fā)送

9、接收圖6.7 全雙工方式第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 4. 信號的信號的調制與解調調制與解調 計算機的通信要求傳送的是數(shù)字信號。在遠程數(shù)據(jù)通信時,通常要借用現(xiàn)存的公用電話網(wǎng)。但是電話網(wǎng)是為300 - 3 400 Hz的音頻模擬信號設計的,對二進制數(shù)據(jù)的傳輸是不合適的。為此在發(fā)送時需要對二進制數(shù)據(jù)進行調制調制生成模擬信號,使之適合在電話網(wǎng)上傳輸。在接收時,需要進行解調解調以將模擬信號還原成數(shù)字信號。1)調制器 把數(shù)字信號轉換成模擬信號,然后送到通信線路上去。2)解調器 把從通信線路上收到的模擬信號轉換成數(shù)字信號。 由于通信是雙向的,調制器和解調器合并在一個裝置中,

10、這就是調制解調器調制解調器MODEM,如圖6.8所示。由圖可見,調制器和解調器是進行數(shù)據(jù)通信所需的設備,因此把它叫做數(shù)據(jù)通信設備(數(shù)據(jù)通信設備(DCE)。)。通信線路是電話線,也可以是專用線。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.8 調制解調通信圖 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 5. 串行通信數(shù)據(jù)的校驗 在通信過程中往往要對數(shù)據(jù)傳送的正確與否進行校驗。以保證準確無誤的傳輸數(shù)據(jù)。常用的校驗方法有奇偶校驗及代碼和校驗常用的校驗方法有奇偶校驗及代碼和校驗。 1)奇偶校驗奇偶校驗 奇偶校驗的特點是按字符校驗,即在數(shù)據(jù)發(fā)送時,在每一個字符的最

11、高位之后都附加一個奇偶校驗位“1”或“0”,使被傳送字符(包括奇偶校驗位)中含“1”的位數(shù)都為偶數(shù)(偶校驗)或都為奇數(shù)(奇校驗)。 例:當約定為奇校驗奇校驗時,數(shù)據(jù)中數(shù)據(jù)中“1”的個數(shù)與校驗位的個數(shù)與校驗位“1”的個數(shù)的個數(shù)之和應為奇數(shù);之和應為奇數(shù);當約定為偶校驗偶校驗時,數(shù)據(jù)中數(shù)據(jù)中“1”的個數(shù)與校驗位的個數(shù)與校驗位“1”的個數(shù)之和應為偶數(shù)。的個數(shù)之和應為偶數(shù)。接收方與發(fā)送方的校驗裝置和方式應一致。接收字符時,對“1”的個數(shù)進行校驗,若二者不一致,則說明傳輸數(shù)據(jù)過程中出現(xiàn)了差錯。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 2)代碼和校驗 所謂和校驗是發(fā)送方將所發(fā)數(shù)據(jù)塊求和

12、(或各字節(jié)異或),產(chǎn)生一個字節(jié)的校驗字符(校驗和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)同時對數(shù)據(jù)塊(除校驗字節(jié)外)求和(或各字節(jié)異或),將所得的結果與發(fā)送方的“校驗和”進行比較,相符則無差錯,否則即認為傳送過程中出現(xiàn)了差錯。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 6.傳輸速率與傳輸距離傳輸速率與傳輸距離 1) 波特率波特率 波特率(也叫比特率比特率),即數(shù)據(jù)傳輸?shù)乃俾?。它表示每秒鐘它表示每秒鐘傳送二進制代碼的位數(shù)。其單位是傳送二進制代碼的位數(shù)。其單位是b /s。 在串行通信中,發(fā)送設備和接收設備之間除了采用相同的字符幀格式(異步通信)或相同的同步字符(同步通信)來協(xié)調同步工

13、作外,兩者之間發(fā)送數(shù)據(jù)的速度和接收數(shù)據(jù)的速度也必須相同兩者之間發(fā)送數(shù)據(jù)的速度和接收數(shù)據(jù)的速度也必須相同,這樣才能保證被傳送數(shù)據(jù)的成功傳送。 波特率是串行通信的重要指標,對數(shù)據(jù)的成功傳送至關重要。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 舉例:設數(shù)據(jù)的傳送率是240字符/s,而每個字符格式包含10 bit(1個起始位、1個停止位、8個數(shù)據(jù)位),這時傳送的波特率是: 10b240= 2400 b/s 標準波特率標準波特率為:110bps、300bps、600bps、1200bps、2400bps、9600kbps,19.2kbps、56kbps等。第第9 9章章 串行接口及串行

14、通信技術串行接口及串行通信技術 2)傳輸距離與傳輸速率的關系 傳輸距離與波特率及傳輸線的電氣特性有關。通通常傳輸距離隨波特率的增加而減小。常傳輸距離隨波特率的增加而減小。 當傳輸線使用每0.3 m(約1英尺)有50 pF電容的非平衡屏蔽雙絞線時,傳輸距離是隨波特率增加而減小。當波特率超過1 000 bit/s時,最大傳輸距離迅速下降,如9600 bit/s時最大距離下降到只有76 m(約250英尺)。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 二、串行通信的標準接口二、串行通信的標準接口 RS-232C通信接口是一種標準的串行接口,它定義了數(shù)據(jù)終通信接口是一種標準的串行接口,

15、它定義了數(shù)據(jù)終端設備(端設備(DTE)與數(shù)據(jù)通信設備()與數(shù)據(jù)通信設備(DCE)之間的物理接口標準。)之間的物理接口標準。普遍用于計算機之間及計算機與外設之間的串行通信。由于它符合EIA(電子工業(yè)協(xié)會)規(guī)格要求,在國際上得到了廣泛的應用。 RS-232C接口具有如下特點:信號線少特點:信號線少,在某些場合,完成雙工通信只需使用幾根線就即可;有多種可供選擇的信息傳輸速率有多種可供選擇的信息傳輸速率:110、150、300、600、1 200、2 400、4 800、 9 600和19 200 bps。 RS-232C接口特性包括電氣特性、機械特性、功能特性和過程特性四個方面內(nèi)容。第第9 9章章

16、串行接口及串行通信技術串行接口及串行通信技術 1. 機械特性 RS-232C接口規(guī)定使用規(guī)定使用25針連接器針連接器,稱為DB-25插頭或插座。如圖6.9所示。 RS-232C接口對標準的對標準的25針接口定義了針接口定義了22條可以條可以與外界連接的信號線與外界連接的信號線,并對它們的功能作了具體的規(guī)并對它們的功能作了具體的規(guī)定。定。 實際用戶并不一定用到RS- 232C標準的全部信號線,常常使用常常使用9針非標準連接器替代針非標準連接器替代25針連接器,稱針連接器,稱為為DB-9。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 DTE:數(shù)據(jù)終端設備(如個入計算機)DCE:數(shù)

17、據(jù)電路通信設備(如調制解調器)12345678910111213141516171819202122232425方向 名稱 第2路發(fā)送數(shù)據(jù) 發(fā)送時鐘 第2路接收數(shù)據(jù) 接收時鐘未用 第2路請求發(fā)送 數(shù)據(jù)終端就緒 數(shù)據(jù)信號檢測 振鈴指示 數(shù)據(jù)信號速率選擇 發(fā)送時鐘未用未用保護地 N.A發(fā)送數(shù)據(jù) 到DCE接收數(shù)據(jù) 到DCE請求發(fā)送 到DCE允許發(fā)送 到DTE數(shù)據(jù)置位就緒 到DTE信號地 N.A載波檢測 到DTE留作調試用第2路載波檢測 到DTE第2路允許發(fā)送 到DTE名稱 方向到DCE到DTE到DTE到DTE到DCE到DCE到DTE到DTE到DCE到DCE圖6.9 RS-232C引腳圖第第9 9章章

18、 串行接口及串行通信技術串行接口及串行通信技術 2.功能特性 RS-232C接口的主要信號線定義如表6-1。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 3.電氣特性 RS-232C的每一個引腳的信號性質和電平均由標準規(guī)定,采用負邏負邏輯電平輯電平,如:1) 規(guī)定規(guī)定DC(-3 -15 V)為邏輯)為邏輯1,DC(+3 +15 V)為邏輯為邏輯0。 (簡稱簡稱EIA電平電平)2)其邏輯電平與通常的)其邏輯電平與通常的TTL和和MOS電平(用電平(用0V0.8V表示表示0,2V+5V表示表示“1”)不兼容)不兼容。因此為了實現(xiàn)TTL或MOS電路的連接,要外加電路(如MAX232)

19、實現(xiàn)電平轉換。 由于RS - 232C發(fā)送端和接收端之間的信號采用多芯信號線,而多芯信號線的總負載電容不能超過2 500 pF,所以RS-232C的信號傳信號傳輸距離僅為幾十米,傳輸速率小于輸距離僅為幾十米,傳輸速率小于20kbps。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 4. 過程特性 過程特性規(guī)定了信號之間的時序關系,以便正確地規(guī)定了信號之間的時序關系,以便正確地接收和發(fā)送數(shù)據(jù)接收和發(fā)送數(shù)據(jù)。如果通信雙方均具備RS-232C接口,則二者可以直接連接,不必考慮電平轉換問題。 但是對于單片機與計算機通過對于單片機與計算機通過RS-232C的連接,必須考的連接,必須考慮電

20、平轉換問題,慮電平轉換問題,因為MCS-51系列單片機串行口不是標準RS-232C接口 。 遠程RS - 232C通信需要調制解調器,如圖6.10所示。近程通信RS-232C(通信距離15 m內(nèi))可以不使用調制解調器,其連接方法可有以下幾種,如圖6.11所示。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.10 遠程RS-232C通信連接圖6.11 近程RS-232C通信連接第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 5. RS-232C電平與TTL電平轉換驅動電路 單片機與計算機通過RS-232C的連接,必須考慮電平轉換問題。早期常用的電平轉換芯片為MC

21、1488、MC1489。近年來多采用片內(nèi)帶有自升壓電路的芯片。近年來多采用片內(nèi)帶有自升壓電路的芯片。如如MAXM232,它僅需,它僅需+5V電源,電源,內(nèi)置電子升壓泵將+5V轉換成-10V+10V。該芯片內(nèi)含2個發(fā)送器,2個接收器,且與TTL/CMOS電平兼容,使用非常方便。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 6. 采用RS-232C接口存在的問題問題 1)傳輸距離短、速率低)傳輸距離短、速率低 RS-232C標準受電容允許值的約束,傳輸距離一般不超過15米。最高傳輸速率為20bps。2)有電平偏移)有電平偏移 RS-232C接口收發(fā)雙方共地的情況下,當通信距離較遠時

22、,兩端的地電位差別較大,信號地上會有較大的地電流并產(chǎn)生壓降,一方輸出的邏輯電平到達對方時,其邏輯電平可能偏移較大,嚴重時會發(fā)生邏輯錯誤。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 3)抗干擾能力差 RS-232C采用單端輸入輸出,傳輸過程中的干擾和噪聲會混在正常的信號中。為了提高信噪比, RS-232C標準不得不采用較大的電壓擺幅。 針對RS-232C總線標準存在的問題,EIA協(xié)會制定了新的串行通信標準新的串行通信標準RS-422A和和RS-485。它們是平衡型電壓數(shù)字接口電路的電氣標準,這些標準改善了串行通信的傳輸特性。 第第9 9章章 串行接口及串行通信技術串行接口及串行

23、通信技術 6.2 AT89C51的串行接口的串行接口 一、 串行接口的結構及功能 AT89C51串行口的結構框圖如圖6.12所示,主要由發(fā)送器、接收器和串行控制寄存器組成。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 門電路發(fā)送控制器1接收控制器輸入移位寄存器發(fā)送SBUF(99H)接收SBUF(99H)同步時鐘串行口控制寄存器(98H)內(nèi)部總線串行口中斷TIRITXD(P3.1)RXD(P3.0)圖6.12 AT89C51串行口結構框圖 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖中有兩個物理上獨立的接收、發(fā)送緩沖器兩個物理上獨立的接收、發(fā)送緩沖器 SBU

24、F,它,它們占用同一地址們占用同一地址99H,可同時發(fā)送、接收數(shù)據(jù)。發(fā)送緩沖器發(fā)送緩沖器只能寫入,只能寫入,不能讀出;接收緩沖器只能讀出接收緩沖器只能讀出,不能寫入。 接收器主要由接收緩沖寄存器SBUF,接收移位寄存器和接收控制器組成。接收器是雙緩沖結構接收器是雙緩沖結構,在前一個字節(jié)被從接收緩沖器讀出之前,第二個字節(jié)即開始被接收(串行輸入至移位寄存器),但是在第二個字節(jié)接收完畢而前一個字節(jié)CPU未讀取時,會丟失前一個字節(jié)的內(nèi)容。 發(fā)送器主要由發(fā)送緩沖寄存器SBUF和發(fā)送控制器組成。對于發(fā)送緩沖器,因為發(fā)送時CPU是主動的,不會產(chǎn)生重疊錯誤。 第第9 9章章 串行接口及串行通信技術串行接口及串

25、行通信技術 二、串行口控制寄存器 串行口控制寄存器SCON(字節(jié)地址為98H)用于設置串行口的工作方式、監(jiān)視串行口工作狀態(tài)、發(fā)送與接收的狀態(tài)控制等。它是一個既可字節(jié)尋址又可位尋址的特殊功能寄存器。其格式如圖6.13所示。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.13 控制寄存器SCON的格式 位名稱位號SM0SM1SM2RENTB8RB8TIRI76543210第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 SCON寄存器各位的功能如下: (1) SM0、SM1:串行口工作方式選擇位:串行口工作方式選擇位,可構成四種工作方式,如表6-2所示。 (2) S

26、M2:在方式2和方式3中多機通信的控制位。 (3) REN:串行接收允許位。:串行接收允許位。由軟件置REN = 1,則啟動串行口接收數(shù)據(jù);若軟件置REN = 0,則禁止接收。 (4) TB8:在方式2或方式3中,是將要發(fā)送的第九位數(shù)據(jù),由軟件置位或清零,它可作為數(shù)據(jù)奇偶校驗位,也可在多機通信中作為地址幀或數(shù)據(jù)幀的標志位使用。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 表6-2 串行口工作方式選擇SM0 SM1工作方式功能波特率0 00 11 01 1方式0方式1方式2方式3移位寄存器10位異步收發(fā)11位異步收發(fā)11位異步收發(fā)fosc/12可變fosc/6或fosc/32可變

27、第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 (5) RB8:在方式2或方式3中,是已接收到的第九位數(shù)據(jù)第九位數(shù)據(jù),可作為奇偶校驗位作為奇偶校驗位。 (6) TI:發(fā)送中斷標志位。:發(fā)送中斷標志位。在方式0當串行發(fā)送第8位數(shù)據(jù)結束時,或在其它方式,串行發(fā)送停止位的開始時,由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務程序中,必須用軟件將其清0,取消此中斷申請。 (7) RI:接收中斷標志位。:接收中斷標志位。方式0中,在接收完第8位數(shù)據(jù)時由硬件置位。在方式0當串行接收第8位數(shù)據(jù)結束時,或在其它方式,串行接收停止位的中間時,由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。也必須在

28、中斷服務程序中,用軟件將其清0,取消此中斷申請 (8) SMOD:為波特率選擇位為波特率選擇位。電源控制寄存器PCON中的第八位也與串行口有關,如圖6.14所示。當當SMOD=1時,波特率提時,波特率提高一倍,復位時,高一倍,復位時,SMOD=0。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.14 電源控制寄存器PCON的格式位號76543210位名稱SMOD第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 三、三、 串行通信的工作方式串行通信的工作方式 1工作方式工作方式0 在方式0下,串行口是作為同步移位寄存器使用的同步移位寄存器使用的。其波特率固定為單

29、片機振蕩頻率波特率固定為單片機振蕩頻率(fosc)的的1/12,串行傳串行傳送數(shù)據(jù)送數(shù)據(jù)8位為一幀位為一幀(沒有起始、停止、奇偶校驗位)。 數(shù)據(jù)由數(shù)據(jù)由RXD端輸出或輸入端輸出或輸入,低位在前,高位在后。TXD端輸出同步移位脈沖端輸出同步移位脈沖,可以作為外部擴展的移位寄存器的移位時鐘,因而串行口方式因而串行口方式0常用于擴展外部常用于擴展外部并行并行I/O口??凇?第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 1)工作原理 (1)發(fā)送(輸出) 執(zhí)行指令(如MOV SBUF, A),就啟動發(fā)送。 在發(fā)送過程中由RXD端將寫入SBUF寄存器中的數(shù)據(jù)依照從低位到高位的次序按位送數(shù)據(jù)

30、依照從低位到高位的次序按位送出出,同時由TXD端輸出移位時鐘脈沖。 一個字節(jié)的數(shù)據(jù)發(fā)送完畢數(shù)據(jù)發(fā)送完畢,串行口自動停止發(fā)送數(shù)據(jù)和移位時鐘脈沖,并置位并置位TI申請申請中斷。中斷。TI必須由軟件清零。以便下一次傳送。 從寫SBUF到TI置位,相隔9個機器周期,完成了發(fā)送1幀數(shù)據(jù)的全過程。如圖6.15所示。圖6.15 方式0數(shù)據(jù)輸出時序第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.16 方式方式0擴展并行輸出口擴展并行輸出口 串行發(fā)送時,外部可擴展一片(或幾片)串入并出串入并出的移位寄存器(如74LS164),如圖6.16所示。RXDTXD89C51ABCLK數(shù)據(jù)輸出移位脈沖

31、1233 4 5 6 10 11 12 1374LS164D7D6D5D4D3D2D1 D0第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 (2)接收(輸入) 當REN= 1,RI=0時,就啟動串行口接收。 在接收過程中,由TXD端輸出移位時鐘脈沖,控制外圍設備將8位數(shù)據(jù)按位移入串行口的RXD端,并通過串行口內(nèi)部的輸入移位寄存器將數(shù)據(jù)存入SBUF接收寄存器。 當串行口控制電路檢測到最后一次移位結束結束后,接收過程告終,并置位置位RI申請申請中斷中斷。RI也必須由軟件清零。從啟動接收到RI置位,相隔9個機器周期,完成了接收1幀數(shù)據(jù)的全過程。 時序圖如圖6.17所示。 圖6.17 方

32、式0數(shù)據(jù)輸入時序第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.18 方式方式0擴展并行輸入口擴展并行輸入口 串行接收時,外部可擴展一片(或幾片)并入串出并入串出的移位寄存器(如74LS165),如圖6.18所示。QCLK654314 13 12 11數(shù)據(jù)輸入移位脈沖RXDTXD80C5174LS165D7D6D5D4D3D2D1D0第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 2工作方式1 在方式在方式1下,串行口工作在下,串行口工作在10位幀格式位幀格式,發(fā)送或接收一幀信息中,除除8位數(shù)據(jù)移位外,還包含一個起始位位數(shù)據(jù)移位外,還包含一個起始位(0)和一個

33、停止位和一個停止位(1),其格,其格式如圖式如圖6.19所示所示。 工作方式工作方式1的波特率是可變的的波特率是可變的,由定時器由定時器T1的計數(shù)溢出率決定的計數(shù)溢出率決定。相應的公式為:波特率= 定時器T1溢出率322SMOD第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 D0D1D2D3D4D5D6D71D0D11D700第n1字符幀第n字符幀8位數(shù)據(jù)起始位停止位圖6.19 串行口方式1的幀格式第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 定時器定時器T1的計數(shù)溢出率計算公式為:的計數(shù)溢出率計算公式為:定時器T1溢出率= 值 初 1T2112foscK 式中,

34、K為定時器為定時器T1的位數(shù)的位數(shù),與定時器T1的工作方式有關(見第5章介紹),則波特率計算公式為:波特率= 值 初 1T2112fosc322KSMOD第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 1) 發(fā)送發(fā)送 發(fā)送時,數(shù)據(jù)從TXD端輸出,當數(shù)據(jù)寫入發(fā)送緩沖器SBUF后,啟動發(fā)送器發(fā)送。當發(fā)送完一幀數(shù)據(jù)后,置中斷標志TI為1。方式1所傳送的波特率取決于定時器1的溢出率和PCON中的SMOD位。2) 接收接收 接收時,由REN置1,允許接收,串行口采樣RXD,當采樣由1到0跳變時,確認是起始位“0”,開始接收一幀數(shù)據(jù)。當RI=0,且停止位為1或SM2=0時,停止位進入RB8位

35、,同時置中斷標志RI;否則信息將丟失。所以,方式1接收時,應先用軟件清除RI或SM2標志。 方式1時串行口的發(fā)送和接收時序如圖6.20所示。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.20 串行口方式1的時序圖第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 3方式方式2和方式和方式3 在方式在方式2和方式和方式3下,串行口工作在下,串行口工作在11位異步通信方式。位異步通信方式。一幀一幀信息包含一個起始位信息包含一個起始位“0”,八個數(shù)據(jù)位,一個可編程第九數(shù)據(jù)位,八個數(shù)據(jù)位,一個可編程第九數(shù)據(jù)位和一個停止位和一個停止位“1”。其中可編程位是。其中可編程位

36、是SCON中的中的TB8位,在八個位,在八個數(shù)據(jù)位之后,可作奇偶校驗位或地址數(shù)據(jù)位之后,可作奇偶校驗位或地址/數(shù)據(jù)幀的標志位使用,由使數(shù)據(jù)幀的標志位使用,由使用者確定。用者確定。其幀格式如圖6.21所示。 區(qū)別:方式區(qū)別:方式2的波特率固定為晶振頻率的的波特率固定為晶振頻率的1/64或或1/32 ;方式;方式3的波特率由定時器的波特率由定時器T1的計數(shù)溢出率決定,確定方法與工作方式的計數(shù)溢出率決定,確定方法與工作方式1中的完全一樣。中的完全一樣。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 D0D1D2D3D4D5D6D70/1D0D110/1100第 n 1字 符 幀第 n

37、字 符 幀8位 數(shù) 據(jù)起始位停止位奇 偶校 驗圖6.21 串行口方式2、3幀格式圖第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 1)方式2和方式3輸出 當CPU向發(fā)送SBUF寫入一個數(shù)據(jù)時,串行口發(fā)送過程就被啟動了。TB8寫入輸出移位寄存器的第9位,8位數(shù)據(jù)裝入SBUF。 發(fā)送開始時,先把起始位0輸出到TXD端。經(jīng)一位時間后,發(fā)送移位寄存器的輸出位(D0)到TXD端。之后,每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD端輸出。 結束時,控制電路進行最后一次移位,并置T11,向CPU請求中斷。2)方式2和方式3輸入 軟件使接收允許位REN為1后,接收開始啟動。 接收時

38、,數(shù)據(jù)從右邊移入輸入移位寄存器,1從左邊移出,在起始位0移到最左邊時,控制電路進行最后一次移位。 當RI0,且SM2=0時,接收到的數(shù)據(jù)裝入接收SBUF和RB8,置RI = 1,向CPU請求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,一位時間后繼續(xù)搜索RXD端的負跳變。 時序如圖6.22所示 。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.22 串行口方式2、3時序圖第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 四、串行口波特率確定和初始化1. 波特率計算 串行口的四種工作方式對應三種波特率。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式

39、波特率計算公式也不相同。 具體如下:第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 2. 波特率的選擇 實際應用中,波特率要選擇為標稱值標稱值,又由于TH1的初值是整數(shù),為了減小波特率計算誤差,晶振頻率要選擇為晶振頻率要選擇為11.0592MHZ。所以方式1和方式3波特率與TH1初值的對應基本上是確定的,如表6-3所示。波特率(bps)19.2K9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD10000表6-3 方式1、3常用波特率與TH1的初值關系表注: 此時,T1工作在方式2,晶振頻率為11.0592MHZ。第第9 9章章 串行接口及串行通信技

40、術串行接口及串行通信技術 3.串行口的初始化 具體步驟如下:1)確定定時器1的工作方式(編程TMOD寄存器);2)計算定時器1的初值,裝載TH1、TL1;3)啟動定時器1(編程TCON中的TRl位);4)確定串行口控制(編程SCON寄存器)5)串行口在中斷方式工作時,須開CPU的中斷源(編程IE、 IP寄存器)。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 6.3 AT89C51串行接口的應用與編程串行接口的應用與編程 一、利用單片機串行口擴展并行I/O口 串行口工作方式0主要用于擴展并行I/O口,擴展成并行輸出口時,需要外接一片8位串行輸入并行輸出的同步移位寄存器74HC16

41、4。擴展成并行輸入口時,需要外接一片或幾片并行輸入串行輸出的同步移位寄存器74HC165。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 數(shù)據(jù)的串行輸出或輸入可采用中斷方式,也可采用查詢標志位TI、RI的方法,在移位初始化時,要進行相應的設置。 例 利用串行口工作在方式0,外擴一片74HC164構成一個三位LED動態(tài)顯示器,并將內(nèi)部RAM顯示單元65H、66H、67H中的內(nèi)容輸出顯示。如圖6.24所示。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 111P1.0P1.1P1.2RXDTXD89C5174LS164SASBCLKVCCCLR5 V圖6.24 串行動態(tài)

42、顯示圖 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 主程序如下:ORG 0000HLJMP MAINORG 0030HMAIN:MOV SCON,#00H ;串行口初始化為方式0 SETB P1.2 ;消去最高顯示位 SETB P1.1 MOV SBUF,65H ;傳送最低顯示位 JNB TI,$ ;傳送沒結束,等待第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 CLR P1.0 ;最低位顯示 CLR TI ;清中斷標志位 LCALL D10ms ;調延時子程序,維持狀態(tài) SETB P1.0 ;消去最低顯示位 MOV SBUF,66H ;傳送中間顯示位 JNB

43、TI,$ ;等待傳送結束 CLR P1.1 ;顯示中間位 CLR TI ;清中斷標志位第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 LCALL D10ms ;調延時子程序,維持狀態(tài) SETB P1.1 ;消去中間顯示位 MOV SBUF,67H ;傳送最高顯示位 JNB TI,$ ;等待傳送結束 CLR P1.2 ;顯示最高顯示位 CLR TI ;清中斷標志位D10ms: MOV R5, #10D1ms: MOV R4,#249 DL: NOP NOP DJNZ R4,DL DJNZ R5,D1ms RETEND第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 二、

44、單片機與單片機的通信 有兩個單片機子系統(tǒng),它們均能獨立地完成主系統(tǒng)的某一功能,且這兩個子系統(tǒng)具有一定的信息交換需求,這時就可以用串行通信的方式將兩個子系統(tǒng)連接起來。1. 硬件連接 若兩個單片機系統(tǒng)距離近,只要將兩個單片機系統(tǒng)的TXD和RXD引出線交叉相連即可;若兩個單片機系統(tǒng)距離較遠,要采用RS-232C接口進行連接,如圖6.25所示。 第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 圖6.25 雙機通信連接圖第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 2.通信協(xié)議 采用方式1進行通信,每幀信息為10位,波特率為2400bps,T1作定時器用,工作在方式2,晶振

45、頻率用11.0592MHZ,查表6.3得TH1=TL1=0F4H,PCON寄存器的SMOD位為0。 通信時,首先A機發(fā)送“E1H”請求傳輸數(shù)據(jù)。B機收到后回答一個”E2H”應答信號,表示同意接收。當A機收到應答信號”E2H“后,開始發(fā)送數(shù)據(jù),每發(fā)送一個數(shù)據(jù)字節(jié)都要計算”校驗和“,假定數(shù)據(jù)塊長度為15個字節(jié),起始地址為40H,數(shù)據(jù)塊發(fā)送完畢后立即發(fā)送”校驗和“。 然后B機接收數(shù)據(jù)并轉存到數(shù)據(jù)緩沖區(qū),起始地址也為40H,每接收到一個數(shù)據(jù)字節(jié)便計算一次”校驗和“,當收完數(shù)據(jù)塊后,再接收A機發(fā)來的”校驗和“,并將它與B機求出的校驗和進行比較。若兩者相等,說明接收正確,B機回答00H;若兩者不等,說明接

46、收不正確,B機回答FFH,請求重發(fā)。A機收到答復為00H則結束發(fā)送。若答復非0,則重新發(fā)送數(shù)據(jù)。第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 3.程序及流程圖A機程序:ORG 0000HLJMP AMAINORG 0030HAMAIN:MOV SP,#5FHMOV TMOD, # 20H ;初始化定時器1為模式2MOV TH1, #0F4H;裝載定時器初值MOV TLl,#0F4HMOV SCON,#50HMOV PCON, # 00HSETB TR1;啟動定時器CALL INIT;生成調試用數(shù)據(jù)DIALOG: MOV A,#0E1H;發(fā)聯(lián)絡信號CALL TXBYTECALL

47、RXBYTE;接收B機返回信號CJNE A,#0E2H,DIALOG ;B機允許發(fā)送?RETX: CALL TXDATACALL RXBYTECJNE A,#00H,DIALOG ;B機接收正確?AJMP DIALOG第第9 9章章 串行接口及串行通信技術串行接口及串行通信技術 TXBYTE: MOV SBUF,A;發(fā)送子程序JNB TI,$CLR TIRETRXBYTE: JNB RI,$;接收子程序MOV A,SBUFCLR RIRETTXDATA: MOV R7,#15;發(fā)送數(shù)據(jù)塊子程序MOV R0,#40HMOV R6,#00HLDATA: MOV A,R0CALL TXBYTEMOV A,R6ADD A,R0;求校驗和MOV R6,A;保存校驗和INC R0DJNZ R7,LDATA;數(shù)據(jù)塊傳送完否?第第9 9章章 串行接口及串行通信技術串行接口及串行

溫馨提示

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

評論

0/150

提交評論