單片機課件 第五章_第1頁
單片機課件 第五章_第2頁
單片機課件 第五章_第3頁
單片機課件 第五章_第4頁
單片機課件 第五章_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 單片機原理及應用單片機原理及應用 (第5章)第5章 C51單片機最小系統及應用 C51單片機最小系統除了有 CPU、存儲器和并行I/O口之外,還包括定時/計數器、中斷系統和串行接口。對于一些增強型單片機而言,內部還集成了看門狗、A/D轉換器等。l5.1 中斷系統n5.1.1中斷概述 中斷是CPU平常可以處理自己的工作,只有外設需要和CPU之間進行信息傳送的時候,才采用中斷的方式,暫停CPU的工作,使CPU轉去處理外設的請求,處理完外設請求后,CPU繼續執行原來被暫停的工作。中斷傳輸是CPU與外設間最常用的一種數據傳輸方式。第5章 C51單片機最小系統及應用采用中斷傳輸方式的功能:(1)CPU

2、與外設同步工作:CPU與外設間由串行工作變為并行工作。在CPU啟動程序后,執行主程序。當外設準備好傳送數據后,才要求CPU對其進行處理,發出中斷申請,處理后CPU回到主程序繼續執行,而外設得到新的數據后也可工作。實現CPU和外設的并行工作,大大提高了單片機的效率。(2)實時處理:所謂“實時”指單片機能夠對現場采集到的信息及時做出分析和處理,以便對被控對象立即做出響應,使被控對象保持最佳工作狀態。利用中斷技術可及時處理隨機輸入的各種參數和信息,使單片機具備實時處理和控制功能。第5章 C51單片機最小系統及應用(3)故障處理:CPU在運行過程中,會隨機出現一些無法預料的故障,如電源和硬件故障,數據

3、運送錯誤等。利用中斷系統,CPU可根據故障源發出的中斷請求,立即執行相應的故障處理程序而不必停機,從而提高了單片機的可靠性。n5.1.2 中斷的相關概念(1)中斷:當CPU正在執行某項任務A,而外界或內部發生了緊急事件B,向CPU提出中斷請求, CPU暫停原來的任務A(中斷響應),轉去處理事件(中斷服務),對事件B處理完畢后,再回到原來任務A被中斷的地方(即斷點)繼續處理事件A(中斷返回),這一過程稱為中斷。(2)中斷源:向CPU提出中斷請求的來源、引起中斷的原因,稱為中斷源。中斷源可以是I/O設備、故障、時鐘及調試中的設置。C51中一共有5個:兩個外部中斷,兩個定時/計數器中斷,一個串行口中

4、斷。第5章 C51單片機最小系統及應用(3)中斷響應:CPU在滿足條件情況下接受中斷申請,終止現行程序執行,轉而為申請中斷的對象服務稱中斷響應。(4)斷點:現行程序被中斷的地址稱為斷點。(5)中斷嵌套及中斷優先級:當幾個中斷源同時向CPU發出中斷請求時,CPU應優先響應最需要緊急處理的中斷請求,需要規定各個中斷源的優先級,優先級高的請求處理完畢后,再響應優先級低的請求,這種預先安排好的響應次序叫做中斷優先級(6)中斷系統:實現中斷的硬件邏輯和實現中斷功能的指令,統稱為中斷系統。(7)中斷服務程序和中斷返回:實現中斷功能的處理程序稱為中斷服務程序;完成中斷服務程序后,返回到被中斷的程序繼續執行,

5、該過程稱為中斷返回。第5章 C51單片機最小系統及應用n5.1.3中斷系統中斷請求是在執行程序的過程中隨機發生的,中斷系統要解決如下問題:(1)CPU在不斷執行指令的過程中,如何檢測到隨機發生的中斷請求?(2)如何使中斷的雙方(CPU和中斷源)均能人為控制允許中斷或禁止中斷?(3)由于中斷的產生存在隨機性,因此不可能在程序中使用子程序調用指令或轉移指令,那么如何實現正確的轉移,從而更好地為該中斷源服務?(4)中斷源有多個,而CPU只有一個,當有多個中斷源同時有中斷請求時,用戶怎樣控制CPU按照自己的需要安排響應次序?第5章 C51單片機最小系統及應用(5)中斷服務完畢,如何正確地返回到斷點?1

