單片機原理及應用.ppt

上傳人:za****8 文檔編號:15299196 上傳時間:2020-08-07 格式:PPT 頁數(shù):157 大?。?69KB
收藏 版權申訴 舉報 下載
單片機原理及應用.ppt_第1頁
第1頁 / 共157頁
單片機原理及應用.ppt_第2頁
第2頁 / 共157頁
單片機原理及應用.ppt_第3頁
第3頁 / 共157頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《單片機原理及應用.ppt》由會員分享,可在線閱讀,更多相關《單片機原理及應用.ppt(157頁珍藏版)》請在裝配圖網上搜索。

1、單片機原理及應用,第五章MCS-51單片機的硬件資源 5.1 MCS-51的并行接口及其應用 5.2 MCS-51的中斷系統(tǒng) 5.3 MCS-51的定時器/計數(shù)器 5.4 MCS-51的串行接口及串行通信,輸入/輸出接口是CPU外設間信息的橋梁,它可以制成一塊單獨的大規(guī)模集成電路,也可以和CPU集成在同一塊芯片上,單片機中就是后一種結構。I/O接口有并行接口和串行接口兩種。,5.1.1 MCS51內部并行I/O端口,8031有四個并行端口,分別命名為P0、P1 、P2 和P3 。這四個并行I/O端口的內部位結構如圖51所示,每個端口皆有八位。由圖51可見,每個位結構都有一個輸出鎖存器和一個輸入

2、緩沖器。輸出鎖存器,用于存放需要輸出的數(shù)據。,5.1 MCS-51的并行接口及其應用,第五章MCS-51單片機的硬件資源,每個端口的八位輸出鎖存器構成一個特殊功能寄存器,且冠名與端口相同。輸入緩沖器用于對端口引腳上輸入數(shù)據進行緩沖,因此各引腳上輸入的數(shù)據必須一直保持到CPU把它讀走為止。P0、P1 、P2 和P3端口的電路形式不同,其功能也不同。下面結合電路結構就其功能加以說明。,一、P0口,第五章 MCS-51單片機的硬件資源,在訪問外部存儲器時,P0口是一個真正的雙向數(shù)據口,并分時送出地址的8位和送出(接收)相應存儲單元的數(shù)據。,第五章MCS-51單片機的硬件資源,圖51(a)是P0口的位

3、結構圖,它包括一個輸出鎖存器,兩個三態(tài)緩沖器,一個輸出驅動電路和一個輸出控制電路。,第五章MCS-51單片機的硬件資源,當從P0口輸出地址或數(shù)據時,控制信號應為高電平1,模擬轉換開關(MUX)把地址/數(shù)據信息經反相器和下拉場效應管接通,同時與門打開。輸出的地址或數(shù)據既通過與門去驅動上拉場效應管,又通過反相器去驅動下拉場效應管。,例如,若地址/數(shù)據信息為“0”,該“0”信號一方面通過與門使上拉場效應管截止,另一方面經反相器使下拉場效應管導通,從而使引腳上輸出相應的“0”信號,反之,若地址/數(shù)據信息為“1”,將會使上拉場效應管導通而下拉場效應管截止,引腳上將出現(xiàn)相應的“1”信號。,第五章MCS-5

4、1單片機的硬件資源,若P0口作為一般I/O口使用,在CPU向端口輸出數(shù)據時,對應的輸出控制信號應為0,模擬轉換開關將把輸出級與鎖存器Q端接通。同時,因與門輸出為0,使上拉場效應管處于截止狀態(tài),因此輸出級是漏極開路電路。這樣,當寫脈沖加在觸發(fā)器時針端CP上時,則與內部總線相連的D端數(shù)據取反后就出現(xiàn)在Q端,再經場效應管反相,在P0引腳上出現(xiàn)的數(shù)據正好是內部總線的數(shù)據。,不難看出,P0口在輸出地址/數(shù)據信息和作為一般I/O口輸出數(shù)據時,其輸出驅動電路的工作狀態(tài)是有差別的。,第五章MCS-51單片機的硬件資源,一般P0口的輸出級能驅動8個LS TTL 輸入,但對NMOS輸入而言,P0口做地址/數(shù)據總線

5、口使用時,不必外加提升電阻。而作一般I/O口使用時,由于輸出驅動電路工作于開漏狀態(tài),故需外接上拉電阻。,當P0口引腳上輸入數(shù)據,此時上拉FET應一直處于截止狀態(tài)。引腳上的外部信號即加在下面一個三態(tài)緩沖器的輸入端,又加在下拉FET的漏極,假定在此之前曾輸出鎖存過數(shù)據0 ,則FET是導通的,這樣引腳上的電位就始終被鉗位在0 電平,使輸入高電平無法讀入。因此作為一般I/O口使用時,P0口是一個準雙向口,即輸入數(shù)據時,應先向口寫“1”,使兩個FET均截止,然后方可作高阻抗輸入。,第五章 MCS-51單片機的硬件資源,但在P0口連接外部存儲器時,由于訪問外部存儲器期間,CPU會自動向口0的鎖存器寫入0F

6、FH,所以,對用戶而言,P0口用作地址/數(shù)據總線時,則是一個真正的雙向口。,上面所述為數(shù)據由引腳輸入的情況,稱為“讀引腳”操作。但在有些情況下 ,例如用一根口線去驅動一個晶體管的基極,則向此口線寫“1”時,晶體管導通,并把引腳上的電平拉低,這時若從引腳上讀取數(shù)據,會把此數(shù)據錯讀為0。為了避免錯讀引腳上電平的可能性,單片機中還提供了另一類所謂“讀鎖存器”操作。,第五章MCS-51單片機的硬件資源,這類操作的特點是:先讀口,隨之可對讀入的數(shù)據進行修改,然后再寫到端口上。例如執(zhí)行指令ORL P0,A時,則先把P0上的內容讀入CPU,然后與A累加器內容按位進行邏輯“或”操作,最后把“或”的結果送回P0

7、口。能使單片機產生這種讀-修改-寫操作的指令,其目的操作數(shù)一般為某I/O口或口的某一位,這些指令是:ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ,MOV PXY,C,CLR PXY和SETB PXY等,它們的含義詳見指令系統(tǒng)一章的說明。,第五章MCS-51單片機的硬件資源,綜上所述,P0口既可作地址/數(shù)據總線口,這時它是真正的雙向口,也可作通用I/O口,但只是一個準雙向口。一般情況下,P0口已當作地址/數(shù)據口使用時,就不能再作通用I/O口使用。,P2口的位結構如圖5-1(b)所示,它與P0口基本相同,只有輸出部分略有不同,在輸出FET的漏極接有上拉電阻,這種結構不必外接上拉

8、電阻就可驅動任何MOS輸入電路,且能驅動四個LSTTL輸入。P2口常用作外部存儲器的高八位地址口。當不用作地址口時,P2口亦可作通用I/O口,這時它也是一個準雙向I/O口。,二、P2口,第五章MCS-51單片機的硬件資源,第五章MCS-51單片機的硬件資源,三、P1口,第五章MCS-51單片機的硬件資源,四、P3口,P3口是一個雙功能口,第一功能和P2口一樣可作為通用I/O口。P3口工作于第二功能時,各位的定義如下:,第五章MCS-51單片機的硬件資源,第五章MCS-51單片機的硬件資源,由圖5-1(d)P3口位結構可以看出,實現(xiàn)第一功能作通用I/O輸出口時,選擇輸出功能端應保持高電平,使與非

