單片機(jī)-07-串口_第1頁
單片機(jī)-07-串口_第2頁
單片機(jī)-07-串口_第3頁
單片機(jī)-07-串口_第4頁
單片機(jī)-07-串口_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第 7 章章 單片機(jī)串行口及其應(yīng)用單片機(jī)串行口及其應(yīng)用 本章介紹本章介紹 串行通訊原理、串行通訊原理、 MCS51串行口的結(jié)構(gòu)、串行口的結(jié)構(gòu)、 串行口工作原理、串行口工作原理、 串行口工作方式,串行口工作方式, 各有關(guān)特殊功能寄存器的設(shè)置、各有關(guān)特殊功能寄存器的設(shè)置、 波特率計(jì)算、波特率計(jì)算、 發(fā)送、接收中斷服務(wù)程序編寫。發(fā)送、接收中斷服務(wù)程序編寫。7.1 7.1 串行通訊基本概念串行通訊基本概念 并行通訊并行通訊將數(shù)據(jù)將數(shù)據(jù)字節(jié)字節(jié)的各位用的各位用多條多條數(shù)據(jù)線數(shù)據(jù)線同時同時進(jìn)行傳送,進(jìn)行傳送,傳輸速度快,且控制簡單;傳輸速度快,且控制簡單;傳輸線較多,線間存在電耦合,抗干擾差,收發(fā)需同步

2、,傳輸線較多,線間存在電耦合,抗干擾差,收發(fā)需同步,長距離傳送時成本高。長距離傳送時成本高。接收設(shè)備發(fā)送設(shè)備詢 問應(yīng) 答101011008 位 同 時 傳 送按分時順序一位一位傳送按分時順序一位一位傳送所需線少,長距離傳送時成本低(電話網(wǎng)所需線少,長距離傳送時成本低(電話網(wǎng)) )傳輸速度低傳輸速度低收發(fā)控制復(fù)雜收發(fā)控制復(fù)雜接收設(shè)備發(fā)送設(shè)備8位順次傳送D0D7串行通訊串行通訊串行通訊的基本概念串行通訊的基本概念一、串行通信的傳輸方式一、串行通信的傳輸方式單工單工半雙工半雙工雙工雙工二、同步與異步傳輸二、同步與異步傳輸同步通信同步通信 將數(shù)據(jù)按約定分成數(shù)據(jù)塊,之間用將數(shù)據(jù)按約定分成數(shù)據(jù)塊,之間用同

3、步字符同步字符隔離,時鐘控隔離,時鐘控制發(fā)送接收同步(制發(fā)送接收同步(發(fā)送接收同頻發(fā)送接收同頻)。)。 傳輸數(shù)據(jù)無間隔傳輸數(shù)據(jù)無間隔(可發(fā)送同步字符占位)(可發(fā)送同步字符占位),數(shù)據(jù)位同步,數(shù)據(jù)位同步,字符同步。字符同步。同步同步數(shù)據(jù)數(shù)據(jù)。數(shù)據(jù)數(shù)據(jù)CRC1CRC2異步通信異步通信 以幀為單位傳送以幀為單位傳送 每幀包括每幀包括起始位起始位(0 0)、)、數(shù)據(jù)位數(shù)據(jù)位(字節(jié),低位在前)、(字節(jié),低位在前)、停止位停止位(1 1) 幀內(nèi)各位同步,幀之間異步,幀長度不同幀內(nèi)各位同步,幀之間異步,幀長度不同(常為一個字節(jié))(常為一個字節(jié)) 硬件要求低,效率較低硬件要求低,效率較低11100110010

4、100100 1發(fā)送設(shè)備接收設(shè)備10100100011110011001間隙任意MCS51單片機(jī)的一幀信息包括一位起始位,單片機(jī)的一幀信息包括一位起始位,8位位或或9位位數(shù)據(jù)位和數(shù)據(jù)位和1位位停止位停止位比特率比特率用來表示串行通訊的傳輸速率。含義是每秒鐘傳輸二用來表示串行通訊的傳輸速率。含義是每秒鐘傳輸二進(jìn)制代碼的進(jìn)制代碼的位數(shù)位數(shù),單位是單位是:位位/ /秒秒(bps)(bps)。如每秒鐘傳送如每秒鐘傳送360幀,而每幀包含幀,而每幀包含10位位(1個起始位、個起始位、8個數(shù)據(jù)位個數(shù)據(jù)位和和1個停止位個停止位),則比特率為:,則比特率為: 10位位360幀幀/秒秒 = 3600 bps波特

