第10章通用同步異步收發(fā)器_第1頁
第10章通用同步異步收發(fā)器_第2頁
第10章通用同步異步收發(fā)器_第3頁
第10章通用同步異步收發(fā)器_第4頁
第10章通用同步異步收發(fā)器_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第10章通用同步異步收發(fā)器第十章第十章 通用同步通用同步/異步收發(fā)器異步收發(fā)器 10.1 串行通信的基本概念 10.2 PIC中檔單片機(jī)的USART模塊 10.3 USART模塊的使用方法和編程技術(shù) 10.4 實(shí)驗(yàn)10.1 串行通信的基本概念 10.1.1 串行通信的基本類型 1.異步傳送方式 異步傳送是指無需同步時(shí)鐘的傳輸,就是在傳輸信道的兩端(收方和發(fā)方)可以用各自的時(shí)鐘,而不需要用同一個(gè)時(shí)鐘來同步兩端的通信事件和通信過程。 異步傳輸通常是以字符為單位來傳輸?shù)模彝ㄐ烹p方需按事先的約定或協(xié)議來進(jìn)行通信活動(dòng),其中包括從起始位開始字符的傳輸、數(shù)據(jù)傳輸率(波特率)的大小、字符的位數(shù)、是否有校驗(yàn)位

2、以及停止位的個(gè)數(shù)等。包括起始位、數(shù)據(jù)位、校驗(yàn)位、停止位在內(nèi)的一組信息稱為一個(gè)數(shù)據(jù)幀。10.1.11 串行通信的基本類型10.1.11 串行通信的基本類型 2. 同步傳送方式 同步傳送是指需要同步時(shí)鐘的傳輸,即在傳輸過程中,通信的兩端需采用同一時(shí)鐘來同步傳輸?shù)臄?shù)據(jù)。 在物理上往往要增加一條時(shí)鐘線。同步時(shí)鐘通常由主控方提供。若無同步時(shí)鐘線,則需采用其他措施保證通信雙方時(shí)鐘的嚴(yán)格同步,例如在每組信息(或稱數(shù)據(jù)包)的開頭處加上同步字符(又稱為同步頭)。通常每組信息由多個(gè)字符組成,稱為一幀。同步通信要求連續(xù)的數(shù)據(jù)流,不允許數(shù)據(jù)包間有間斷,在沒有信息傳輸時(shí),要插入空字符。相比異步通信,同步通信具有傳輸效率

3、高和同步精確度好的優(yōu)點(diǎn),其通信的實(shí)例包括 SPI 、 I2C 等。10.1.2 串行通信的方式 1. 單工傳送方式 單工(Simplex)通信是指單方向通信,是指信息流只能單方向流動(dòng)、由發(fā)方傳輸?shù)绞辗?,而不能逆向傳輸?2.半雙工傳送方式 半雙工(Half Duplex)通信是指不完全的雙方向通信,是指信息流能分時(shí)地在同一信道內(nèi)雙方向流動(dòng)。 3. 全雙工傳送方式 全雙工(Full Duplex)通信是指完全雙方向通信,有兩個(gè)信息傳輸?shù)耐緩?,信息流能在雙方同時(shí)向?qū)Ψ絺鳌?0.1.3 串行通信的RS-232C標(biāo)準(zhǔn)RS-232C標(biāo)準(zhǔn)最初是為遠(yuǎn)程通信連接數(shù)據(jù)終端設(shè)備DTE與數(shù)據(jù)通信設(shè)備DCE而制定。接

4、口最大傳輸速率為200kpbs,線纜最長(zhǎng)為15米。 1. RS-232C信號(hào)定義 聯(lián)絡(luò)控制信號(hào)線 6 條 a. DSR (Data Set Ready 數(shù)據(jù)設(shè)備就緒):有效時(shí)(ON)表明數(shù)據(jù)通信設(shè)備處于可以使用的狀態(tài)。 b. DTR (Data Terminal Ready 數(shù)據(jù)終端就緒):有效時(shí)(ON)表明數(shù)據(jù)終端可以使用。這兩個(gè)信號(hào)有時(shí)連到電源上,上電就立即有效。這兩個(gè)設(shè)備狀態(tài)信號(hào)有效只表示設(shè)備本身可用,并不說明可以開始進(jìn)行通信了,能否開始進(jìn)行通信要由下面的控制信號(hào)決定。10.1.3 串行通信的RS-232C標(biāo)準(zhǔn) c. RTS (Request To Send 請(qǐng)求發(fā)送)用來表示數(shù)據(jù)終端