9、門對鎖存器Q端是暢通的。同理,實現(xiàn)第二功能做專用信號輸出時,則該位的鎖存器應置1,使與非門對選擇輸出功能端是暢通的。對輸入而言,無論該位是作通用輸入口還是作第二功能輸入口,其輸出鎖存器和選擇輸出功能端都應置1,即使FET 截止。,由于所有口鎖存器在上電復位時均置為1,自然滿足了上述條件,所以用戶不必做任何工作,就可以直接使用P3口的第二功能。至于第一功能,應在確信某一引腳第二功能提供的信號不用時,該引腳才可作I/O線使用,使用方法同與一般準雙向口相同。,第五章MCS-51單片機的硬件資源,5.1.2 MCS51內部并行I/O口的應用,MCS51四個I/O端口共有三種操作方式:輸出數(shù)據方式,讀端

10、口數(shù)據方式和讀端口引腳方式。,在數(shù)據輸出方式下,CPU通過一條數(shù)據操作指令就可以把輸出數(shù)據寫入P0P3的端口鎖存器,然后通過輸出驅動器送到端口引腳。因此,凡是端口操作指令都能達到從端口引腳上輸出數(shù)據的目的,例如如下指令均可在P0口輸出數(shù)據:,MOV P0,A ;累加器A中的內容送P0口 ANL P0,A ;P0口的內容和A中的內容相與后送P0口,第五章 MCS-51單片機的硬件資源,讀端口數(shù)據方式是一種僅對端口鎖存器中數(shù)據進行讀入的操作方式,CPU讀入的這個數(shù)據并非端口引腳的數(shù)據。因此,CPU只要用一條傳送指令就可把端口鎖存器中的數(shù)據讀入累加器A或內部RAM中來。例如,如下指令可以從P1口輸入

11、數(shù)據:,MOV A, P1 ;P1鎖存器中數(shù)據送A MOV 20H, P1 ; P1鎖存器數(shù)據送內部20H單元,讀引腳方式可從端口引腳上讀入信息。在這種方式下,CPU首先必須使欲讀端口引腳所對應的鎖存器置1,以便驅動器中的T2管截止,然后打開輸入三態(tài)緩沖器,使相應端口引腳上信號輸入CPU內部數(shù)據總線。因此,在讀引腳時必須連續(xù)使用兩條指令。,第五章 MCS-51單片機的硬件資源,例如讀P1口低四位引腳上的信號的程序為:,MOV P1,#0FH ;使P1口低4位鎖存器置1 MOV A,P1 ;讀P1口低4位引腳信號,I/O端口的應用舉例:,一、I/O口直接用于輸入/輸出,在I/O口直接用作輸入/輸

12、出時,既可以把它們看作數(shù)據口也可以看作狀態(tài)口,這由用戶根據實際情況決定。,第五章 MCS-51單片機的硬件資源,例5.1 試編出模擬圖5-2(a)中電路的程序。,對電路進行模擬是指模擬它的輸出狀態(tài)如何隨輸入狀態(tài)的變化而變化。,第五章 MCS-51單片機的硬件資源,相應程序為:,ORG 0500H D BIT 00H E BIT 01H G BIT 02H LOOP1:ORL P1,#08H ;準備P1.3輸入 LOOP2:MOV C,P1.3 ;檢測K2狀態(tài) JC LOOP2 ;若未準備好(K2斷開),則轉 ; LOOP2 ORL P1,#03H ;若準備好了,則輸入K0和K1狀態(tài) MOV C

13、,P1.0 ;K0狀態(tài)送入D MOV D,C MOV C,P1.1 ;K1狀態(tài)送入E MOV E,C ANL C, D ;D與E送G,第五章 MCS-51單片機的硬件資源,第五章 MCS-51單片機的硬件資源,二、 I/O口對外部鎖存器的接口,第五章 MCS-51單片機的硬件資源,MOV DPTR, #7FFFH ;DPTR指向74LS373端口 MOVX A, DPTR ;輸入數(shù)據,應當注意:8031也可以通過外部鎖存器輸出數(shù)據,但由于8031內部每個I/O端口都帶有8位鎖存器,因此只有擴展I/O端口時才需要利用外部鎖存器來輸出數(shù)據。,第五章 MCS-51單片機的硬件資源,5.2 MCS-5

14、1中斷系統(tǒng),5.2.1中斷概述,一、中斷和中斷系統(tǒng),CPU正在處理某件事的時候,外部發(fā)生了另一事件,請求CPU迅速處理,CPU暫時停止當時的工作,轉入處理所發(fā)生的事件,處理結束后,再回到原來的地方,繼續(xù)原來的工作,這樣的過程稱為中斷,如圖5-4所示。,第五章 MCS-51單片機的硬件資源,中斷系統(tǒng)實現(xiàn)中斷功能的部件,中斷源產生中斷請求的源,二、中斷優(yōu)先級,一般計算機系統(tǒng)允許有多個中斷源。當幾個中斷源同時向CPU請求中斷,要求服務時,就存在CPU優(yōu)先響應哪一個中斷請求的問題。為此系統(tǒng)根據中斷源的輕重緩急進行排隊,規(guī)定每個中斷源都有一個中斷優(yōu)先級別,優(yōu)先處理最緊急事件的中斷請求。,第五章 MCS-

15、51單片機的硬件資源,三、中斷嵌套,中斷嵌套是指CPU正在處理一個中斷源請求的時候,又發(fā)生了另一個優(yōu)先級比它高的中斷源請求,如果CPU能夠暫時中止執(zhí)行原來的處理程序,轉而去處理優(yōu)先級更高的中斷請求,處理結束后,再繼續(xù)執(zhí)行原來的低級中斷處理程序的過程。,第五章 MCS-51單片機的硬件資源,四、中斷過程,對于不同的計算機,中斷過程可能不盡相同,但是一般應包括中斷請求、中斷響應、中斷處理和中斷返回等四個步驟。,1.中斷請求,中斷過程是由中斷源向CPU發(fā)出中斷請求而開始的。有效中斷請求信號應該一直保持到CPU作出響應為止。,2.中斷響應,CPU檢測到中斷請求信號后,在滿足一定條件的情況下進行響應。其

16、主要條件是:中斷標志是否開放,是否高級中斷,是否執(zhí)行完一條指令等。,第五章 MCS-51單片機的硬件資源,3.中斷處理,中斷處理或稱為中斷服務,就是執(zhí)行中斷源所要求的中斷服務程序。在中斷服務程序中需要完成的主要工作是:,保護現(xiàn)場根據需要把斷點處有關存儲器的內容壓入堆棧,以保護主程序運行的結果。,開/關中斷標志根據CPU響應中斷后開/關中斷情況,適當處理中斷標志,以確保保護/恢復現(xiàn)場的正確進行,確保所需中斷嵌套的實現(xiàn)。,中斷處理根據中斷源的要求,完成相應的任務,這是中斷服務的核心。,第五章 MCS-51單片機的硬件資源,恢復現(xiàn)場在完成中斷服務之后,返回被中斷的主程序之前,恢復堆棧中保護的各有關寄