6、. 中斷系統結構第5章 C51單片機最小系統及應用 C51系列單片機中不同型號芯片的中斷源數量是不同的,最基本的C51單片機有5個中斷源,分別是兩個外部中斷 (P3.2)和 (P3.3),2個片內定時/計數器溢出中斷TF0和TF1,一個片內串行口中斷TI和RI。 特殊功能寄存器包括定時/計數器控制寄存器TCON、串行口控制寄存器SCON、中斷允許寄存器IE和中斷優先級寄存器IP,主要用于控制中斷的打開和關閉、保存中斷信息、設置優先級別。2.C51的中斷源:C51單片機的5個中斷源分別是:第5章 C51單片機最小系統及應用 (1) 外部中斷請求0,由引腳(P3.2)輸入,低電平/負跳變有效,在每

7、個機器周期的S5P2采樣,請求標志位為IE0。(2)外部中斷請求1,由引腳(P3.3)輸入,低電平/負跳變有效,在每個機器周期的S5P2采樣,請求標志位為IE1。(3)定時/計數器T0溢出中斷請求,請求標志位為TF0。(4)定時/計數器T1溢出中斷請求,請求標志位為TF1。(5)串行口中斷請求,當串行口完成一幀數據的發送和接收時請求中斷,請求標志位為TI或RI。3.相關寄存器第5章 C51單片機最小系統及應用 C51中斷系統在4個特殊功能寄存器控制下工作。4個特殊功能寄存器是定時/計數器控制寄存器(TCON)、串行口控制寄存器(SCON)、中斷允許控制寄存器(IE)和中斷優先級控制寄存器(IP

8、)。(1)中斷允許寄存器IE(A8H)C51對中斷源的允許或屏蔽是由中斷允許寄存器IE控制,可按位尋址。單片機復位時,IE被清0。通過對IE的各位置1或清0,實現允許或屏蔽某個中斷。 D7D6D5D4D3D2D1D0IEEAESET1EX1ET1EX00A8H0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H第5章 C51單片機最小系統及應用EA:總中斷允許控制位。EA=0時,屏蔽所有中斷;EA=l時,開放所有中斷。ES:串口中斷允許控制位。ES=0時,屏蔽串口中斷;ES=l且EA=1時,允許串口中斷。ETl:定時計數器Tl中斷允許控制位。ETl=0時,屏蔽Tl溢出中斷;ETl=

9、 l且EA=1時,允許Tl溢出中斷。EXl:外部中斷中斷允許控制位。EXl=0時,屏蔽外部中斷; EXl=l且EA=1時,允許外部中斷。ET0:定時計數器T0中斷允許控制位。功能與ETl類似。EX0:外部中斷的中斷允許控制位。功能與EXl類似。 單片機采用兩級中斷控制,1個總的開關控制EA,5個中斷源控制位, 設置中斷允許時,各個中斷控制位應該和中斷允許總控制位配合使用。第5章 C51單片機最小系統及應用(2)中斷優先級控制寄存器IP(B8H) 中斷系統中,用戶對中斷的管理還體現在當有多個中斷源有中斷請求時,用戶控制CPU按照自己的需要安排響應次序。這種管理通過對特殊功能寄存器IP的設置來完成

10、,可位尋址。D7D6D5D4D3D2D1 D0IPPSPT1PX1PT0 PX0 0B8H0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8HPX0、PT0、PXl、PTl和PS分別為、T0、Tl和串口中斷優先級控制位。當相應的位為0時,所對應的中斷源定義為低優先級,相反則定義為高優先級。第5章 C51單片機最小系統及應用CPU響應中斷的優先級控制原則是:(1)若多個中斷請求同時有效,CPU優先響應優先權最高的中斷。如果是同級中斷,則按照CPU查詢次序確定哪個中斷被響應。(2)同級的中斷或更低級的中斷不能打斷CPU正在響應的中斷過程。一直到該中斷服務程序結束,返回主程序且執行了主程