5、DTE 請(qǐng)求數(shù)據(jù)通信設(shè)備 DCE 發(fā)送數(shù)據(jù)。當(dāng)數(shù)據(jù)終端要發(fā)送數(shù)據(jù)時(shí),使該信號(hào)有效,向通信設(shè)備請(qǐng)求發(fā)送。用 RTS 控制通信設(shè)備進(jìn)入或退出發(fā)送狀態(tài)。 d. CTS (Clear To Send 允許發(fā)送清除發(fā)送):該信號(hào)是對(duì)請(qǐng)求發(fā)送信號(hào) RTS 的響應(yīng),用來表示 DCE 準(zhǔn)備好接收 DTE 發(fā)來的數(shù)據(jù)。當(dāng)通信設(shè)備已準(zhǔn)備好接收終端傳來的數(shù)據(jù)并向外發(fā)送時(shí)使該信號(hào)有效,清除 RTS 并通知終端開始用發(fā)送數(shù)據(jù)線 TXD 向通信設(shè)備發(fā)送數(shù)據(jù)。 RTS / CTS 請(qǐng)求應(yīng)答聯(lián)絡(luò)信號(hào)是用于半雙工通信設(shè)備系統(tǒng)中發(fā)送方式和接收方式之間的切換。在全雙工系統(tǒng)中,因配置雙向通道,故不需要 RTS / CTS 聯(lián)絡(luò)信號(hào)。

6、10.1.3 串行通信的RS-232C標(biāo)準(zhǔn) e. DCD ( Data carrier Detection 數(shù)據(jù)載波檢測(cè)):當(dāng)本地 DCE 設(shè)備收到對(duì)方的 DCE 設(shè)備送來的載波信號(hào)時(shí),使 DCD 有效,通知 DTE 準(zhǔn)備接收,并且由 DCE 將接收到的載波信號(hào)解調(diào)為數(shù)字信號(hào),經(jīng) RXD 線送給 DTE 。 f. RI (Ringing 振鈴信號(hào)):當(dāng) DCE 收到對(duì)方的 DCE 設(shè)備送來的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效,通知 DTE 已被呼叫。 數(shù)據(jù)發(fā)送與接收線 2 條 a. TXD ( Transmitted data 發(fā)送數(shù)據(jù)):通過 TXD 終端將串行數(shù)據(jù)發(fā)送到通信設(shè)備,即 DTE 到

7、DCE 。 b. RXD ( Received data 接收數(shù)據(jù)):通過 RXD 線終端接收從通信設(shè)備發(fā)來的串行數(shù)據(jù),即 DCE 到 DTE 。10.1.3 串行通信的RS-232C標(biāo)準(zhǔn) 信號(hào)地線 1 條 GND ( Signal Ground 信號(hào)地):無方向。 上述控制信號(hào)線何時(shí)有效/無效的順序表示了接口信號(hào)的傳送過程。例如,只有當(dāng) DSR 和 DTR 都處于有效狀態(tài)時(shí),才能在 DTE 和 DCE 之間進(jìn)行傳送操作。若 DTE 要發(fā)送數(shù)據(jù),則預(yù)先將 DTR 線置為有效狀態(tài),等 CTS 線上收到有效狀態(tài)的回答后,才能在 TXD 線上發(fā)送串行數(shù)據(jù)。這種順序的規(guī)定對(duì)半雙工的通信線路特別有用,因