17、存器的內容。,4.中斷返回,在中斷服務程序后,用一條中斷返回指令(RETI),保證返回主程序繼續(xù)執(zhí)行被中斷的程序。,5.2.2 MCS-51中斷系統(tǒng)與控制,MCS51的51子系列(8031、8051、8751等)有5個中斷源,52子系列(8032、8052等)有6個中斷源,它們均有兩個優(yōu)先級,通過4個中斷控制器(IE、IP、TCON、SCON)進行中斷管理,其結構原理如圖5-6所示。,第五章 MCS-51單片機的硬件資源,第五章 MCS-51單片機的硬件資源,一、中斷源,CPU在每個機器周期的S5P2檢測上的信號。,第五章 MCS-51單片機的硬件資源,對于電平方式,只要檢測到低電平信號即為有

18、效申請;對于脈沖方式,則需要比較兩次檢測到的信號,才能確定中斷請求信號是否有效,并且中斷請求信號高低電平的狀態(tài)都應至少維持一個機器周期,以確保電平變化能被單片機檢測到。,思考:,脈沖觸發(fā)方式下,外部中斷脈沖的最高觸發(fā)頻率為系統(tǒng)振蕩頻率的多少倍?, 內部中斷除外部中斷源外,內部還有TF0、TF1、TI、RI分別為定時器/計數(shù)器中斷和發(fā)送/接收中斷的中斷源。,第五章 MCS-51單片機的硬件資源,二、中斷控制,MCS-51單片機設置了4個專用寄存器用于中斷控制 ,用戶通過設置其狀態(tài)來管理中斷系統(tǒng)。,1.定時器控制寄存器(TCON),TCON的格式如下:,TCON D7 D6 D5 D4 D3 D2

19、 D1 D0,(88H),如前所述,寄存器中TR1(TR0)用于定時器/計數(shù)器的啟動控制,其余6位用于中斷控制,其作用如下:,第五章 MCS-51單片機的硬件資源,IT0為外部中斷0請求信號方式控制位。IT0 = 1,脈沖方式(負跳變有效);IT0 = 0,電平方式(低電平有效)。,IT1為外部中斷1請求信號方式控制位,其作用同IT0。,IE1為外部中斷1請求標志位,其作用同IE0。,TF0(TF1)為定時器/計數(shù)器溢出標志位,此標志作用將在定時器/計數(shù)器一節(jié)說明。,第五章 MCS-51單片機的硬件資源,2.串行口控制寄存器(SCON),SCON格式如下:,SCON D7 D6 D5 D4 D

20、3 D2 D1 D0,(98H),串行口控制寄存器格式及各位功能將在串行接口一節(jié)介紹,其中高6位用于串行口控制,低2位(RI、TI)用于中斷控制,其作用如下:,TI為串行口發(fā)送中斷請求標志位,發(fā)送完一幀串行數(shù)據后,由硬件置1,其清零須由軟件完成。,第五章 MCS-51單片機的硬件資源,RI為串行口接收中斷請求標志位,接完一幀串行數(shù)據后,由硬件置1,其清零由軟件完成。,在MCS-51單片機串行口中,TI和RI的邏輯“或”作為一個內部中斷源,二者之一置位都可以產生串行口中斷請求,然后在中斷服務程序中測試這兩個標志位,以決定是發(fā)送中斷還是接收中斷。,3.中斷允許控制寄存器(IE),中斷允許寄存器格式

21、如下:,IE D7 D6 D5 D4 D3 D2 D1 D0,(A8H),第五章 MCS-51單片機的硬件資源,ES為串行口中斷允許位,ES=1時,允許串行口中斷;ES=0時,禁止串行口中斷。,寄存器中用于控制中斷的共6位,實現(xiàn)中斷的管理,其作用如下:,EX1為外部中斷1允許控制位,EX1=1允許外部中 斷1中斷,EX1=0,禁止外部中斷1中斷。,ET1為定時器/計數(shù)器1(T1)中斷允許控制位,ET1=1時,允許T1中斷;ET1=0時,禁止T1中斷。,ET0為定時器/計數(shù)器0(T0)中斷允許控制位,其控制功能同ET1。,EX0為外部中斷0允許控制位,其控制功能同EX1。,MCS-51單片機的硬

22、件資源,MCS51單片機中斷系統(tǒng)的管理是由中斷允許總控制位EA和各中斷源的中斷控制位聯(lián)合作用實現(xiàn)的,缺一不可。,4.中斷優(yōu)先級控制寄存器(IP),中斷優(yōu)先級控制寄存器的格式如下:,IP D7 D6 D5 D4 D3 D2 D1 D0,(B8H),MCS-51單片機規(guī)定了兩級中斷優(yōu)先級:高級中斷和低級中斷,用中斷優(yōu)先級寄存器(IP)的5位狀態(tài)管理5個中斷源的優(yōu)先級別。相應位是“0”的中斷源為低級中斷,相應位是“1”的中斷源為高級中斷。,MCS-51單片機的硬件資源,各狀態(tài)位的作用如下:,PS為串行口中斷優(yōu)先控制位,PS = 1,串行口為高優(yōu)先級中斷;PS = 0,串行口為低優(yōu)先級中斷。,PT1為

23、定時器/計數(shù)器1(T1)中斷優(yōu)先控制位,PT1 = 1,T1為高優(yōu)先級中斷,PT1 = 0,T1為低優(yōu)先級中斷。,PT0為定時器/計數(shù)器優(yōu)先控制位,PT0 = 1,T0為高優(yōu)先級中斷;PT0 = 0,T0為低優(yōu)先級中斷。,PX0為外部中斷0中斷優(yōu)先控制位,PX0 = 1,外部中斷0為高優(yōu)先級中斷;PX0 = 0,外部中斷0為低優(yōu)先級中斷,MCS-51單片機的硬件資源,PX0為外部中斷0中斷優(yōu)先控制位,PX0 = 1,外部中斷0為高優(yōu)先級中斷;PX0 = 0,外部中斷0為低優(yōu)先級中斷。,MCS51單片機優(yōu)先級的控制原則是:,為了實現(xiàn)中斷嵌套,高優(yōu)先級中斷請求可以中斷低優(yōu)先級的中斷服務;反之則不允