5、率波特率是指是指調(diào)制信號調(diào)制信號每秒鐘變化的次數(shù),單位是波特每秒鐘變化的次數(shù),單位是波特( (Baud),),也可用來表示串行通訊的傳輸速率。也可用來表示串行通訊的傳輸速率。三三. .比特率和波特率比特率和波特率四四. .信號的調(diào)制與解調(diào)信號的調(diào)制與解調(diào) 發(fā)送時用調(diào)制器發(fā)送時用調(diào)制器(Modulator)把數(shù)字信號轉(zhuǎn)換成模擬信號把數(shù)字信號轉(zhuǎn)換成模擬信號(調(diào)調(diào)制制),放大后發(fā)送,放大后發(fā)送,(D-A) 接收端由解調(diào)器接收端由解調(diào)器(Demodulator)把收到的模擬信號轉(zhuǎn)換成數(shù)把收到的模擬信號轉(zhuǎn)換成數(shù)字信號字信號(解調(diào)解調(diào))再送入計(jì)算機(jī)或接收設(shè)備;再送入計(jì)算機(jī)或接收設(shè)備;(A-D) 用于傳輸距

6、遠(yuǎn)時(用于傳輸距遠(yuǎn)時(30m),減小信號畸變。,減小信號畸變。7.2 MCS51串行口基本原理串行口基本原理 一個一個全雙工全雙工串行接口,通過串行接口,通過P3口的兩個引腳通信口的兩個引腳通信: 串行數(shù)據(jù)發(fā)送端串行數(shù)據(jù)發(fā)送端TXD (P3.1) 串行數(shù)據(jù)接收端串行數(shù)據(jù)接收端RXD (P3.0) 與串行口有關(guān)的與串行口有關(guān)的SFR有有SCON、PCON和和SBUF; 不可訪問寄存器不可訪問寄存器: 發(fā)送控制器、接收控制器、輸入移位寄發(fā)送控制器、接收控制器、輸入移位寄存器等存器等MCS51單片機(jī)串行口組成原理單片機(jī)串行口組成原理 不論是同步還是異步傳輸,收發(fā)雙方的波特率應(yīng)該一致不論是同步還是異步

7、傳輸,收發(fā)雙方的波特率應(yīng)該一致(位同位同步)步) MCS51單片機(jī)的單片機(jī)的波特率發(fā)生器波特率發(fā)生器由由T1構(gòu)成,對于構(gòu)成,對于52子系列,子系列,也可用也可用T2構(gòu)成波特率發(fā)生器。構(gòu)成波特率發(fā)生器。1SBUF發(fā)送控制器接收控制器移位寄存器控制門TIRIATXDRXD去串口中斷SMOD01TH1TL1216SBUFT1溢出率2167.2.17.2.1與串口操作有關(guān)的特殊功能寄存器與串口操作有關(guān)的特殊功能寄存器1. 串口控制寄存器串口控制寄存器SCON字節(jié)地址字節(jié)地址98H,可位尋址可位尋址,復(fù)位時清零,復(fù)位時清零SM0SM1SM2RENTB8RB8TIRID7D6D5D4D3D2D1D0SCO

8、N9FH9EH9DH9CH9BH9AH99H98H位地址串行口工作方式串行口工作方式 SM0SM1方式方式功功 能能 說說 明明000同步移位寄存器方式同步移位寄存器方式,波特率為,波特率為 fosc/12(多多用于擴(kuò)展用于擴(kuò)展I/O口口)01110位異步傳輸方式位異步傳輸方式,波特率為,波特率為2SMOD fosc/32T1溢出率,可變溢出率,可變10211位位異步傳輸方式,波特率為異步傳輸方式,波特率為2SMOD fosc/6411311位位異步傳輸方式,波特率為異步傳輸方式,波特率為2SMOD fosc/32T1溢出率,可變溢出率,可變REN,允許串行接收位允許串行接收位。如果軟件對。如

9、果軟件對REN置置“1”,則啟,則啟動串行口接收數(shù)據(jù);若清零動串行口接收數(shù)據(jù);若清零REN位,則禁止接收。位,則禁止接收。TB8,在方式,在方式2或方式或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用。軟件規(guī)定其作用。RB8,在方式,在方式2或方式或方式3中,是接收到數(shù)據(jù)的第九位。其作中,是接收到數(shù)據(jù)的第九位。其作用視發(fā)送方用視發(fā)送方TB8的作用而定。的作用而定。TI,發(fā)送中斷標(biāo)志位,發(fā)送中斷標(biāo)志位 RI,接收中斷標(biāo)志位,接收中斷標(biāo)志位 2.電源控制寄存器電源控制寄存器 PCON PCON字節(jié)地址位字節(jié)地址位87H,不能位尋址,只有不能位尋址,只有最高位最高位