8、為只有半雙工的通信才能確定 DCE 已由接收方向改為發(fā)送方向,這時(shí)線路才能開始發(fā)送。10.1.3 串行通信的RS-232C標(biāo)準(zhǔn) 2. RS-232C 電氣特性規(guī)定 RS-232C 對(duì)電器特性、邏輯電平有如下規(guī)定: 在 TXD 和 RXD 上,邏輯 1 為-3V -15V 。 邏輯 0 為+3v + 15 V。 在 RTS 、 CTS 、 DSR 、 DTR 和 DCD 等控制線上有如下規(guī)定: 信號(hào)有效為+3V+15V 。 信號(hào)有效為-3V-15V 。10.1.3 串行通信的RS-232C標(biāo)準(zhǔn) 3. RS-232C 與 TTL 轉(zhuǎn)換10.1.3 串行通信的RS-232C標(biāo)準(zhǔn) 4. 連接器的機(jī)械特

9、性 由于 RS-232C 并未定義連接器的物理特性,常用的兩種連接器有 DB25 和 DB9 。這兩種連接器又分為插針型 DB25/DB9 連接器和插孔型 DB25/DB9連接器。當(dāng) PC 機(jī)和單片機(jī)之間使用 RS-232C 接口通信時(shí), PC 機(jī)一端主板上采用的通常是插針型連接器,而在單片機(jī)一端則多使用插孔型連接器。10.1.4 串行通信的幀結(jié)構(gòu) 在串行通信中,信息必須經(jīng)過“組裝”后才能在線路上傳輸,信息組裝的最小形式稱為幀( Frame )。一幀通常由起始位、數(shù)據(jù)位、校驗(yàn)位和停止位 4 個(gè)部分組成,由起始位開始,至停止位結(jié)束,每幀傳輸一個(gè)字符。在一幀中,數(shù)據(jù)位可為 5 9 位,校驗(yàn)位可有可

10、無。10.1.5 串行通信的校驗(yàn)與糾錯(cuò)方式 1. 奇偶校驗(yàn):根據(jù)被傳輸?shù)囊唤M二進(jìn)制代碼的數(shù)位中“ 1 ”的個(gè)數(shù)是奇數(shù)或偶數(shù)來進(jìn)行校驗(yàn)。 2. CRC 校驗(yàn): 又稱“循環(huán)冗余校驗(yàn)”,由分組線性碼的分支而來,是數(shù)據(jù)通信領(lǐng)域中最常用的一種高效差錯(cuò)校驗(yàn)碼。 3. 若要對(duì)發(fā)送的一批數(shù)據(jù)進(jìn)行總體校驗(yàn),可采樣“和校驗(yàn)”方法,也就是在發(fā)送方,將發(fā)送的每個(gè)數(shù)據(jù)進(jìn)行累加(或“邏輯加”),將結(jié)果的低字節(jié)作為最后一個(gè)字節(jié)發(fā)出。在接收方用相同的方法對(duì)收到的數(shù)據(jù)進(jìn)行相加,并與最后一個(gè)字節(jié)比較,若相同則傳輸正確,否則傳輸錯(cuò)誤。10.1.6 串行通信的組網(wǎng)方式10.2 PIC中檔單片機(jī)的USART模塊 在 PIC 中檔單片機(jī)

11、片內(nèi)集成了一個(gè)通用同步/異步收發(fā)器 USART 模塊,它可以被程序設(shè)定為全雙工異步通信方式或半雙工同步通信方式。全雙工異步通信分為不可尋址方式和可尋址方式,半雙工同步通信分為同步主控器方式和同步被控器方式。 在 8 位 PIC 單片機(jī)上, USART 模塊的兩條串行通信線分別在RC6/TX/CK 和 RC7/RX/DT上,工作時(shí)它們必須在邏輯上與 RC 口分離(處于高阻狀態(tài)),以防止 RC 對(duì)串口的干擾。具體辦法是讓 TRISC 7:6= 11 ,使RC6 /TX/CK 、 RC7/RX/DT 與 RC口高阻隔離。另外, USART 模塊在單片機(jī)進(jìn)入休眠(SLEEP)時(shí)暫停工作,原因是休眠時(shí)