24、許。,同等優(yōu)先級中斷源之間不能中斷對方的中斷服務過程。,多個同級中斷源同時產生中斷請求時,則按查詢順序確定哪個中斷請求先被響應。MCS51單片機規(guī)定的查詢順序是:外部中斷0、定時器/計數(shù)器0、外部中斷1、定時器/計數(shù)器1和串行口中斷。,MCS-51單片機的硬件資源,5.2.3 中斷響應,一、中斷響應過程,MCS51單片機在每個機器周期的S6狀態(tài)按優(yōu)先級順序查詢中斷標志,如果查詢到某個標志位為“1”,則表明有中斷請求發(fā)生,以下一個機器周期的S1狀態(tài)開始響應中斷。但是,出現(xiàn)下列情況之一時,中斷不能進行:, CPU正在為高級或同級的中斷服務;, 查詢中斷請求的機器周期不是當前指令的最后一個機器周期(

25、以確保當前指令的完整執(zhí)行);, 正在執(zhí)行的指令是RETI或是訪問IE或IP的指令(這時,必須再執(zhí)行一條指令后才能響應中斷)。,MCS-51單片機的硬件資源,以上三種情況,通常稱為中斷受阻。 在響應中斷請求時,MCS51的中斷系統(tǒng)先把該中斷請求存在各自的中斷標志位中,然后在下一個機器周期內按照IP和固定的中斷優(yōu)先級順序查詢中斷標志位狀態(tài),并完成中斷優(yōu)先級排隊。在下一個機器周期的S1狀態(tài)時,MCS51開始響應最高優(yōu)先級中斷。在響應中斷時,CPU將自動做如下幾件事:,先將斷點地址壓入堆棧進行保護,然后根據不同的中斷源將程序轉向相應的中斷服務程序入口。這是通過硬件自動生成一條長調用指令LCALL實現(xiàn)的

26、。,中斷源與其中斷服務程序入口地址之間的關系是固定的,見表51。,表51 8051中斷服務程序入口地址表,ORG 0003H LJMP 2000H,二、中斷響應時間,在實時控制系統(tǒng)中,為了滿足控制速度要求,常要弄清CPU響應中斷所需的時間。中斷響應時間是指從查詢中斷請求標志位到轉向中斷服務程序入口地址所需的機器周期數(shù),一般是3-8個機器周期。,響應中斷最短時間是:,CPU查詢中斷標志的周期正好是執(zhí)行一條指令的最后一個機器周期(占用一個機器周期),此后,不需等待即可響應中斷,硬件自動生成并執(zhí)行LCALL指令(需要2個機器周期),所以總共需要3個機器周期。,響應中斷最長時間是:,CPU查詢中斷標志

27、時,正好是開始執(zhí)行RETI或訪問IE、IP的指令,此時,需要把當前指令執(zhí)行完再繼續(xù)執(zhí)行一條指令后,才能響應中斷。執(zhí)行前者最長需2個機器周期,而執(zhí)行后者最長需4個機器周期(如乘、除指令),再加上執(zhí)行長調用指令LCALL所需2個機器周期,總共需要8個機器周期。,通常,中斷響應時間可以不予考慮,但在某些需要精確定時的場合,應作出調整,以保證精確的定時。,5.2.4中斷請求的撤除,在中斷請求被響應前,中斷源發(fā)出的中斷請求是由CPU鎖存在特殊功能寄存器TCON和SCON的相應中斷標志位中的。一旦某個中斷請求得到響應,CPU必須把它的相應標志位復位成“0”狀態(tài)。否則,MCS51就會因中斷未能得到及時撤除而

28、重復響應同一中斷請求,這是絕對不能允許的。,五個中斷源只分屬于三種中斷類型。這三種類型是:外部中斷、定時器溢出中斷和串行口中斷。對于這三種中斷類型的中斷請求,其撤除方法是不同的。,一、定時器溢出中斷請求的撤除,定時器溢出中斷源的中斷請求是自動撤除的,用戶根本不必專門為它們撤除。,二、串行口中斷請求的撤除,TI和RI是串行口中斷的標志位,中斷系統(tǒng)不能自動將它們撤除,這是因為MCS51進入串行口中斷服務程序后常需要對它們進行檢測,以測定串行口發(fā)生了接收中斷還是發(fā)送中斷。為了防止CPU再次響應這類中斷,用戶應在中斷服務程序的適當位置處通過如下指令將它們撤除:,CLR TI ;撤除發(fā)送中斷 CLR R

29、I ;撤除接收中斷,若采用字節(jié)指令,則也可采用如下指令: ANL SCON,#0FCH;撤除發(fā)送和接收中斷,三、外部中斷的撤除,外部中斷請求有二種觸發(fā)方式:電平觸發(fā)和負邊沿觸發(fā)。對于這兩種不同的中斷觸發(fā)方式,MCS51撤除它們的中斷請求的方法是不相同的。,在負邊沿觸發(fā)方式下,外部中斷標志IE0和IE1是依靠CPU兩次檢測INT0和INT1上觸發(fā)電平狀態(tài)而置位的。因此,芯片設計者使CPU在響應中斷時自動復位IE0和IE1,以撤除INT0或INT1上的中斷請求。在中斷服務時,既然INT0或INT1停留在低電平,就不會再產生負邊沿而使相應中斷標志位IE0或IE1置位。,在電平觸發(fā)方式下,外部中斷標志

30、IE0和IE1是依靠CPU檢測INT0或INT1 上低電平而置位的。盡管CPU響應中斷時相應中斷標志IE0或IE1,能自動復位成“0”狀態(tài),但若外部中斷源不能及時撤除它在INT0或INT1上低電平就會再次使已經變“0”的中斷標志IE0或IE1置位,這是絕對不能允許的。因此,電平觸發(fā)型外部中斷請求的撤除必須使INT0或INT1上低電平隨著其中斷被CPU響應而變?yōu)楦唠娖健?外部中斷信號,INSVR:ORL P1,#01H ANL P1,#0FEH CLR IE0 END,5.2.5中斷系統(tǒng)的初始化,中斷系統(tǒng)初始化就是用戶對管理中斷系統(tǒng)的特殊功能寄存器中的各控制位進行賦值。,中斷系統(tǒng)初始化步驟如下:

31、,(1)開相應中斷源的中斷;,(2)設定所有中斷源的中斷優(yōu)先級;,(3)若為外部中斷,則應規(guī)定低電平還是負邊沿的中斷觸發(fā)方式。,MCS-51單片機的硬件資源,解: 采用位操作指令, 采用字節(jié)型指令,MCS-51單片機的硬件資源,5.2.6 MCS-51單片機的單步工作方式,單步工作方式,即單步執(zhí)行:就是由外來脈沖控制程序的執(zhí)行,使之達到來一個脈沖就執(zhí)行一條指令的目的。而外來脈沖是通過按鍵產生的,因此實際上單步執(zhí)行就是按一次鍵執(zhí)行一條指令。,假定利用外部中斷0來實現(xiàn)程序的單步執(zhí)行,為此應事先作好兩項準備工作:, 建立單步執(zhí)行的外部控制電路;, 編寫外部中斷0的中斷服務程序。,第五章 MCS-51

32、單片機的硬件資源,CLR IT0 ;設置外部中斷0為電平觸發(fā) SETB EA;CPU開中斷 SETB PX0;置外部中斷0為高優(yōu)先級 SETB EX0;外部中斷0開中斷,其初始化程序如下:,第五章 MCS-51單片機的硬件資源,5.2.7 外部中斷源的擴展,一、定時器/計數(shù)器用于外部中斷源的擴展,用8051的定時器/計數(shù)器作為計數(shù)器使用時,計數(shù)輸入端T1(T0)發(fā)生負跳變將使計數(shù)器加1。利用此特性,適當處理計數(shù)初值,就可以把計數(shù)輸入端T1(T0)作為外部中斷請求輸入端。,例如,將定時器/計數(shù)器0設置為工作方式2、計數(shù)模式、計數(shù)初值0FFH,且允許中斷,其初始化程序如下:,MOV TMOD,#0