11、序中的一條指令后,CPU才響應新的中斷請求。 (3)低優先權的中斷響應過程可被高優先權的中斷請求所中斷,CPU會暫時中止當前低優先權的中斷過程,而響應高優先權中斷第5章 C51單片機最小系統及應用n5.1.4中斷響應過程1.中斷請求及中斷撤除(1)中斷請求:若是外部中斷源,則需將外部中斷源接到單片機的P3.2()或P3.3()引腳上。當外部中斷源發出有效中斷信號時,相應的中斷請求標志位IE0或IE1置“1”,提出中斷請求。若是內部中斷源發出有效中斷信號,如T0、T1溢出,則相應的中斷請求標志位TF0或TF1置“1”,提出中斷請求。(2)中斷請求的撤除:CPU響應中斷請求,轉向中斷服務程序執行,

12、在其執行中斷返回指令RETI之前,中斷請求信號必須撤除,否則將會再一次引起中斷而出錯。第5章 C51單片機最小系統及應用2.中斷響應(1)單片機響應中斷的條件:單片機響應中斷的條件是中斷源有請求且CPU開中斷(即EA=1) 無同級或高級中斷正在處理。現行指令執行到最后1個機器周期且已結束。若現行指令為RETI或訪問特殊功能寄存器IE、IP的指令時,執行完該指令且緊隨其后的另一條指令也已執行完畢。(2)中斷響應過程:置位中斷優先級有效觸發器,即關閉同級和低級中斷;轉入中斷服務程序入口地址,斷點入棧保護; 進入中斷服務程序。第5章 C51單片機最小系統及應用(3)響應時間:從查詢中斷請求標志位到轉

13、向中斷服務入口地址所需的機器周期數。最快響應時間以外部中斷的電平觸發為最快。從查詢中斷請求信號到中斷服務程序需要三個機器周期:1個周期(查詢)2個周期(保護斷點,相當于LCALL指令)。最長時間若當前指令是RET、RETI和訪問IP、IE指令,緊接著下一條是乘除指令,則最長為8個周期:2個周期執行當前指令(其中含有1個周期查詢)4個周期乘除指令2個周期長調用8個周期。第5章 C51單片機最小系統及應用3.中斷服務程序(1)中斷服務程序設計的基本任務:設置IE,允許相應的中斷請求。設置IP,確定并分配所使用的中斷優先級。若是外部中斷源,還要設置中斷請求的觸發方式IT1或IT0,以決定采用電平觸發

14、還是邊沿觸發。編寫中斷服務程序,處理中斷請求。(2)中斷服務程序的流程第5章 C51單片機最小系統及應用4.恢復現場:與保護現場相對應,在返回前(即執行返回指令RETI前),通過“POP direct”指令將保護現場時壓入堆棧的內容彈出,送到相關的存儲單元后,再中斷返回。5.中斷返回:中斷處理程序的最后一條指令是RETI,它的功能是使CPU結束中斷處理程序的執行,返回到斷點處,繼續執行主程序。n5.1.5中斷的編程及應用 對中斷系統進行初始化,即對幾個特殊功能寄存器的有關控制位進行賦值(1)開中斷和允許中斷源中斷,設置IE。(2)確定各中斷源的優先級,設置IP。(3)若為外部中斷,應規定是電平

15、觸發還是邊沿觸發,設置中斷請求的觸發方式ITx(x=0/1)。第5章 C51單片機最小系統及應用在中斷服務程序中需完成下面幾個必要工作:(1)現場保護和現場恢復(2)開中斷和關中斷 (3)中斷處理(4)中斷返回l5.2 定時/計數器n5.2.1 概述1.計數容量 :C51單片機中有兩個計數器,分別稱之為T0和T1,這兩個計數器分別是由兩個8位的RAM單元組成,即每個計數器都是16位,最大計數容量是65536。2.定時:定時/計數器是單片機中最常用、最基本的重要組成功能部件之一,可用來實現定時控制、延時、頻率測量、脈沖寬度測量、信號發生、信號檢測等功能。第5章 C51單片機最小系統及應用3.溢出