12、USART 模塊要用的系統(tǒng)時(shí)鐘將停止工作。10.2.1 與USART模塊相關(guān)的寄存器10.2.1 與USART模塊相關(guān)的寄存器 1. 發(fā)送控制兼狀態(tài)寄存器TXSTA TXSTA是6位可讀/寫的寄存器,位3沒有使用,位1(TRMT)是只讀位,是發(fā)送移位寄存器TSR的狀態(tài)位。 2. 接收控制兼狀態(tài)寄存器RCSTA RCSTA是8位可讀/寫的寄存器,低3位是接收寄存器的狀態(tài)位。 3. 波特率發(fā)生器初值寄存器SPBRG 要啟動(dòng)串口通訊首先要選擇合適的波特率,PIC的USART模塊中有一個(gè)8位的波特率發(fā)生器,它根據(jù)SPBRG寄存器的值來決定周期;另外在異步通信的方式下波特率還和BRGH位的狀態(tài)有關(guān)。 4

13、. 發(fā)送緩沖器TXREG和接收緩沖器RCREG 發(fā)送緩沖器TXREG和接收緩沖器RCREG分別是兩個(gè)8位的數(shù)據(jù)寄存器。待發(fā)數(shù)據(jù)要寫入發(fā)送緩沖器TXREG中;每次收到的數(shù)據(jù)可以從接收緩沖器RCREG中讀出。10.2.1 與USART模塊相關(guān)的寄存器發(fā)送控制狀態(tài)寄存器TXSTA各位功能10.2.1 與USART模塊相關(guān)的寄存器接收控制兼狀態(tài)寄存器RCSTA各位功能10.2.2 USART模塊的波特率發(fā)生器BRG 波特率:每位信息的時(shí)間寬度每秒發(fā)送的信息位個(gè)數(shù)。 USART 模塊內(nèi)有一個(gè) 8 位的波特率發(fā)生器 BRG ( Baud Rate Generator ) ,它可以根據(jù)設(shè)定的數(shù)值產(chǎn)生串行數(shù)據(jù)

14、中每一位數(shù)據(jù)的時(shí)間長(zhǎng)度。波特率寄存器 SPBRG 中所存放的值為 BRG 提供了一個(gè)不斷循環(huán)的定時(shí)周期,實(shí)際上是 SPBRG 中的 8 位數(shù)作為減法計(jì)數(shù)器的初值。當(dāng)該 8 位減法計(jì)數(shù)器發(fā)生借位時(shí)(也即減到 00H 后,下一個(gè)計(jì)數(shù)脈沖到達(dá)時(shí)),SPBRG 中所存放的值會(huì)被再次裝載到該減法計(jì)數(shù)器中,如此周而復(fù)始。在異步模式下,波特率由 SPBRG 和 TXSTA 中的 BRGH 位共同決定。10.2.3 USART模塊的異步工作方式 對(duì)發(fā)送狀態(tài)與控制寄存器TXSTA的位4(SYNC)清零,即將USART設(shè)置為異步工作模式。 在 USART 的異步工作模式下含 4 個(gè)功能部件: 波特率發(fā)送器 BRG

15、 采樣電路 異步發(fā)送器 異步接收器 10.2.3 USART模塊的異步工作方式 1. USART異步發(fā)送器正確使用USART異步串行發(fā)送器的編程步驟: (1)選擇合適的波特率,并將對(duì)應(yīng)的參數(shù)值寫入波特率寄存器 SPBRG 。若要選擇高波特率,應(yīng)該將 BRGH (TXSTA )置位。 (2)設(shè)置 SYNC (TXSTA )清零、 SPEN ( RCSTA )置位,使 USART 工作于異步串行模式。 (3)若需要通過中斷來處理發(fā)送過程,則 TXIE (PIEI )置位。 (4)若要發(fā)送的是 9 位數(shù)據(jù)幀結(jié)構(gòu),則 TX9 (TXSTA )置位。 (5)使 TXEN ( TXSTA )置位,使 US