33、6H ;設置定時器0為工作方式2、計數(shù)模式 MOV TH0,#0FFH ;設置計數(shù)器初值 MOV TL0,#0FFH SETB TR0 ;啟動定時器0 SETB ET0 ;允許定時器中斷 SETB EA ;CPU開中斷,第五章 MCS-51單片機的硬件資源,以上程序執(zhí)行后,當定時器/計數(shù)器0計數(shù)輸入端T0的信號發(fā)生負跳變時,TL0加1,產生溢出,標志位TF0置“1”,向CPU發(fā)出中斷請求,同時TH0的值重新送入TL0。這樣T0端相當于脈沖方式的外部中斷請求輸入端。,用本方法擴展外部中斷源是以犧牲內部定時中斷為代價的!,二、查詢式擴展外部中斷源,當外部中斷源較多時,可以采用查詢的方式擴展中斷源。

34、把多個中斷源通過硬件(如或非門)引入外中斷源輸入端(INT0或INT1),同時又連到某I/O口。這樣,每個中斷源都可能引起中斷,并在中斷服務程序中通過軟件查詢便可確定哪一個是正在申請的中斷源,其查詢的次序則由中斷源優(yōu)先級決定,這樣可實現(xiàn)多個外部中斷源的擴展。,第五章 MCS-51單片機的硬件資源,當系統(tǒng)的各部分工作正常時,4個故障源輸入端全為低電平,顯示燈全熄滅。只有當某部分出現(xiàn)故障時,對應的輸入線由低電平變?yōu)楦唠娖?,從而引?031中斷,在中斷服務程序中通過查詢即可判定故障源,并進行相應的燈光顯示。,第五章 MCS-51單片機的硬件資源,對應的參考程序清單如下:,ORG 0000H AJMP

35、 MAIN ORG 0003H AJMP PINT;轉中斷服務程序 ORG 100H MAIN:ANL P1,#55H;使P1口輸入不變,輸出全0 SETB IT0 ;置外部中斷0為邊沿觸發(fā)方式 SETB EX0;外部中斷0開中斷 SETB EA;CPU開中斷 LOOP: MOV A,P1;取P1口輸入狀態(tài) ANL A,#55H,第五章 MCS-51單片機的硬件資源,JNZ LOOP;有外部中斷請求去LOOP ANL P1,#55H;無外部中斷請求輸出清0 ;(燈全滅) SJMP LOOP;去LOOP等待中斷,參考中斷服務程序如下:,PINT: JNB P1.0,L1 ;查詢中斷源,P1.0為

36、0轉L1 SETB P1.1 ;P1.0為1,P1.1送出“1”使對應的燈亮 SJMP L2 ;查詢中斷源,P1.2 L1: CLR P1.1 ;清P1.1,使對應燈滅 L2: JNB P1.2,L3 ;P1.2為0轉查下一個中斷源,第五章 MCS-51單片機的硬件資源,SETB P1.3 ;P1.2為1,P1.3送出1使對應燈亮 SJMP L4 L3: CLR P1.3 L4: JNB P1.4,L5 SETB P1.5 SJMP L6 L5: CLR P1.5 L6: JNB P1.6,L7 SETB P1.7 SJMP L8 L7: CLR P1.7 L8: RETI;返回主程序,第五章

37、 MCS-51單片機的硬件資源,5.3 MCS-51單片機的定時器/計數(shù)器,5.3.1定時方法概述,可供選擇的定時方法有:,一、 軟件定時,軟件定時靠執(zhí)行一個循環(huán)程序以進行時間延遲。,特點是時間精確,且不需要外加硬件電路。但軟件定時要占用CPU開銷,因此軟件定時的時間不宜太長。,二、硬件定時,特點是(定時功能全部由硬件電路完成)不占CPU時間,但需通過改變電路的元件參數(shù)來調節(jié)定時時間,在使用上不夠靈活方便。,第五章 MCS-51單片機的硬件資源,三、可編程定時器定時,這種定時方法是通過對系統(tǒng)時鐘脈沖的計數(shù)來實現(xiàn)的。計數(shù)值通過程序設定,改變計數(shù)值,也就改變了定時時間,使用起來既靈活有方便。,MC

38、S-51單片機把定時電路集成在芯片中,稱之為定時器/計數(shù)器。,5.3.2定時器/計數(shù)器的定時和計數(shù)功能,MCS51單片機內部有兩個可編程的定時器/計數(shù)器,分別稱為定時器/計數(shù)器0和定時器/計數(shù)器1。它們都是16位加法計數(shù)結構,分別由TH0和TL0及TH1和TL1兩個8位計數(shù)器組成。,第五章 MCS-51單片機的硬件資源,一、計數(shù)功能,計數(shù)是指對外部事件進行計數(shù)。外部事件的發(fā)生以輸入脈沖表示,因此計數(shù)功能的實質就是對外來脈沖進行計數(shù)。MCS51芯片有T0(P3.4)和T1(P3.5)兩個信號引腳,分別是這兩個計數(shù)器的輸入端。外部輸入的脈沖為負跳變時有效,進行計數(shù)器加1。,單片機在每個機器周期的S

39、5P2拍節(jié)對外部計數(shù)脈沖進行采樣。如果前一個機器周期采樣為高電平,后一個機器周期采樣為低電平,即為一個有效脈沖。在下一個機器周期的S3P1進行計數(shù)??梢姴蓸佑嫈?shù)脈沖是在2個機器周期進行的。因此,計數(shù)脈沖的頻率不能高于震蕩脈沖頻率的1/24。外部輸入脈沖高電平和低電平時間必須在一個機器周期以上。,第五章 MCS-51單片機的硬件資源,二、定時功能,定時功能也是通過定時器/計數(shù)器的計數(shù)來實現(xiàn)的。不過此時的計數(shù)脈沖來自單片機內部,即每個機器周期產生一個計數(shù)脈沖,也就是每個機器周期計數(shù)器加1。,由于一個機器周期等于12個振蕩脈沖周期,因此計數(shù)頻率為振蕩頻率的1/12。這樣不但可以根據計數(shù)值計算出定時時

40、間,也可以反過來按定時時間的要求計算出計數(shù)器的初值。,第五章 MCS-51單片機的硬件資源,5.3.3 定時器/計數(shù)器的控制寄存器,與定時器/計數(shù)器應用有關的控制寄存器有:,一、 定時控制寄存器(TCON),TCON寄存器既參與中斷控制又參與定時控制,其中有關定時的控制位共有4位:, TF0和TF1計數(shù)溢出標志位,當計數(shù)器計數(shù)溢出(計滿)時,該位置“1”;使用查詢方式時,此位作狀態(tài)位供查詢,但應注意查詢有效后,須用軟件方法及時將該位清“0”;使用中斷方式時,此位作中斷標志位,在轉向中斷服務程序時由硬件自動清“0”。,第五章 MCS-51單片機的硬件資源, TR0和TR1定時器運行控制位 TR0