16、:計數器溢出時,將使標志位TF0/TF1置“1”。一旦TF0/TF1由0變1,就會引發事件,像定時的時間一到,鬧鐘會響。4.定時方法:1)硬件定時-硬件定時方法的特點是定時功能全部由硬件電路完成,不占CPU時間,可通過修改電路中的元件參數(電阻或電容值)來調節定時時間,但硬件連接好以后,定時值不能由軟件進行控制和修改,即不可編程。2)軟件定時-讓CPU循環執行一段程序以實現延遲,延遲時間可通過選擇指令和設計循環次數來實現。軟件定時的特點是時間精確,且無需外加硬件電路。3)可編程定時-通過對系統時鐘脈沖的計數來實現。計數值容易用程序來設定和修改,使用既靈活又方便。第5章 C51單片機最小系統及應

17、用5.單片機時鐘特點及與微機的區別:設單片機外接12MHz晶振。單片機中,定時/計數器實際是一個加1計數器,每輸入一個脈沖,計數器的值就會自動加1,而花費的時間恰好是1微秒;只要相鄰兩個計數脈沖間的時間間隔相等,則計數值就代表了時間的流逝。PC機上的CPU主頻是晶振經過倍頻之后的頻率,這一點恰好與C51單片機的相反。而C51單片機的主頻是晶振經過分頻之后的頻率。所以,C51單片機中的時間概念是通過測量計數脈沖的個數得到n5.2.2 定時/計數的結構與工作原理1. 定時/計數器結構: C51單片機內部設有兩個16位的可編程定時/計數器:定時器0和定時器1。T0由2個定時寄存器TH0和TL0構成,

18、T1則由TH1和TL1構成,它們分別映射在特殊功能寄存器中。第5章 C51單片機最小系統及應用 第5章 C51單片機最小系統及應用2. 定時/計數器工作原理16位定時/計數器的控制電路受軟件控制、切換。當定時/計數器設置為定時工作方式時,計數器對內部機器周期計數,每過一個機器周期,計數器加1,直至計滿溢出。定時器的定時時間與系統的振蕩頻率緊密相關,因為C51單片機的一個機器周期等于12個振蕩周期,如果單片機系統采用12MHz晶振,即計數頻率fcount=fosc,則計數周期為: usT11012126第5章 C51單片機最小系統及應用計數寄存器的溢出: (1)每來一個脈沖,計數器寄存器加1;

19、(2)計數器計滿時,再來一脈沖加1,計數器溢出,產生溢出信號,TF0或TF1置1; (3)計數器溢出事件表示定時時間到或計數值已滿,需要單片機處理,計數的初值為:計數初值=2n-計數值。3. 定時/計數器的控制寄存器 在定時/計數器開始工作前,CPU必須將控制字寫入定時/計數器的相關寄存器,實現定時/計數器初始化。在初始化過程中,要將工作方式控制字寫入方式寄存器,工作狀態字寫入控制寄存器,賦定時/計數初值。第5章 C51單片機最小系統及應用(1)定時/計數器控制寄存器TCON(88H) TCON為定時計數器控制寄存器,地址為88H,可位尋址,位地址范圍為88H8FH。其功能是控制定時器的啟動和

20、停止,它除了控制定時數器T0、Tl的溢出中斷外,還控制著兩個外部中斷源的觸發方式和鎖存兩個外部中斷源的中斷請求標志IE0和IE1。TCON T1 T1 T0 T0 INT1 INT1 INT0 INT0 中斷標志 運行標志 中斷標志 運行標志 中斷標志 觸發方式 中斷標志 觸發方式名稱TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H 88H第5章 C51單片機最小系統及應用 TF1/TF0:C/T1、C/T0溢出中斷請求標志位 TR1/TR0:C/T1、C/T0運行控制位。 IT0/IT1:外部中斷0(或1)的中斷觸發方式控制位 IE0/IE1:

21、外部中斷0(或1)的中斷請求標志位(2)定時/計數器方式寄存器TMOD(89H) TMOD在特殊功能寄存器中,字節地址為89H,無位地址,不能位操作,設置TMOD須用字節操作指令。TMODGATEC/T M1 M0 GATE C/T M1 M089HD7D6 D5 D4 D3 D2 D1D0 定時器1 定時器0T第5章 C51單片機最小系統及應用n5.2.3 定時/計數器工作方式 C51系列單片機的定時/計數器還有4種工作方式(方式0、方式1、方式2和方式3)。除方式3外,T0和T1有完全相同的工作狀態。1.工作方式0及其應用 工作方式0是13位計數器方式。最大計數值213 = 8192。定時