16、ART 處于發(fā)送模式,這也會(huì)導(dǎo)致 TXIF 被置位。正確使用USART異步串行發(fā)送器的編程步驟: (6)若選擇了發(fā)送的是 9 位數(shù)據(jù),則要將第 9 位數(shù)據(jù)寫入 TX9D (TXSTA )。 (7)將要發(fā)送的 8 位數(shù)據(jù)送入 TXREG 寄存器,從而啟動(dòng)發(fā)送器開始串行發(fā)送數(shù)據(jù)。 (8)若要中斷來處理發(fā)送過程,則需確保 GIE 、 PEIE ( INTCON )已被置位且 TXIE(PIEI )已被置位。當(dāng) TXREG 內(nèi)的數(shù)據(jù)被裝入 TSR 時(shí), TXIF 會(huì)被置位并向 CPU 申請(qǐng)中斷, CPU 可在中斷服務(wù)程序中向 TXREG 送新的數(shù)據(jù)。10.2.3 USART模塊的異步工作方式 2. U

17、SART異步接收器正確使用USART異步串行接收器的編程步驟: (1)選擇合適的波特率,并將對(duì)應(yīng)的參數(shù)值寫入波特率寄存器 SPBRG 。若要選擇高波特率,應(yīng)將 BRGH (TXSTA )置位。 (2)設(shè)置 SYNC ( TXSTA )為 0 、 SPEN (RCSTA )為 1,使 USART 工作于異步串行模式。 (3)若需要通過中斷來處理接收過程,則將 RCIE (PIEI )置位。 (4)若要接收的是 9 位數(shù)據(jù)幀結(jié)構(gòu),則將 RX9 (RCSTA )置位。 (5) CREN (RCSTA )置位,激活 USART 的接收器。正確使用USART異步串行接收器的編程步驟: (6)當(dāng)一個(gè)字節(jié)接

18、收完成后,接收中斷標(biāo)志位 RCIF 會(huì)被置位,若接收中斷使能位 RCIE(PIEI )已被置位,則會(huì)引起一次接收中斷。 (7)讀 RCSTA 寄存器可獲取第 9 位數(shù)據(jù)(若選擇了接收 9 位數(shù)據(jù)),并且判斷是否在接收過程中有溢出錯(cuò)( OERR 為 1 )或幀格式錯(cuò)( FERR 為 1 )。 (8)讀取 RCREG 寄存器,獲取接收到的 8 位數(shù)據(jù)。 (9)如果發(fā)生了接收錯(cuò)誤,可通過對(duì) CREN 清零來清除該標(biāo)志位( OERR )。 (10)若要中斷來處理接收過程,則需確保 GIE 、 PEIE ( INTCON )以及 RCIE (PIEI )已被置位。10.2.3 USART模塊的異步工作方

19、式USART異步傳送模式結(jié)構(gòu)原理及時(shí)序圖10.2.3 USART模塊的異步工作方式 3 帶地址檢測(cè)功能的 9 位 USART 異步收發(fā)器 在實(shí)際應(yīng)用中,有時(shí)一個(gè)系統(tǒng)中會(huì)同時(shí)用到多個(gè)單片機(jī),因而存在多機(jī)通信的問題。采用主從式和“一點(diǎn)對(duì)多點(diǎn)”的通信方案是解決多機(jī)通信問題的可行方案。該方案的實(shí)質(zhì)在于通信鏈路中的“可尋址”機(jī)制。 PIC 中檔單片機(jī)的 USART 模塊,就增加了該項(xiàng)機(jī)制,因而這類升級(jí)后的 USART 模塊被稱為“ Addressable USART ,即可尋址的 USART 模塊。 圖10.23 是這類可尋址的多機(jī)通信的連接示意圖,圖中一個(gè)主機(jī)和若干個(gè)從機(jī)通過總線型通信線路相連,每個(gè)從