41、(TR1)=0 停止定時器/計數(shù)器工作 TR0(TR1)=1 啟動定時器/計數(shù)器工作 該位根據需要以軟件方法使其置“1”或清“0”。,二、 工作方式控制寄存器(TMOD, 89H),各位定義如下:,第五章 MCS-51單片機的硬件資源,M1 M0工作方式選擇位 M1 M0=00 方式0為13位定時器/計數(shù)器; M1 M0=01 方式1為16位定時器/計數(shù)器; M1 M0=10 方式2為常數(shù)自動裝入的8位定時器/計數(shù)器; M1 M0=11 方式3(僅適用于T0)為兩個8位定時器/計數(shù)器,在方式3時T1停止計數(shù)。,GATE門控位 GATE=0 由運行控制位TR啟動定時器; GATE=1 由外中斷請

42、求信號(INT0或INT1)啟動定時器; C/T定時方式或計數(shù)方式選擇位 C/T=0 定時工作方式; C/T=1 計數(shù)工作方式;,第五章 MCS-51單片機的硬件資源,三、中斷允許控制寄存器(IE,A8H),與定時器/計數(shù)器有關的位重復介紹如下:,EA中斷允許總控制位。,ET0和ET1定時/計數(shù)中斷允許控制位。 ET0(ET1)= 0,禁止定時/計數(shù)中斷;ET0(ET1)=1,允許定時/計數(shù)中斷。,5.3.4 定時器/計數(shù)器工作方式,MCS51單片機的定時器/計數(shù)器共有4種工作模式。,一、方式0,第五章 MCS-51單片機的硬件資源,定時器/計數(shù)器方式0的計數(shù)器結構:,第五章 MCS-51單片

43、機的硬件資源,定時器/計數(shù)器運行控制的情況:,由TR0控制的情況,要運行控制位TR0能夠控制定時器/計數(shù)器的運行,其或門的輸出一定要為1,這就意味著GATE要設置為0或者INT0=1。 因此在單片機的定時或計數(shù)應用中,要注意定時器方式寄存器TMOD的GATE位一定要設置為0。,第五章 MCS-51單片機的硬件資源,2、定時和計數(shù)應用,在方式0下,當為計數(shù)工作方式時,計數(shù)值的范圍是:18192(213),當為定時工作方式時,定時時間的計算公式為: T=(213計數(shù)初值)晶振周期12,如晶振頻率為6MHZ,則最小定時時間為:,Tmin=213(2131)1/610- 612 =210-6=2(s)

44、,最大定時時間為:,Tmax=(2130)1/610-612=16384(s),第五章 MCS-51單片機的硬件資源,例5.3設單片機晶振頻率為6MHZ,使用定時器1以方式0產生周期為500s的等寬正方波連續(xù)脈沖,并由P1.0輸出。以查詢方式完成。,解: 計算計數(shù)初值,欲產生500s的等寬正方波脈沖,只需在P1.0端以250s為周期交替輸出高低電平即可實現(xiàn),為此定時時間應為250s。使用6MHZ晶振,則一個機器周期為2s。方式0為13位計數(shù)結構。設待求的計數(shù)初值為X,則,(213X)210-6=25010-6,求解得:X=8067。二進制數(shù)表示為0001111110000011B。十六進制(按

45、方式0的13位11111100XXX00011)表示得:高8位為0FCH,低5位為03H。,第五章 MCS-51單片機的硬件資源, 相關控制寄存器的設定,TMOD各位的設定。設定方式0:M1M0=00;實現(xiàn)定時:C/T=0;定時應用:GATE=0。注意: 定時器/計數(shù)器0不用,一般來說不要改變其原設置,為此在程序設計時,應加以屏蔽。,TCON(地址:88H)是可以位尋址的,又因與該題有關的位只有TR1,故這里采用位尋址方式,用設置TR1 =1來啟動定時器T1,TR1 =0來停止定時器T1。,IE的設定。題目要求采用查詢方式,當定時時間到定時器溢出標志位TF1置1時,不允許產生中斷,故應禁止中斷

46、,即置IE=00H。,第五章 MCS-51單片機的硬件資源, 程序設計,ANL TMOD,#0FH ;設置T1為定時工作方式0 ORL TMOD,#00H ;且不影響T0的工作 MOV TH1,#0FCH ;置計數(shù)初值 MOV TL1,#03H MOV IE,#00H ;禁止中斷 LOOP:SETB TR1 ;啟動定時器 JBC TF1,LOOP1 ;查詢計數(shù)溢出 AJMP LOOP LOOP1:MOV TH1,#0FCH ;重新設置計數(shù)初值 MOV TL1,#03H CPL P1.0 ;輸出取反 AJMP LOOP ;重復循環(huán) END,第五章 MCS-51單片機的硬件資源,二、方式1,方式1

47、是16位計數(shù)結構的工作方式,計數(shù)器由TH0全部8位和TL0全部8位構成。,第五章 MCS-51單片機的硬件資源,當定時器/計數(shù)器在方式1下作計數(shù)器用時,其計數(shù)范圍是:165536(216),當定時器/計數(shù)器在方式1下作定時器用時,其定時時間計算公式為: T=(216-計數(shù)初值)晶振周期12,如晶振頻率為6MHZ,則最小定時時間為: Tmin=216-(216-1)1/6 10-612 =210-6=2(s),第五章 MCS-51單片機的硬件資源,X=65411=FF83H,即可得:TH0=0FFH,TL0=83H,最大定時時間為: Tmax=(216-0)1/610-612=131072 10

48、-6 =131072(s),例5.4設單片機晶振頻率為6MHZ,要求使用定時器0工作方式1產生周期為500s的等寬正脈沖,并在P1.0端輸出。試編寫采用中斷方式完成的相關程序。,解:.計算計數(shù)初值,(216-X)1/610-612=25010-6,第五章 MCS-51單片機的硬件資源,.設置各相關控制寄存器,TMOD應設置為XXXX0001B; IE和TCON均采用位尋址方式。,.程序設計,ORG 0000H START: AJMP MAIN ORG 000BH AJMP INTER ORG 0100H MAIN: ANL TMOD,#0F0H ;置定時器0工作方式1 ORL TMOD,#01

49、H,第五章 MCS-51單片機的硬件資源,MOV TH0,#0FFH ;設置計數(shù)初值 MOV TL0,#83H SETB EA ;CPU開中斷 SETB ET0 ;定時器0開中斷 SETB TR0 ;啟動定時器0 SJMP ;等待中斷 INTER:MOV TH0,#0FF ;重新設置計數(shù)初值 MOV TL0, #83H CPL P1.0 ;輸出取反 RETI ;中斷返回 END,第五章 MCS-51單片機的硬件資源,三、方式2,具有自動重裝計數(shù)初值的功能。在這種工作方式下,把16位計數(shù)分為兩部分,即以TL作計數(shù)器,以TH作預置計數(shù)器,初始化時把計數(shù)初值分別裝入TL和TH中。當計數(shù)溢出時,由預置