22、時間為: t=(213T0初值)機器周期=(213T0初值)振蕩周期12 最大定時時間:213機器周期第5章 C51單片機最小系統及應用定時/計數器0工作在方式0時電路邏輯結構如圖第5章 C51單片機最小系統及應用 當=0時,定時/計數器被設置為定時方式,單片機系統時鐘振蕩器產生的振蕩信號被12分頻后作為時基脈沖,加法計數器對機器周期計數;當=1時,定時/計數器被設置為計數方式,外部信號被選中,由T0端(P3.4腳)輸入作為計數脈沖,當計數脈沖發生負跳變時,計數器加1,實現計數功能。2.工作方式1及其應用方式1是16位計數結構的工作方式。邏輯結構如圖5-10所示。TL0:存放計數初值的低8位。

23、TH0存放計數初值的高8位。定時時間的計算: 定時時間=(216-定時初值)機器周期最大定時時間:216機器周期。第5章 C51單片機最小系統及應用第5章 C51單片機最小系統及應用當為計數工作方式時,計數值的范圍是:165536(216)當為定時工作方式時,定時時間計算公式為: t=(216計數初值)晶振周期12 或 t=(216計數初值)機器周期 3.工作方式2及其應用方式2為可自動重裝時間常數的8位定時/計數器。TL0為8位的定時/計數器,而TH0為8位預置寄存器,用于保存計數初值。工作過程:當TL0計滿溢出時,TF0置1,向CPU發出中斷請求;同時引起重裝操作(TH0的計數初值送到TL

24、0),進行新一輪計數。第5章 C51單片機最小系統及應用優點:模式2能夠進行自動重裝載。模式0和1計數溢出后,計數器為全0。循環定時或計數時,需要重新設置初值。故當模式2能夠滿足計數/定時要求時,盡可能使用模式2。 缺點:這種方式的定時/計數范圍要小于方式0和方式1。4.工作方式3及其應用 方式3為兩個獨立的8位計數器,即把定時器0的兩個8位計數寄存器TH0和TL0分開使用。但此方式僅適用于T0,T1無方式3。第5章 C51單片機最小系統及應用n5.2.4 定時/計數器的應用1.定時/計數器的初始化(1)確定工作方式,盡可能地選擇方式2,若 N256選擇方式2,否則選擇方式1;如果需要增加一個

25、定時/計數器則選擇方式3;(2)預置定時或計數初值(可直接將初值寫入TH0、TL0或TH1、TL1);(3)根據需要開放定時/計數器的中斷(直接對IE位賦值); (4)啟動定時/計數器(若已規定用軟件啟動,則可把TR0或TR1置“1”;若已規定由外中斷引腳電平啟動,則需給外引腳加啟動電平。第5章 C51單片機最小系統及應用2.定時/計數器初值計算(1)工作于定時方式計數脈沖由內部的時鐘提供,每個機器周期進行加1。設晶振頻率為fosc,則計數脈沖的頻率為fosc/12,計數脈沖周期T=1/(fosc/12)。設定時時間為t,求計數初值X,則: t=(2n -X)12/fosc (2)工作于計數方

26、式當工作在計數方式時,對外部脈沖計數。利用計數器計數結束產生溢出的特性,來計算初值X 。則有: X= 2n計數次數 第5章 C51單片機最小系統及應用l5.3 C51單片機串行通信與串行接口5.3.1串行通信基礎知識1. 并行通信方式:并行通信將數據字節的各位用多條數據線同時傳送,每一位數據都需要一條傳輸線,如圖2.串行通信方式: 串行通信將數據的各位一位一位地依次傳送。只需要一條數據線,外加一條公共信號地線和若干控制信號線第5章 C51單片機最小系統及應用3.串行通信的分類:按照同步時鐘的不同,串行通信可分為同步通信和異步通信。在單片機中使用的大都是異步串行通信1)異步通信:異步通信中數據通