20、機(jī)有唯一的地址,主機(jī)通過可尋址機(jī)制建立與某從機(jī)之間的通信。10.2.4 USART 模塊的同步主控工作方式 將 USART 模塊工作于同步方式時(shí),除了數(shù)據(jù)線外還需要一條時(shí)鐘信號(hào)線以同步收發(fā)雙方的數(shù)據(jù)傳輸過程。其數(shù)據(jù)傳輸方式是以半雙工方式進(jìn)行的,即收發(fā)不能同時(shí)進(jìn)行。 USART 模塊工作于同步方式時(shí),其對(duì)外信號(hào)引腳仍然使用 PORTC 的 RC7 和 RC6 ,但此時(shí) RC6 被用作串行同步時(shí)鐘 CK ,而 RC7 用作雙向數(shù)據(jù)線 DT 。 同步模式下的信息傳輸格式與異步方式不同,數(shù)據(jù)位仍然可以設(shè)為 8 位或 9 位,但由于有同步時(shí)鐘線,不再需要起始位和結(jié)束位。10.2.4 USART 模塊的同

21、步主控工作方式 1. USART 同步主控發(fā)送 USART 工作于同步主控發(fā)送模式時(shí),需做如下設(shè)置: SYNC (TXSTA )置位,工作于同步模式; SPEN (RCSTA )置位,以開啟串口; CSRC (TXSTA )置位,以工作于主控模式。 在同步主控模式下, Plc 中檔單片機(jī)的 USART 模塊通過 RC6 / CK 發(fā)送串行同步時(shí)鐘。正確使用USART同步主控發(fā)送器的編程步驟: (1)選擇合適的波特率,并將對(duì)應(yīng)的參數(shù)值寫入波特率寄存器 SPBRG 。若要選擇高波特率,應(yīng)設(shè)置 BRGH (TXSTA )為 1 。 (2)將 SYNC (TXSTA )、 SPEN ( RCSTA )

22、和 CSRC (TXSTA )置位、使 USART 工作于同步主控串口模式。 (3)若需要通過中斷來處理發(fā)送過程,則將 TXIE ( PIEI )置位。 (4)若要發(fā)送的是 9 位的數(shù)據(jù),則需將 TX9( TXSTA )置位。 正確使用USART同步主控發(fā)送器的編程步驟: (5)置位 TXEN (TXSTA ) ,使 USART 處于發(fā)送模式。 (6)若選擇了發(fā)送的是 9 位數(shù)據(jù),則要將第 9 位數(shù)據(jù)寫入 TX9D ( TXSTA )。 (7)將要發(fā)送的 8 位數(shù)據(jù)送入 TXREG 寄存器,從而啟動(dòng)發(fā)送器開始串行發(fā)送數(shù)據(jù)。 (8)若要中斷來處理發(fā)送過程,則需確保 GIE 、 PEIE ( IN

23、TCON )已被置位,且 TXIE ( PIEI )已被置位。當(dāng) TXREG 內(nèi)的數(shù)據(jù)被裝入 TSR 時(shí), TXIF 會(huì)被置位并向 CPU 申請(qǐng)中斷, CPU 可在中斷服務(wù)程序中向 TXREG 送新的數(shù)據(jù)。10.2.4 USART 模塊的同步主控工作方式 2. USART 同步主控接收 一旦選擇了同步主控模式,即把 SYNC (TXSTA )和 CSRC (TXSTA )設(shè)為 1 時(shí),只要把 SREN ( RCSTA )或 CREN ( RCSTA )設(shè)為 1 ,就激活了 USART 的同步主控接收功能。正確使用USART同步主控接收器的編程步驟: (1)選擇合適的波特率,并將對(duì)應(yīng)的參數(shù)值寫入

24、波特率寄存器 SPBRG 。 (2)置位 SYNC (TXSTA )、 SPEN(RCSTA )和 CSRC (TXSTA ) ,使 USART 工作于同步主控串口模式。 (3)設(shè)置并確認(rèn) CREN (RCSTA )和 SREN (RCSTA )已經(jīng)被清零。 (4)若需要通過中斷來處理接收過程,則置位 RCIE (PIEI )。 (5)若要接收的是 9 位數(shù)據(jù)結(jié)構(gòu),則置位 RX9(RCSTA )。 (6)如果需要接收單字節(jié),則置位 SREN(RCSTA );若需要連續(xù)接收,則置位 CREN(RCSTA )。 (7)當(dāng)一個(gè)字節(jié)接收完成后,接收中斷標(biāo)志位 RCIF 會(huì)被置位,若接收中斷使能位 RC