50、計數(shù)器自動給計數(shù)器TL重新裝初值。,第五章 MCS-51單片機的硬件資源,2、循環(huán)定時和循環(huán)計數(shù)應用,自動重裝工作方式非常適應于循環(huán)定時或循環(huán)計數(shù)應用。,例5.5已知晶振頻率fosc=6MHz,要求使用定時器0以工作方式2產生100s定時,在P1.0輸出周期為200s的連續(xù)正方波脈沖。試編寫相關程序。,解:計算計數(shù)初值,在6MHZ晶振下,一個機器周期為2s,假設計數(shù)初值為X,則: (28-X)210-6=10010-6,求解得: X=206=0CEH,第五章 MCS-51單片機的硬件資源, 各有關控制寄存器的設置,IE和TCON均采用位尋址方式,即分別將應位置“1”或清“0”。,TMOD的設置

51、:, 程序設計(查詢方式),第五章 MCS-51單片機的硬件資源,ANL TMOD,#0F0H;設置定時器0 ORL TMOD,#02H ;為工作方式2 MOV TH0,#0CEH ;設置計數(shù)初值 MOV,TL0,#0CEH MOV IE,#00H;禁止中斷 SETB TR0;啟動定時 LOOP:JBC TF0,LOOP1;查詢計數(shù)溢出 AJMP LOOP LOOP1:CPL P1.0;輸出方波,初值自動裝入 AJMP LOOP,第五章 MCS-51單片機的硬件資源, 程序設計(中斷方式) 主程序: ANL TMOD,#0F0H ORL TMOD,#02H MOV TH0, #0CEH MOV

52、 TL0, #0CEH SETB EA ;CPU開中斷 SETB ET0 ;定時器0開中斷 SETB TR0 ;啟動定時 SJMP ;等待中斷 中斷服務程序: CLP P1.0 RETI,第五章 MCS-51單片機的硬件資源,四、 方式3,前三種工作方式,對兩個定時器/計數(shù)器的設置和使用是完全相同的。但是在工作方式3下,兩個定時器/計數(shù)器的設置和使用卻是不同的。,1、工作方式3下的定時器/計數(shù)器0,在工作方式3下,定時器/計數(shù)器0被拆成兩個獨立的8位計數(shù)器TL0和TH0。其中TL0既可以用作計數(shù),又可以用作定時,定時器/計數(shù)器0的各控制位和引腳信號全歸它使用。其功能和操作與方式0和方式1完全相

53、同,而且邏輯電路結構也極其類似,如圖513a所示。,第五章 MCS-51單片機的硬件資源,定時器/計數(shù)器0的高8位TH0,則只能作為簡單的定時器使用。而且由于定時器/計數(shù)器0的控制位已被TL0占用,因此只好借用定時器/計數(shù)器1的控制位TR1和TF1。即以計數(shù)溢出去置位TF1,而定時的啟動和停止則由TR1的狀態(tài)控制,見圖5 13b。,第五章 MCS-51單片機的硬件資源,在工作方式3下,定時器/計數(shù)器0可以構成兩個定時器或一個定時器一個計數(shù)器。,2、在定時器/計數(shù)器0 設置為工作方式3時的定時器/計數(shù)器1,定時器/計數(shù)器1不能工作于方式3,只能工作于方式0、方式1或方式2。且在定時器/計數(shù)器0已

54、工作于方式3時,定時器/計數(shù)器1通常用作串行口的波特率發(fā)生器,以確定串行通信的速率。因為已沒有計數(shù)溢出標志位TF1可供使用,因此只能把計數(shù)溢出直接送給串行口,如圖5 14所示。,第五章 MCS-51單片機的硬件資源,圖514定時器/計數(shù)器0在方式3時定時器/計數(shù)器1的使用,當作為波特率發(fā)生器使用時,只需設置好工作方式,便可自動運行。如要停止工作,只需送入一個把它設置為方式3的方式控制字就可以了。,第五章 MCS-51單片機的硬件資源,5.4 MCS-51單片機的串行接口及其串行通信,5.4.1串行通信基礎,并行數(shù)據傳送的特點是:多個數(shù)據位同時傳送,傳送速度快,效率高。但并行數(shù)據傳送有多少數(shù)據位

55、就需多少根數(shù)據線,因此傳送成本高。適用于短距離的數(shù)據傳送,如計算機內部的數(shù)據傳送 。,串行數(shù)據傳送的特點是:數(shù)據傳送按位順序進行,最少只需一根傳輸線即可完成,成本低但速度慢。計算機與外界的數(shù)據傳送大多數(shù)是串行的,其傳送的距離可以從幾米到幾千公里。,第五章 MCS-51單片機的硬件資源,計算機與外界的數(shù)據傳送稱之為通信,串行通信又分為異步和同步兩種方式。,一、異步串行通信的字符格式,異步串行通信以字符為單位,即一個字符一個字符的傳送。,第五章 MCS-51單片機的硬件資源, 奇偶效驗位用于對字符的傳送作正確性檢查,因此奇偶效驗位是可選擇的,共有3種可能,即奇效驗、偶效驗和無效驗,由用戶根據需要選

56、定。, 起始位開始一個字符的傳送的標志位。起始位使數(shù)據線處于“0”狀態(tài)。, 數(shù)據位起始位之后傳送的數(shù)據信號位。在數(shù)據位中,低位在前(左)高位在后(右)。由于字符編碼方式的不同,數(shù)據位可以是5、6、7或8位。, 停止位用以標志一個字符的結束,它對應于“1”狀態(tài)。停止位在一幀的最后,它可能是1、1.5或2位,在實際中根據需要確定。,第五章 MCS-51單片機的硬件資源, 位時間一個格式位的時間寬度。, 幀(frame)從起始位開始到停止位結束的全部內容稱之為一幀。幀是一個字符的完整通信格式,因此也就把串行通信的字符格式稱之為幀格式。,二、異步串行通信的信號形式,1、近程通信,近程通信又稱本地通信。

57、,近程通信采用數(shù)字信號直接傳送形式,即在傳送過程中不改變原數(shù)據代碼的波形和頻率。這種數(shù)據傳送方式稱之為基帶傳送方式。,第五章 MCS-51單片機的硬件資源,計算機內部的數(shù)據信號是TTL電平標準,而通信線上的數(shù)據信號卻是RS232C電平標準。然而,盡管電平標準不同,但數(shù)據信號的波形和頻率并沒有改變。近程串行通信只需用傳輸線把兩端的接口電路直接連起來即可實現(xiàn),既方便又經濟。,第五章 MCS-51單片機的硬件資源,2、遠程通信,在遠程串行通信中,應使用專用的通信電纜,但出于經濟上的考慮也可以使用電話線作為傳輸線。,遠距離直接傳送數(shù)字信號,信號會發(fā)生畸變,因此要把數(shù)字信號變?yōu)槟M信號再進行傳送。信號形