27、常是以字符(或字節)為單位組成字符幀傳送。字符幀由發送端到接收端一幀一幀地發送和接收,這兩個時鐘彼此獨立,互不同步 在異步通信方式中,接收器和發送器有各自的時鐘,它們是非同步工作。通常,在無數據傳送時,發送線為高電平(邏輯“ 1 ”),每當接收端檢測到傳輸線上發送過來的低電平邏輯“ 0 ”(字符幀中起始位)時就知道發送端已開始發送,每當接收端接收到字符幀中停止位時就知道一幀字符信息已發送完畢。 第5章 C51單片機最小系統及應用(1)異步串行通信的字符格式 在異步通信中,接收端是依靠字符幀格式來判斷發送端開始發送和結束發送的時間。字符幀也叫數據幀,由4部分組成: 起始位、 數據位、 奇偶校驗位

28、和停止位.(2)異步通信的傳輸速率 異步串行通信的傳送速率用波特率表示。波特率的定義為每秒鐘傳送二進制數碼的位數(亦稱比特數),單位是bps(bit per second),即位秒(3)傳輸距離與傳輸速率的關系 串行接口或終端直接傳送串行信息位流的最大距離與傳輸速率及傳輸線的電氣特性有關。傳輸距離是隨傳輸速率的增加而減小。第5章 C51單片機最小系統及應用(4)異步通信的傳輸方式 根據同一時刻串行通信的數據方向,異步串行通信可分為單工、半雙工、全雙工和多工方式等多種數據通路形式。 單工方式:數據僅按一個固定方向傳送。 半雙工方式式:數據可實現雙向傳送,但不能同時進行,實際的應用采用某種協議實現

29、收/發開關轉換。 全雙工方式式:允許雙方同時進行數據雙向傳送,但一般全雙工傳輸方式的線路和設備較復雜。 多工方式:以上三種傳輸方式都是用同一線路傳輸一種頻率信號,為了充分地利用線路資源,可通過使用多路復用器或多路集線器,采用頻分、時分或碼分復用技術,可實現在同一線路上資源共享功能,稱之為多工傳輸方式。第5章 C51單片機最小系統及應用2)同步通信 同步通信是一種連續串行傳送數據的方式, 一次通信只傳送一幀信息,同步通信格式中,發送器和接收器由同一個時鐘源控制。在異步通信中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時間,在要求傳送數據量較大的場合,速度就慢得多。為克服這一缺點,同步傳輸

30、方式去掉了這些起始位和停止位,只在傳輸數據塊時先送出一個同步頭(字符)標志即可。同步通信中,在數據開始傳送前用同步字符來指示(常約定12個),并由時鐘來實現發送端和接收端同步,即檢測到規定的同步字符后,連續按順序傳送數據。同步傳送時,字符與字符之間沒有間隙,僅在數據塊開始時用同步字符SYNC來指示,其數據格式如圖5-20所示。第5章 C51單片機最小系統及應用第5章 C51單片機最小系統及應用4.串行通信的校驗 異步通信時可能會出現幀格式錯、超時錯等傳輸錯誤,因此,應對數據進行差錯校驗。常用差錯校驗方法有奇偶校驗、和校驗及循環冗余碼校驗。(1) 奇偶校驗:發送數據時, 數據位尾隨1位數據, 為

31、奇偶校驗位(1或0)。當設置為奇校驗(0)時,數據中“1”的個數與校驗位“1”的個數之和應為奇數。當設置為偶校驗(1)時,數據中“1”的個數與校驗位“1”的個數之和應為偶數。 接收時,接收方應具有與發送方一致的差錯檢驗設置。當接收一個字符時,對“1”的個數進行校驗,若二者不一致,則說明數據傳送出現差錯。第5章 C51單片機最小系統及應用(2) 和校驗: 發送方將所發送的數據塊求和(字節數求和),并產生一個字節的校驗字符(校驗和)附加到數據塊末尾。接收方接收數據時也是先對數據塊求和,將所得結果與發送方的校驗和進行比較,相符則無差錯,否則出現差錯。特點是無法檢驗出字節位序的錯誤。(3)循環冗余碼校