10、SMOD位與串口工作有關(guān):位與串口工作有關(guān): SMOD1時,波特率加倍;時,波特率加倍; SMOD0時,波特率不加倍時,波特率不加倍。 SMOD稱為稱為波特率倍增位波特率倍增位,復(fù)位時復(fù)位時SMOD=03.數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器SBUF 單片機(jī)內(nèi)部,有單片機(jī)內(nèi)部,有兩個兩個物理上獨(dú)立的緩沖器,分別負(fù)責(zé)物理上獨(dú)立的緩沖器,分別負(fù)責(zé)接收接收和發(fā)送和發(fā)送數(shù)據(jù),它們占用數(shù)據(jù),它們占用同一同一地址地址99H,編程時使用同樣的,編程時使用同樣的寄存器名稱寄存器名稱SBUF 寫寫SBUFMOV SBUF ,A 時時,硬件自動將數(shù)據(jù)送入,硬件自動將數(shù)據(jù)送入發(fā)送緩沖器,開始串行發(fā)送發(fā)送緩沖器,開始串行發(fā)送 執(zhí)行讀

11、執(zhí)行讀SBUF指令指令MOV A ,SBUF 時,硬件自動將時,硬件自動將接收緩沖器的內(nèi)容送入接收緩沖器的內(nèi)容送入A累加器,完成串行接收累加器,完成串行接收 7.2.2 7.2.2 串行口的工作方式串行口的工作方式 方式方式0 0 同步移位寄存器同步移位寄存器輸入輸出方式。輸入輸出方式。數(shù)據(jù)由數(shù)據(jù)由RXD (P3.0)引腳引腳輸入或輸出輸入或輸出,同步移位脈沖同步移位脈沖由由TXD (P3.1)引腳輸出。引腳輸出。發(fā)送和接收均為發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特位數(shù)據(jù),低位在先,高位在后。波特率固定為率固定為fosc/12。工作方式工作方式0可用于擴(kuò)展并行輸入可用于擴(kuò)展并行輸入/

12、輸出口。輸出口。1)用方式)用方式0發(fā)送發(fā)送 數(shù)據(jù)寫入數(shù)據(jù)寫入SBUF后,開始從后,開始從RXD端發(fā)送,低位在前;端發(fā)送,低位在前; 同時同步移位脈沖從同時同步移位脈沖從TXD端輸出端輸出 一字節(jié)發(fā)送完后,一字節(jié)發(fā)送完后,TI標(biāo)志置標(biāo)志置“1”,發(fā)出中斷請求;,發(fā)出中斷請求; 如果要繼續(xù)發(fā)送下一字節(jié),必須用如果要繼續(xù)發(fā)送下一字節(jié),必須用軟件清除軟件清除TI中斷標(biāo)志。中斷標(biāo)志。 2)用方式)用方式0接收接收 REN為為“1”,且,且RI0的條件下,將啟動一個接收過程。的條件下,將啟動一個接收過程。 RXD為串行輸入端,為串行輸入端,TXD輸出同步脈沖。輸出同步脈沖。 接收完一幀數(shù)據(jù)后,各控制信號

13、復(fù)位,接收完一幀數(shù)據(jù)后,各控制信號復(fù)位,RI變高電平,請求變高電平,請求中斷。中斷。 要再次接收,也必須用要再次接收,也必須用軟件清零軟件清零RI。 2.方式方式1 方式方式1是異步傳輸方式。是異步傳輸方式。 一幀數(shù)據(jù)為一幀數(shù)據(jù)為10位位,包括數(shù)據(jù),包括數(shù)據(jù)1位起始位位起始位(0),8位數(shù)據(jù)位,位數(shù)據(jù)位,1位停位停止位止位(1), TXD為數(shù)據(jù)發(fā)送引腳,為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳。為數(shù)據(jù)接收引腳。 1)用方式)用方式1發(fā)送發(fā)送 CPU執(zhí)行寫執(zhí)行寫SBUF的指令后,便開始一次發(fā)送過程,數(shù)據(jù)的指令后,便開始一次發(fā)送過程,數(shù)據(jù)逐位逐位從從TXD端送出,端送出, 發(fā)送所用移位脈沖是發(fā)送所用移

14、位脈沖是定時器定時器1溢出信號溢出信號經(jīng)經(jīng)16或或32分頻分頻信號,信號,即波特率是可變的,即波特率是可變的, 方式方式1的波特率為的波特率為2SMOD / 32T1溢出率。溢出率。 一幀數(shù)據(jù)發(fā)送完后,一幀數(shù)據(jù)發(fā)送完后,TI置置“1”,請求中斷,請求中斷。TI標(biāo)志也只標(biāo)志也只能用能用軟件清除軟件清除。 2)用方式)用方式1接收接收 REN被被軟件軟件置置“1 1”后,接收器以所選擇波特率的后,接收器以所選擇波特率的16倍倍速速率采樣率采樣RXD引腳電平,當(dāng)檢測到引腳電平,當(dāng)檢測到RXD引腳輸入電平發(fā)生引腳輸入電平發(fā)生負(fù)跳變負(fù)跳變時,則說明起始位有效,將其移入輸入移位寄存器,時,則說明起始位有效