58、式的轉變通常使用頻率調制法,即以不同頻率的載波信號代表數(shù)字信號的兩種不同電平狀態(tài)。這種數(shù)據傳送方式就稱為頻帶傳送方式。,第五章 MCS-51單片機的硬件資源,三、串行通信的數(shù)據通路形式,1、單工(Simplex)形式 單工形式的數(shù)據傳送是單向的,通信雙方中一方固定為接收端。單工形式的串行通信,只需要一條數(shù)據線,如圖518所示,第五章 MCS-51單片機的硬件資源,2、半雙工(Half-duplex)形式 半雙工形式的數(shù)據傳送也是雙向的,但任何時刻只能由其中的一方發(fā)送數(shù)據,另一方接收數(shù)據。因此半雙工形式既可以使用一條數(shù)據線,也可以使用兩條數(shù)據線,如圖519所示。,3、全雙工(Full-duple

59、x)形式 全雙工形式的數(shù)據傳送是雙向的,且可以同時發(fā)送和接收數(shù)據,因此全雙工形式的串行通信需要兩條數(shù)據線,如圖520所示。,第五章 MCS-51單片機的硬件資源,四、 串行通信的傳送速率,傳送速率用于描述數(shù)據傳送的快慢。在串行通信中,數(shù)據是按位進行傳送的,因此傳送速率用每秒鐘傳送格式位的數(shù)目來表示,稱之為波特率(baud rate)。每秒傳送一個格式位就是1波特,即: 1波特=1bps(位/秒),在串行通信中,格式位的發(fā)送和接收分別由發(fā)送時鐘脈沖和接收時鐘脈沖進行定時控制。,串行通信可以使用的標準波特率在RS232C標準中已有規(guī)定,使用時應根據速度需要、線路質量以及設備情況等因素選定。,第五章

60、 MCS-51單片機的硬件資源,五、串行接口電路通用的異步接收/發(fā)送器(UART),第五章 MCS-51單片機的硬件資源,當計算機向外發(fā)送數(shù)據時,必須將并行的數(shù)據轉換為串行的數(shù)據再傳送。反之,又必須將串行數(shù)據轉換為并行數(shù)據輸入計算機中。,通用的異步接收/發(fā)送器,簡稱UART(Universal Asynchronous Receiver/Transmitter),就是完成這一功能的硬件電路。,它既能發(fā)送,由并行串行輸出,又能接收,由串行并行輸入。對每一方來說都是一個雙緩沖結構。當接收數(shù)據時,串行數(shù)據先經RXD(Receiver Data)端進入移位寄存器,再經移位寄存器輸出并行數(shù)據到數(shù)據緩沖器

61、,最后通過數(shù)據總線送到CPU;當發(fā)送信息時,先由CPU經數(shù)據總線將并行數(shù)據給緩沖器,再由緩沖器并行送給移位寄存器,最后逐位由TXD(Transmitter Data)端輸出。所有這些工作都是在時鐘信號和其它控制信號作用下完成的。,第五章 MCS-51單片機的硬件資源,為了檢測傳送中可能發(fā)生的錯誤,UART在發(fā)送時會檢查每個要傳送的字符中“1”的個數(shù),自動在奇偶效驗位上添“1”或“0”,使得“1”的總和在偶效驗時為偶數(shù),奇效驗時為奇數(shù)。UART在接收時會檢查字符中的每一位并計其“1”的總和,以確定是否發(fā)生傳送錯誤。,為了使數(shù)據傳輸更為可靠,UART常設置如下三鐘出錯標志: 奇偶錯誤(Parrit

62、y Error):奇偶錯誤由奇偶錯標志觸發(fā)器PE指示,該觸發(fā)器由奇偶效驗結果信號置位。 幀錯誤(Frame Error):幀錯誤由幀錯誤標志觸發(fā)器FE指示,該觸發(fā)器在UART檢測到幀的停止位不是“1”而為“0”時被置位。,第五章 MCS-51單片機的硬件資源, 溢出錯誤(Overrun Error):UART接收端 在接收到第一個字符后便放入“接收數(shù)據緩沖器”,然后就繼續(xù)從RXD線上接收第二個字符,并等待CPU從“接收數(shù)據緩沖器”中取走第一個字符。如果CPU很忙,一直沒有機會取走第一個字符,以致接收到的第二個字符進入“接收數(shù)據緩沖器”而造成第一個字符被丟失。這種錯誤就稱為溢出錯誤。發(fā)生溢出錯誤

63、時,UART自動使“溢出錯誤標志觸發(fā)器”O(jiān)E置位。,接收數(shù)據的確認。UART通過對RXD線的采樣來完成接收數(shù)據的確認。對RXD的采樣由接收時鐘RXC完成,RXC的周期Tc和傳送數(shù)據位的傳輸時間Td之間必須滿足如下關系:,第五章 MCS-51單片機的硬件資源,Tc=,式中,K=16或64。現(xiàn)以K=16來說明UART對RXD線上字符的接收過程。,UART按RXC脈沖上升沿采樣RXD線。每當連續(xù)采樣到RXD線上8個低電平(起始位之半)后,UART便確認對方在發(fā)送數(shù)據(不是干擾信號)。此后,UART便每隔16個RXC脈沖采樣RXD線一次,并把采樣到的數(shù)據作為輸入數(shù)據,以移位方式存入接收移位寄存器。RX

64、C對RXD線的采樣關系如圖522所示。,第五章 MCS-51單片機的硬件資源,5.4.2 MCS51單片機的串行口及其控制寄存器,MCS51系列單片機的串行口是全雙工的,這個口既可以用于網絡通信,也可以實現(xiàn)串行異步通信,還可以作為同步移位寄存器使用。,第五章 MCS-51單片機的硬件資源,在串行口中可供用戶使用的是它的寄存器,因此了解其寄存器結構對用戶來說是十分重要的。,一、串行口寄存器結構,第五章 MCS-51單片機的硬件資源,在接收方式下,串行數(shù)據通過引腳RXD(P3.0)進入。由于在接收寄存器之間還有移位寄存器,從而構成了串行接收的雙緩沖結構,以避免在數(shù)據接收過程中出現(xiàn)幀重疊錯誤,即在下

65、一幀數(shù)據來時,前一幀數(shù)據還沒有讀走。,在發(fā)送方式下,串行數(shù)據通過TXD(P3.1)送出。與接收數(shù)據情況不同,發(fā)送數(shù)據時,由于CPU是主動的,不會發(fā)生幀重疊錯誤,因此發(fā)送電路就不需雙重緩沖結構,這樣可以提高數(shù)據發(fā)送速度。,第五章 MCS-51單片機的硬件資源,二、串行通信控制寄存器,1、串行控制寄存器SCON (99H),第五章 MCS-51單片機的硬件資源,SM2是多機通信控制位。因多機通信是在方式2和方式3下進行,所以SM2位主要用于方式2和方式3。當串行口以方式2或方式3接收時,如SM2 = 1,則只有當接收到的第9位數(shù)據(RB8)為“1”時,才將接收到的前8位數(shù)據送入SBUF,并置位RI產生中斷請求;否則,將接收到的前8位數(shù)據丟棄。而當SM2 = 0時,不論第9位數(shù)據為“0”還是為“1”,都將前8位數(shù)據裝入SBUF中,并產生中斷請求。,在方式1時,若SM2 = 1,則只有接收到有效停止位時,RI才置1,以便接收下一幀數(shù)據。,在方式0時,SM2必須為0。,REN是允許接收位,當REN = 1時,允許接收數(shù)據,當REN = 0時,禁止接收數(shù)據。該位由軟件置位或復位。,第五章 MCS-51單片機的硬件資源,TB8是發(fā)送數(shù)據的第9位。在方式2、3時,其值由用戶通過軟件設置。在雙機通信時,TB8一般作為奇偶效驗位使

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!