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

下載本文檔

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

文檔簡介

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

2、,傳輸線較多,線間存在電耦合,抗干擾差,收發(fā)需同步,長距離傳送時成本高。長距離傳送時成本高。接收設備發(fā)送設備詢 問應 答101011008 位 同 時 傳 送按分時順序一位一位傳送按分時順序一位一位傳送所需線少,長距離傳送時成本低(電話網(wǎng)所需線少,長距離傳送時成本低(電話網(wǎng)) )傳輸速度低傳輸速度低收發(fā)控制復雜收發(fā)控制復雜接收設備發(fā)送設備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) 幀內各位同步,幀之間異步,幀長度不同幀內各位同步,幀之間異步,幀長度不同(常為一個字節(jié))(常為一個字節(jié)) 硬件要求低,效率較低硬件要求低,效率較低11100110010

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

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

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

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

8、N9FH9EH9DH9CH9BH9AH99H98H位地址串行口工作方式串行口工作方式 SM0SM1方式方式功功 能能 說說 明明000同步移位寄存器方式同步移位寄存器方式,波特率為,波特率為 fosc/12(多多用于擴展用于擴展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ā)送中斷標志位,發(fā)送中斷標志位 RI,接收中斷標志位,接收中斷標志位 2.電源控制寄存器電源控制寄存器 PCON PCON字節(jié)地址位字節(jié)地址位87H,不能位尋址,只有不能位尋址,只有最高位最高位

10、SMOD位與串口工作有關:位與串口工作有關: SMOD1時,波特率加倍;時,波特率加倍; SMOD0時,波特率不加倍時,波特率不加倍。 SMOD稱為稱為波特率倍增位波特率倍增位,復位時復位時SMOD=03.數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器SBUF 單片機內部,有單片機內部,有兩個兩個物理上獨立的緩沖器,分別負責物理上獨立的緩沖器,分別負責接收接收和發(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 時,硬件自動將時,硬件自動將接收緩沖器的內容送入接收緩沖器的內容送入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可用于擴展并行輸入可用于擴展并行輸入/

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

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

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

16、為13. 方式方式2和方式和方式3 方式方式2和方式和方式3均為均為異步異步傳輸方式,傳輸方式, 一幀數(shù)據(jù)由一幀數(shù)據(jù)由11位位構成,即構成,即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炂媾夹r炍晃换蚨鄼C通訊中的或多機通訊中的地址地址/數(shù)據(jù)標識位數(shù)據(jù)標識位 第第9 9位數(shù)據(jù)準備好后,執(zhí)行寫位數(shù)據(jù)準備好后,執(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引腳的負跳變。引腳的負跳變。7.2.3 波特率計算波特率計算 串行通信中,收發(fā)雙方發(fā)送或接收數(shù)據(jù)的串行通信中,收發(fā)雙方發(fā)送或接收數(shù)據(jù)的速率應該相同速率應該相同,才能保證接收。才能保證接收。 51單片機串行口單片機串行口的的四種工作方式中四種工作方式中,方式方式0和方式和方式2的波特的波特率是固定的,這時要求收發(fā)率是固定的,這時要求收發(fā)雙方主頻一致或相差一倍雙方主頻一致或相差一倍; 方式方式1和方式和方式3的波特率可變,必須對雙方的的波特率可變,必須對雙方的定時器定時器進行正

溫馨提示

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

評論

0/150

提交評論