32、驗這種校驗是對一個數據塊校驗一次。例如對磁盤信息的訪問、ROM或RAM存儲區的完整性等的檢驗。這種方法廣泛應用于串行通信方式。n5.3.2 C51串行接口編程結構 C51單片機內部有一個全雙工、異步、串行、通信接口,通過引腳TXD(P3.1)和RXD(P3.0)實現串行數據的發送和接收。它既可實現串行異步通信,也可作為同步移位寄存器使用。 第5章 C51單片機最小系統及應用1. C51 串行口結構 C51單片機串行口包括發送緩沖寄存器(SBUF)、發送控制器、發送控制門、接收緩沖寄存器(SBUF)、接收控制寄存器、移位寄存器和中斷構成。第5章 C51單片機最小系統及應用2.C51串行口相關寄存

33、器 控制C51單片機串口的寄存器有兩個SCON和PCON。與串行通信有關的控制寄存器共有4個:SBUF、SCON、PCON和IE(1)串行口控制寄存器SCON(98H) C51串行通信的方式選擇、接收和發送控制以及串行口的狀態標志等由特殊功能寄存器SCON控制和指示,其控制字格式如圖復位時,SCON所有位均清0。SCON可位尋址,字節地址98H,位地址9FH98H。第5章 C51單片機最小系統及應用第5章 C51單片機最小系統及應用串行口工作方式選擇位SM0、SM1(SCON.7,SCON.6)兩個選擇位對應4種工作方式,如表5.7所示。其中,fosc是振蕩頻率。SM0、SM1由軟件置1或清0

34、,用于選擇串行口的4種工作方式(方式0、1、2、3)。SM0 SM1 工作方式 說明 波特率 0 0 方式0 同步移位寄存器 fosc/12 0 1 方式1 10位異步收發器(8位數據)有定時器控制 1 0 方式2 11位異步收發器(9位數據) fosc/32,fosc/64 1 1 方式3 11位異步收發器(9位數據)有定時器控制第5章 C51單片機最小系統及應用多機通信控制位SM2(SCON.5) 主要用于方式2和方式3。當串行口在方式2或方式3下進行數據接收時,如果SM2=1(允許多機通信)。 若SM2=0,單機通信方式,當收到RB8(0或1),則接收一貞數據后,不管第九位數據是0還是1

35、,都置RI=1,使接收到的數據裝入SBUF。若置SM2=1,則允許多機通信。當一片C51(主機)與多片C51(從機)通信時,所有從機的SM2位都置1。主機首先發送一幀數據為地址,即從機編號,其中第9位為1,所有的從機接收到數據后,將其中第9位裝入RB8中。各個從機根據收到的第9位數據(RB8中)的值來決定從機可否再接收主機的信息。第5章 C51單片機最小系統及應用當SM2=1,REN=1時,若從機接收到的(RB8)0,說明是數據幀,收到的信息丟棄,不激活RI;若(RB8)1,說明是地址幀,數據裝入SBUF并置RI1,中斷所有從機,被尋址的目標從機清除SM2以接收主機發來的一幀數據。其他從機仍然

36、保持SM21。允許接收控制位REN(SCON.4) 由軟件置1或清0,只有當REN1時才允許接收;若REN0,則禁止接收。發送數據D8位TB8(SCON.3) 發送數據的第9位(D8)裝入TB8中。TB8是方式2、方式3中要發送的第9位數據,事先用軟件寫入1或0。方式0、方式1不用。第5章 C51單片機最小系統及應用接收數據D8位RB8(SCON.2) 接收數據的第9位。在方式2或方式3中,由硬件將接收到的第九位數據存入RB8位。它或是約定的奇/偶校驗位,或是約定的地址/數據標識位。在方式2和方式3多機通信中,若SM21,如果RB81,說明收到的數據為地址幀。發送中斷標志位TI(SCON.1)當串口以一定方式發送數據時,每發送完一幀數據,由硬件自動將Tl位置l,可用軟件查詢。它同時也申請中斷,TI置位意味著向CPU提供“發送緩沖器SBUF已空”的信息,CPU可準備發送下一幀數據。串行口發送中斷被響應后,TI不會自動清0,必須由軟件清0。第5章 C51單片機最小系統及應用接收中斷標志位RI(SCON.0) 在接收到一幀有效數據后由硬件置位。在方式0中,第8位數據發送

溫馨提示

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

評論

0/150

提交評論