15、,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位,并開始接收這一幀信息的其余位, 接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進(jìn)行最后一次移位。至輸入移位寄存器最左邊時,控制電路進(jìn)行最后一次移位。 9位數(shù)據(jù)收完以后,如果滿足下列條件則將接收到的前位數(shù)據(jù)收完以后,如果滿足下列條件則將接收到的前8位數(shù)位數(shù)據(jù)裝入接收據(jù)裝入接收SBUF,第,第9位位(停止位停止位)進(jìn)入進(jìn)入RB8,并置,并置RI=1,向,向CPU請求中斷。請求中斷。 RI=0; SM2=0,或,或SM2=1但接收到的停止位為但接收到的停止位

16、為13. 方式方式2和方式和方式3 方式方式2和方式和方式3均為均為異步異步傳輸方式,傳輸方式, 一幀數(shù)據(jù)由一幀數(shù)據(jù)由11位位構(gòu)成,即構(gòu)成,即1位起始位(位起始位(0),),8位數(shù)據(jù)位,位數(shù)據(jù)位,1位位可編程位可編程位和和1位停止位(位停止位(1),), TXD為數(shù)據(jù)發(fā)送引腳,為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,為數(shù)據(jù)接收引腳, 方式方式2的波特率僅受波特率倍增位的影響,的波特率僅受波特率倍增位的影響, 2SMODfosc/64; 方式方式3的波特率可變,為的波特率可變,為2SMOD/32T1溢出率溢出率。TB8。1)用方式)用方式2或或3發(fā)送發(fā)送 方式方式2或或3一幀數(shù)據(jù)包括一幀數(shù)據(jù)包括9

17、位有效位位有效位,發(fā)送前必須將要發(fā)送的第,發(fā)送前必須將要發(fā)送的第9位數(shù)據(jù)裝入位數(shù)據(jù)裝入SCON寄存器的寄存器的TB8中,常用方法是使用指令中,常用方法是使用指令STEB 或或CLR TB8置置“1”或清零?;蚯辶?。 第第9位數(shù)據(jù)的作用完全由用戶程序決定,通??勺鳛槲粩?shù)據(jù)的作用完全由用戶程序決定,通??勺鳛槠媾夹r?yàn)奇偶校驗(yàn)位位或多機(jī)通訊中的或多機(jī)通訊中的地址地址/數(shù)據(jù)標(biāo)識位數(shù)據(jù)標(biāo)識位 第第9 9位數(shù)據(jù)準(zhǔn)備好后,執(zhí)行寫位數(shù)據(jù)準(zhǔn)備好后,執(zhí)行寫SBUF寄存器的指令即開始發(fā)送寄存器的指令即開始發(fā)送 2)用方式)用方式2或或3接收接收 REN置置“1”后,開始接收后,開始接收,接收過程,接收過程與方式與方

18、式1相同,相同, 8位數(shù)據(jù)接收完后,如果位數(shù)據(jù)接收完后,如果RI=0,且,且SM2=0(或接收到的第(或接收到的第9位位數(shù)據(jù)為數(shù)據(jù)為1)時,接收到的)時,接收到的8位位數(shù)據(jù)裝入接收緩沖器數(shù)據(jù)裝入接收緩沖器SBUF,第第9位裝入位裝入RB8,置,置位位RI,向,向CPU請求中斷。請求中斷。 如果條件不滿足,則數(shù)據(jù)丟失,且不置位如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索,繼續(xù)搜索RXD引腳的負(fù)跳變。引腳的負(fù)跳變。7.2.3 波特率計(jì)算波特率計(jì)算 串行通信中,收發(fā)雙方發(fā)送或接收數(shù)據(jù)的串行通信中,收發(fā)雙方發(fā)送或接收數(shù)據(jù)的速率應(yīng)該相同速率應(yīng)該相同,才能保證接收。才能保證接收。 51單片機(jī)串行口單片機(jī)串行口的的四種工作方式中四種工作方式中,方式方式0和方式和方式2的波特的波特率是固定的,這時要求收發(fā)率是固定的,這時要求收發(fā)雙方主頻一致或相差一倍雙方主頻一致或相差一倍; 方式方式1和方式和方式3的波特率可變,必須對雙方的的波特率可變,必須對雙方的定時器定時器進(jìn)行正

溫馨提示

  • 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

提交評論