25、IE (PIEI )已被置位,則會(huì)引起一次接收中斷。 (8)讀 RCSTA 寄存器以獲取第 9 位數(shù)據(jù) RX9D (若選擇了接收 9 位數(shù)據(jù)),并且判斷是否在接收過程中有溢出錯(cuò)( OERR 被置位)。 (9)讀取 RCREG 寄存器,獲取接收到的 8 位數(shù)據(jù)。 (10 )如果發(fā)生了接收錯(cuò)誤,可通過對(duì) CREN 清零來清除該標(biāo)志位( OERR )。 (11)若要中斷來處理接收過程,則需確保 GIE 、 PEIE ( INTCON )以及 RCIE(PIEI )已被置位。正確使用USART同步主控接收器的編程步驟:10.2.5 USART 模塊的同步被控工作方式 USART 模塊的同步被控工作模式

26、與同步主控模式的區(qū)別在于,前者的串行同步時(shí)鐘信號(hào)是通過引腳 RC6 / TX / CK 由外部引人,而不像同步主控模式由內(nèi)部提供,這使得處于同步被控模式的從機(jī)即使處于休眠狀態(tài)也可以收發(fā)數(shù)據(jù)。 將 PIC16F87X 的 USART 模塊設(shè)為同步被控工作模式包括如下步驟:置位模式選擇位 SYNC (TXSTA ),以選擇同步模式;置位 SPEN ( RCSTA ),以允許串口工作;清零 CSRC (TXSTA ),以工作于被控模式。USART 模塊工作于同步被控模式時(shí),其數(shù)據(jù)傳輸形式與主控模式相同,是采用半雙工方式進(jìn)行的。引腳 RC6/TX/CK 用作外部同步時(shí)鐘的輸人, RC7/RX/DT 用

27、作雙向數(shù)據(jù)線。在同步被控工作模式下,本機(jī)的波特率發(fā)生器 BRG 被禁止工作。 1. USART 同步被控發(fā)送 USART 模塊在同步被控模式的工作除了在休眠模式時(shí)的情況外與主控模式相同。 如果在發(fā)送緩沖器內(nèi)已連續(xù)寫入了 2 個(gè)待發(fā)送的數(shù)據(jù)字節(jié),這時(shí)執(zhí)行了使單片機(jī)進(jìn)入休眠的指令 SLEEP ,在單片機(jī)進(jìn)入休眠的同時(shí),將有下列事件發(fā)生: 第一個(gè)數(shù)據(jù)字節(jié)立即被裝入發(fā)送移位寄存器TSR,并進(jìn)行發(fā)送。 第二個(gè)數(shù)據(jù)字節(jié)仍保留在 TXREG 寄存器中。 中斷標(biāo)志 TXIF 將不會(huì)被置位。 當(dāng)?shù)谝粋€(gè)數(shù)據(jù)字節(jié)移位發(fā)送完成后,第二個(gè)數(shù)據(jù)字節(jié)將從 TXREG 裝入 TSR 進(jìn)行發(fā)送,同時(shí)中斷標(biāo)志 TXIF 將被置位。 如果發(fā)送中斷使能位 TXIE 已被允許( TXIE 為 1 ) ,則中斷會(huì)發(fā)生并將單片機(jī)從休眠中喚醒。10.2.5 USART 模塊的同步被控工作方式正確使用USART同步被控發(fā)送器的編程步驟: (1)置位 SYNC ( TXSTA )和 SPEN 為 1 ( RCSTA ) ,清零 CSRC ( TXSTA )使 USART 工作于同步被控串口模式。 (2)清零 CREN ( RCSTA )和 SREN (RCSTA )。 (3)若需要通過中斷來處理發(fā)送過程,則置

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論