單片機4第四章功能單元_第1頁
單片機4第四章功能單元_第2頁
單片機4第四章功能單元_第3頁
單片機4第四章功能單元_第4頁
單片機4第四章功能單元_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應(yīng)用北京化工大學北京化工大學信息科學與技術(shù)學院信息科學與技術(shù)學院主講教師:郭青主講教師:郭青E-mail: 第四章第四章80C51單片機的功能單元單片機的功能單元主要內(nèi)容主要內(nèi)容u并行并行I/OI/O接口接口u定時定時/ /計數(shù)器計數(shù)器u串行通訊接口串行通訊接口u中斷系統(tǒng)中斷系統(tǒng)概述:概述:4個并行個并行I/O端口端口P0、P1、P2、P3,共,共32根根I/O線線每一個口都有一個每一個口都有一個8位的鎖存器,復位后,初態(tài)位的鎖存器,復位后,初態(tài)為為1,即,即FFH4個個I/O端口分別對應(yīng)于內(nèi)部端口分別對應(yīng)于內(nèi)部RAM的四個特殊功的四個特殊功能寄存器能寄存器4.1 并行I/O接口一

2、、內(nèi)部結(jié)構(gòu)一、內(nèi)部結(jié)構(gòu)(以(以P1口為例)口為例)DCL P1X鎖存器鎖存器QQ讀鎖存器讀鎖存器內(nèi)部總線內(nèi)部總線寫鎖存器寫鎖存器讀引腳讀引腳輸入緩沖器輸入緩沖器BUF1Vcc R(上拉電阻)(上拉電阻)P1X引腳引腳特點:輸出鎖存,輸入緩沖特點:輸出鎖存,輸入緩沖輸入緩沖器輸入緩沖器BUF2二、第一功能:通用二、第一功能:通用I/OI/O口口雙向通道,即可輸入又可輸出雙向通道,即可輸入又可輸出可作可作8位并行位并行I/O口,每一位也可單獨使用,應(yīng)用位口,每一位也可單獨使用,應(yīng)用位操作指令操作指令1、用作輸出口、用作輸出口可直接與外設(shè)相連,不必外加鎖存器可直接與外設(shè)相連,不必外加鎖存器輸出指令:

3、輸出指令:MOV P1,A ;MOV P1,RnMOV P1,#data ;MOV P1,RiMOV P1,direct字節(jié)尋址字節(jié)尋址MOV P1.X , C位操作位操作P10位位DCL P1X鎖存器鎖存器QQ讀鎖存器讀鎖存器內(nèi)部總線內(nèi)部總線寫鎖存器寫鎖存器讀引腳讀引腳輸入緩沖器輸入緩沖器Vcc R(上拉電阻)(上拉電阻)P1X引腳引腳101驅(qū)動能力:驅(qū)動能力:P1、P2、P3可驅(qū)動可驅(qū)動4個個LSTTL負載負載 P0可驅(qū)動可驅(qū)動8個個LSTTL負載負載1例:例: MOV P1,#0FH輸入緩沖器輸入緩沖器2、用作輸入口、用作輸入口兩種工作方式:兩種工作方式:讀鎖存器讀鎖存器讀引腳讀引腳1)

4、讀鎖存器)讀鎖存器 將端口鎖存器的內(nèi)容讀入內(nèi)部總線,經(jīng)過運算和變換,再將端口鎖存器的內(nèi)容讀入內(nèi)部總線,經(jīng)過運算和變換,再寫回到端口鎖存器。寫回到端口鎖存器。稱為稱為 讀讀修改修改寫指令寫指令例:例:ANL P1,#0FH10種讀種讀修改修改寫指令:寫指令: (以(以I/O口或位為目標操作數(shù))口或位為目標操作數(shù))ANL 、ORL 、XRL、CPL (位取反)、(位取反)、INC、DEC、DJNZ、CLR、SETBMOV (MOV PXY,C)DCL P1X鎖存器鎖存器QQ讀鎖存器讀鎖存器內(nèi)部總線內(nèi)部總線寫鎖存器寫鎖存器讀引腳讀引腳輸入緩沖器輸入緩沖器Vcc R(上拉電阻)(上拉電阻)P1X引腳引

5、腳讀引腳內(nèi)容與鎖存器內(nèi)容,可能不一致讀引腳內(nèi)容與鎖存器內(nèi)容,可能不一致引腳輸出引腳輸出為為1,驅(qū)動,驅(qū)動三極管基三極管基極極 ,將被,將被鉗位為鉗位為010所以用所以用“讀讀修改修改寫寫”指令讀指令讀I/OI/O口鎖存器口鎖存器如用如用P1.X口驅(qū)口驅(qū)動三極管基極動三極管基極0輸入緩沖器輸入緩沖器2 2)讀引腳)讀引腳讀引腳狀態(tài),將外部的數(shù)據(jù)讀入到內(nèi)部總線,讀引腳狀態(tài),將外部的數(shù)據(jù)讀入到內(nèi)部總線,所以讀引腳指令是所以讀引腳指令是 輸入指令輸入指令例:例:MOV A,P1 MOV Rn,P1 MOV direct,P1 MOV C,P1X注意:注意:當端口作為輸入口使用時,必須將端口當端口作為輸

6、入口使用時,必須將端口鎖存器的相應(yīng)位置鎖存器的相應(yīng)位置“1”,該位才能正確的讀入,該位才能正確的讀入原因:如某位為原因:如某位為“0”,則不管引腳狀態(tài)如何,則不管引腳狀態(tài)如何,讀引腳的結(jié)果始終為讀引腳的結(jié)果始終為“0”字節(jié)操作字節(jié)操作位操作位操作DCL P1X鎖存器鎖存器QQ讀鎖存器讀鎖存器內(nèi)部總線內(nèi)部總線寫鎖存器寫鎖存器讀引腳讀引腳輸入緩沖器輸入緩沖器Vcc R(上拉電阻)(上拉電阻)P1X引腳引腳如如P10口鎖存器為口鎖存器為“0”01導通導通00無論引腳輸入如何,始終讀到無論引腳輸入如何,始終讀到0;且外設(shè)輸入高電平時,易損壞輸出且外設(shè)輸入高電平時,易損壞輸出MOS管管有效有效輸入緩沖器

7、輸入緩沖器DCL P1X鎖存器鎖存器QQ讀鎖存器讀鎖存器內(nèi)部總線內(nèi)部總線寫鎖存器寫鎖存器讀引腳讀引腳輸入緩沖器輸入緩沖器Vcc R(上拉電阻)(上拉電阻)P1X引腳引腳P10口鎖存器為口鎖存器為“1”1011有效有效輸入緩沖器輸入緩沖器DCL P1X鎖存器鎖存器QQ讀鎖存器讀鎖存器內(nèi)部總線內(nèi)部總線寫鎖存器寫鎖存器讀引腳讀引腳輸入緩沖器輸入緩沖器Vcc R(上拉電阻)(上拉電阻)P1X引腳引腳P10口鎖存器為口鎖存器為“1”1000因為因為I/O端口在執(zhí)行輸入指令時,須先使用指令將端口在執(zhí)行輸入指令時,須先使用指令將端口鎖存器置端口鎖存器置“1”,所以稱,所以稱 準雙向口準雙向口有效有效輸入緩沖

8、器輸入緩沖器系統(tǒng)復位后,系統(tǒng)復位后,I/OI/O端口鎖存器狀態(tài)為全端口鎖存器狀態(tài)為全“1”1”,即,即P0P0、P1P1、P2P2、P3P3均為均為FFHFFH,可直接作為輸入口使用,可直接作為輸入口使用3、輸入、輸出操作、輸入、輸出操作字節(jié)操作:字節(jié)操作: 8位一組,并行輸入、輸出位一組,并行輸入、輸出例:例:MOV P1,A位操作:位操作: 利用位操作指令,進行逐位的輸入、輸出利用位操作指令,進行逐位的輸入、輸出例:例:MOV P1.0,C多位分組操作:多位分組操作:利用讀改寫指令,僅對選定位進行輸出操作利用讀改寫指令,僅對選定位進行輸出操作例例1: ORL P1,#0000 0110B使

9、使P1.1、P1.2輸出為輸出為1,其余位不變,其余位不變例例2:ANL P1,#1111 0110BP1.0、P1.3輸出為輸出為0,其余位不變,其余位不變4、作為雙向口使用、作為雙向口使用80C51的的4個個I/O口在進行數(shù)據(jù)的輸入輸出操作時,口在進行數(shù)據(jù)的輸入輸出操作時,均可作為雙向口使用。即,同一口線既作為輸入均可作為雙向口使用。即,同一口線既作為輸入口,又用作輸出口??冢钟米鬏敵隹?。操作方法:操作方法:以以P1口為例口為例MOV P1, A MOV P1,#0FFHMOV A,P1;直接使用輸出指令;直接使用輸出指令;鎖存器置;鎖存器置1;輸入指令;輸入指令80C51的的P1由輸出

10、口轉(zhuǎn)為輸入口時,需先將鎖由輸出口轉(zhuǎn)為輸入口時,需先將鎖存器置存器置1,然后使用輸入指令。,然后使用輸入指令。準雙向口準雙向口三、第二功能三、第二功能1)P0口:口:8位數(shù)據(jù)總線,地址總線低位數(shù)據(jù)總線,地址總線低8位分時復用位分時復用2)P2口:高口:高8位地址總線位地址總線3)P3口:每一位具有不同的第二功能口:每一位具有不同的第二功能注:注:對于對于P0、P2口,如用作第二功能,將不能作為通用口,如用作第二功能,將不能作為通用I/O口使用;口使用;P3口,剩余位仍可用作通用口,剩余位仍可用作通用I/O口。復位時,口。復位時,因各口鎖存器初態(tài)均為因各口鎖存器初態(tài)均為“1”,可直接用作第二功能,

11、可直接用作第二功能四、帶負載能力四、帶負載能力P0口:口:8個個TTL負載負載P1、P2、P3口:口:4個個TTL負載負載五、五、80C5180C51的外部總線的外部總線單片微機系統(tǒng)特點:面向測控系統(tǒng)單片微機系統(tǒng)特點:面向測控系統(tǒng)要求單片微機能夠提供實時功能,以實現(xiàn)定時、要求單片微機能夠提供實時功能,以實現(xiàn)定時、延時或?qū)崟r時鐘;也常要求計數(shù)功能,以實現(xiàn)延時或?qū)崟r時鐘;也常要求計數(shù)功能,以實現(xiàn)對外部事件計數(shù)對外部事件計數(shù)80C51系列單片微機提供系列單片微機提供2個(個(8051型)或型)或3個個(8052型)型)16位的定時位的定時/計數(shù)器,可程控為計數(shù)器,可程控為4種種工作方式工作方式4.2

12、 定時/計數(shù)器fosc/12TXP3.4, P3.5 T0 , T1 TLX THX(8) (8) TFXTMOD TCON加加1計數(shù)器計數(shù)器控制邏輯控制邏輯C/T80C51定時定時/計數(shù)器原理框圖計數(shù)器原理框圖X=0,1一、定時一、定時/計數(shù)器的基本原理計數(shù)器的基本原理1 1、定時方式、定時方式計數(shù)脈沖來源于內(nèi)部振蕩器(計數(shù)脈沖來源于內(nèi)部振蕩器(12分頻)分頻)例:主頻為例:主頻為12MHz,機器周期為,機器周期為1 s0TC/ fosc/12TXP3.4, P3.5 T0 , T1 TLX THX(8) (8) TFXTMOD TCON加加1計數(shù)器計數(shù)器控制邏輯控制邏輯C/TX=0,10一

13、個機器一個機器周期加周期加12 2、計數(shù)方式、計數(shù)方式計數(shù)脈沖來源于外部引腳計數(shù)脈沖來源于外部引腳1TC/ fosc/12TXP3.4, P3.5 T0 , T1 TLX THX(8) (8) TFXTMOD TCON加加1計數(shù)器計數(shù)器控制邏輯控制邏輯C/TX=0,11P3.4, P3.5T0 , T12 2、計數(shù)方式、計數(shù)方式計數(shù)脈沖來源于外部引腳(計數(shù)脈沖來源于外部引腳(Tx,x=0,1)1TC/ 有效脈沖為負跳變脈沖有效脈沖為負跳變脈沖Tx10S5P2S5P2A)最大計數(shù)速率為振蕩頻率的)最大計數(shù)速率為振蕩頻率的1/24。B)計數(shù)脈沖給出的高電平應(yīng)至少保持)計數(shù)脈沖給出的高電平應(yīng)至少保持

14、1個完整的個完整的機器周期,以保證被采樣機器周期,以保證被采樣對計數(shù)脈沖要求:對計數(shù)脈沖要求:計數(shù)器計數(shù)器加加1 13 3、計數(shù)器、計數(shù)器“溢出溢出”整個定時整個定時/計數(shù)器功能由用戶通過指令對特殊功能計數(shù)器功能由用戶通過指令對特殊功能寄存器寄存器TMOD和和TCON編程實現(xiàn)編程實現(xiàn)fosc/12TXP3.4, P3.5 T0 , T1 TLX THX(8) (8) TFXTMOD TCON加加1計數(shù)器計數(shù)器控制邏輯控制邏輯C/TX=0,11111 1111 1111 11110000 0000 0000 0000TF=1全全“1” 全全“0”,計數(shù)器,計數(shù)器溢出溢出,置位,置位TF,請求中斷

15、,請求中斷二、定時/計數(shù)器控制與狀態(tài)寄存器1、工作方式寄存器、工作方式寄存器TMOD用于定義定時用于定義定時/計數(shù)器的操作方式及工作模式計數(shù)器的操作方式及工作模式字節(jié)地址:字節(jié)地址:89HM1 M0:操作方式選擇位:操作方式選擇位M1 M0 操作方式操作方式 功能說明功能說明 0 0 方式方式0 13位計數(shù)器位計數(shù)器 0 1 方式方式1 16位計數(shù)器位計數(shù)器 1 0 方式方式2 自動重裝的自動重裝的8位計數(shù)器位計數(shù)器 1 1 方式方式3 T0分成兩個分成兩個8位計數(shù)器位計數(shù)器 T1無效(停止計數(shù))無效(停止計數(shù))C/T:選擇定時或計數(shù)模式:選擇定時或計數(shù)模式 C/T=1,計數(shù)模式;,計數(shù)模式;

16、C/T=0,定時模式,定時模式GATE:選通控制:選通控制GATE=1,當,當INTx端口為高電平且端口為高電平且TRx=1,定,定時計數(shù)器才啟動計數(shù)。時計數(shù)器才啟動計數(shù)。應(yīng)用:對脈沖的寬度進應(yīng)用:對脈沖的寬度進行測量行測量GATE=0,只要,只要TRx置位為置位為1,定時計數(shù)器就啟動,定時計數(shù)器就啟動計數(shù)計數(shù)復位時,復位時,TMOD=00H允許定時計數(shù)器工作的條件是:允許定時計數(shù)器工作的條件是:GATE=1時:時:TRx=1且且INTx=1GATE=0時:時:TRx=1101111 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1INT0 is “1”TR0 is “1” 0

17、0 1 0 0 0 0 12 2、啟停與中斷控制寄存器、啟停與中斷控制寄存器TCONTCON用于控制定時用于控制定時/計數(shù)器的啟停與中斷請求。計數(shù)器的啟停與中斷請求。字節(jié)地址:字節(jié)地址:88H各位含義如下:各位含義如下:TF1:T1溢出中斷請求標志位。當溢出中斷請求標志位。當T1計數(shù)回計數(shù)回0溢溢出時,由硬件置位為出時,由硬件置位為1,向,向CPU請求中斷。當請求中斷。當CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序,響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序,由硬件清由硬件清0。TR1:T1啟啟/??刂莆?。當軟件置位??刂莆?。當軟件置位TR1=1,T1啟動啟動計數(shù)。計數(shù)。TR1=0,停止計數(shù)。,停止計數(shù)。TF0:T0溢出

18、中斷請求標志位,同溢出中斷請求標志位,同TF1。TR0:T0啟啟/??刂莆?,同??刂莆唬琓R1。TCON字節(jié)地址為字節(jié)地址為88H,可以位尋址??梢晕粚ぶ?。復位時,復位時,TCON=00H三、定時/計數(shù)器的工作方式TMOD中的中的C/T位的設(shè)置,可選擇定時位的設(shè)置,可選擇定時/計數(shù)器工計數(shù)器工作在定時或計數(shù)模式作在定時或計數(shù)模式M1、M0位的位的4種編碼,可用于選擇種編碼,可用于選擇4種工作方式種工作方式1 1、方式、方式0 0 M1、M0編碼為編碼為00,由,由TLX低低5位及位及THX8位組位組成成13位計數(shù)器位計數(shù)器組成結(jié)構(gòu)示意圖見下頁組成結(jié)構(gòu)示意圖見下頁允許定時計數(shù)器工作的條件是:允

19、許定時計數(shù)器工作的條件是:GATE=1時:時:TRx=1且且INTx=1GATE=0時:時:TRx=12 2、方式、方式1 1M1、M0編碼為編碼為01,TLx、THx組成組成16位定時計數(shù)器位定時計數(shù)器,其組成結(jié)構(gòu)同方式其組成結(jié)構(gòu)同方式03 3、方式、方式2 2M1、M0編碼為編碼為10,自動重裝的,自動重裝的8位定時計數(shù)器。位定時計數(shù)器。4 4、方式、方式3 3 M1、M0編碼為編碼為11,將,將T0分為兩個獨立的分為兩個獨立的8位計數(shù)位計數(shù)器,器,TL0組成完整的組成完整的8位定時位定時/計數(shù)器,計數(shù)器,TH0組成只組成只能定時的能定時的8位定時器。位定時器。T1無方式無方式3功能,如功

20、能,如T1設(shè)定為方式設(shè)定為方式3,則停止工作。,則停止工作。TL0使用定時使用定時/計數(shù)器計數(shù)器0的全部控制位,組成一個完的全部控制位,組成一個完整的整的8位定時位定時/計數(shù)器。計數(shù)器。TH0借用定時借用定時/計數(shù)器計數(shù)器1的的TR1和和TF1位,只能用于位,只能用于定時,不能對外部事件計數(shù)定時,不能對外部事件計數(shù)此時,定時此時,定時/計數(shù)器計數(shù)器T1可工作在方式可工作在方式0、1、2,但不,但不能使用中斷。典型應(yīng)用為串行通訊波特率發(fā)生器能使用中斷。典型應(yīng)用為串行通訊波特率發(fā)生器方式方式3 T0 結(jié)構(gòu)簡圖結(jié)構(gòu)簡圖補充說明:T0方式3時,T1的設(shè)置與控制 在方式在方式3中,中,TL0和和TH0成

21、為兩個相互獨立的成為兩個相互獨立的8位計數(shù)器。位計數(shù)器。TL0占用了全部占用了全部T0的控制位和信號引腳,即的控制位和信號引腳,即GATE、CT、TR0、TF0等。而等。而TH0只用作定時器使用。而且由于定時器只用作定時器使用。而且由于定時器/計數(shù)器計數(shù)器0的控制位已被的控制位已被TL0獨占,因此獨占,因此TH0只好借用定時器只好借用定時器/計數(shù)器計數(shù)器1的控制位的控制位TR1和和TF1進行工作。進行工作。 同時,由于同時,由于TR1,TF1已已“出借出借”給給TH0,TH1和和TL1的的溢出就送給串行口,作為串行口時鐘信號發(fā)生器(即波特率溢出就送給串行口,作為串行口時鐘信號發(fā)生器(即波特率信

22、號發(fā)生器),并且只要設(shè)置好工作方式(方式信號發(fā)生器),并且只要設(shè)置好工作方式(方式0,方式,方式1,方式方式2)以及計數(shù)初值,)以及計數(shù)初值,T1無須啟動使可自動運行。如要停無須啟動使可自動運行。如要停止止T1工作,只要將其設(shè)置工作方式工作,只要將其設(shè)置工作方式3即可。即可。四、定時/計數(shù)器應(yīng)用舉例初始化順序:初始化順序:設(shè)置工作方式控制字(設(shè)置工作方式控制字(TMOD)計算計數(shù)初值,并置計算計數(shù)初值,并置TLX,THX設(shè)置中斷允許位設(shè)置中斷允許位ETX、EA,開放中斷,開放中斷設(shè)置啟設(shè)置啟/??刂莆煌?刂莆籘RX定時時間:定時時間: TC=XTP X:計數(shù)次數(shù):計數(shù)次數(shù)計數(shù)初值:計數(shù)初值:

23、2n-X方式方式0:n=13方式方式1:n=16方式方式2:n=8設(shè)振蕩頻率設(shè)振蕩頻率 fosc=6MHZ,TP= 12 6MHZ=2us機器周期:機器周期: TP=12/fosc以定時模式為例:以定時模式為例:設(shè)定時時間為設(shè)定時時間為5ms,計數(shù)次數(shù),計數(shù)次數(shù) X=Tc/Tp=25001、計數(shù)初值的計算、計數(shù)初值的計算因為因為MCS51定時計數(shù)器為加定時計數(shù)器為加1計數(shù)器,所以設(shè)置入計數(shù)器,所以設(shè)置入THX、TLX的計數(shù)初值為實際計數(shù)長度的補碼的計數(shù)初值為實際計數(shù)長度的補碼 方式方式0: (X)補補=213-X=8192-2500=5692=163CH0 0 0 1 0 1 1 0 0 0

24、1 1 1 1 0 0 B TLX低低5位位THX8位位計數(shù)初值:計數(shù)初值:THX=B1H TLX=1CH方式方式1: (X)補補=216-X=65536-2500=63036=F63CH計數(shù)初值:計數(shù)初值: THX=F6H TLX=3CH最大計數(shù)次數(shù):方式最大計數(shù)次數(shù):方式0為為8192次,方式次,方式1為為65536次,次,方式方式2為為256次次2、方式、方式0應(yīng)用舉例應(yīng)用舉例設(shè)系統(tǒng)主頻為設(shè)系統(tǒng)主頻為6MHZ,要求,要求P10口輸出周期為口輸出周期為10ms的方波,使用的方波,使用T0,方式,方式0分析:周期為分析:周期為10ms方波方波定時時間為定時時間為5ms,定時時間到對,定時時間

25、到對P10取反取反計數(shù)初值:計數(shù)初值: TH0=B1H TL0=1CH工作方式控制字:工作方式控制字: TMOD=00H程序如下:程序如下:MOV TMOD , #00HSETB TR0MOV TH0 , #0B1HMOV TL0 , #1CHJNB TF0 , HERECLR TF0?CPL P1.0SJMP LOOPLOOP:HERE:; 置置T0方式方式0;啟動計數(shù);啟動計數(shù);置計數(shù)初值;置計數(shù)初值;TF0=0,定時時間未到,等待,定時時間未到,等待;定時時間到,定時時間到,TF0清清0?;繼續(xù)下一次計數(shù);繼續(xù)下一次計數(shù);P10取反取反方式方式0及方式及方式1,計數(shù)滿后,計數(shù)器回,計數(shù)滿

26、后,計數(shù)器回0,需重新,需重新置計數(shù)初值置計數(shù)初值3、方式、方式2應(yīng)用應(yīng)用設(shè)系統(tǒng)主頻為設(shè)系統(tǒng)主頻為12MHZ,使用,使用T1方式方式2在在P10口輸口輸出出5KHZ方波方波機器周期:機器周期:TP=1us5KHZ方波,周期為方波,周期為200us,即每隔,即每隔100us將將P10口取反。口取反。定時時間:定時時間:TC=100us計數(shù)次數(shù):計數(shù)次數(shù):X=100計數(shù)初值:計數(shù)初值: 28-X=156=9CH程序如下:程序如下:MOV TMOD , #20HMOV TH1 , #9CHMOV TL1 , #9CHSETB TR1JNB TF1 , HERECLR TF1CPL P1.0SJMP

27、HEREHERE:;置工作方式為方式;置工作方式為方式2;置計數(shù)初值;置計數(shù)初值;啟動計數(shù);啟動計數(shù);定時時間未到,等待;定時時間未到,等待;定時時間到,;定時時間到,TF1清清0;轉(zhuǎn)下一次定時;轉(zhuǎn)下一次定時方式方式2為自動重裝方式,無須重置計數(shù)初值。但計數(shù)為自動重裝方式,無須重置計數(shù)初值。但計數(shù)初值應(yīng)同時裝入初值應(yīng)同時裝入THX及及TLX;P10取反取反4、應(yīng)注意的問題、應(yīng)注意的問題1)定時)定時/計數(shù)器的實時性計數(shù)器的實時性定時定時/計數(shù)器計滿回計數(shù)器計滿回0,向主機請求中斷,主,向主機請求中斷,主機響應(yīng)中斷進入中斷服務(wù)程序,存在時間延機響應(yīng)中斷進入中斷服務(wù)程序,存在時間延遲,一般應(yīng)用場合

28、可忽略不記。但在一些實遲,一般應(yīng)用場合可忽略不記。但在一些實時性要求很高的場合,應(yīng)采用補償措施時性要求很高的場合,應(yīng)采用補償措施2)動態(tài)讀取運行中的計數(shù)器動態(tài)讀取運行中的計數(shù)器先讀先讀THX,后讀,后讀TLX,再讀,再讀THX。如兩次讀取的。如兩次讀取的THX相同,說明讀得的值是正確的;如不同,則相同,說明讀得的值是正確的;如不同,則重復以上過程,重復讀得的值一般不會再錯。重復以上過程,重復讀得的值一般不會再錯。4.3 中斷系統(tǒng)概述:概述:5到到6個(個(52系列)中斷源,系列)中斷源,2個中斷優(yōu)先級,可個中斷優(yōu)先級,可用軟件設(shè)定。用戶可通過軟件來屏蔽或接受中用軟件設(shè)定。用戶可通過軟件來屏蔽或

29、接受中斷請求斷請求一、一、 中斷源中斷源8051提供提供5個中斷源,其中兩個中斷請求信號由個中斷源,其中兩個中斷請求信號由外部產(chǎn)生并輸入,稱外部中斷;其余的中斷請外部產(chǎn)生并輸入,稱外部中斷;其余的中斷請求信號均由內(nèi)部產(chǎn)生,稱內(nèi)部中斷。求信號均由內(nèi)部產(chǎn)生,稱內(nèi)部中斷。1、外部中斷源、外部中斷源INT0: 外部中斷外部中斷0請求輸入(請求輸入(P32)INT1: 外部中斷外部中斷1請求輸入(請求輸入(P33)中斷請求觸發(fā)方式:中斷請求觸發(fā)方式: (CPU在在S5P2采樣采樣INT0和和INT1)2)負跳變觸發(fā),前一機周采樣高電平,后一機)負跳變觸發(fā),前一機周采樣高電平,后一機周為低電平周為低電平1

30、)低電平觸發(fā),采樣低電平)低電平觸發(fā),采樣低電平2、定時器類、定時器類 當當T0、T1溢出時,置位溢出時,置位TF0、TF1,向向CPU請求中斷請求中斷3、串行通訊口、串行通訊口 發(fā)送或接收到一幀數(shù)據(jù)后,向發(fā)送或接收到一幀數(shù)據(jù)后,向CPU請求中斷請求中斷二、二、 中斷控制中斷控制4個與中斷系統(tǒng)有關(guān)的個與中斷系統(tǒng)有關(guān)的SFRTCON:啟停中斷控制寄存器啟停中斷控制寄存器IE:中斷允許控制寄存器中斷允許控制寄存器IP:中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器SCON:串行控制寄存器串行控制寄存器這這4個個SFR均可位尋址,改變某些標志位的狀態(tài)均可位尋址,改變某些標志位的狀態(tài)1、TCON: 地址地址88H高

31、高4位與定時位與定時/計數(shù)器有關(guān)計數(shù)器有關(guān)TF1:T1溢出中斷請求標志位溢出中斷請求標志位TF0:T0溢出中斷請求標志位溢出中斷請求標志位1:請求中斷:請求中斷低低4位與外部中斷源有關(guān)位與外部中斷源有關(guān)IT0:選擇外部中斷請求:選擇外部中斷請求0為邊沿觸發(fā)方式或電平觸為邊沿觸發(fā)方式或電平觸發(fā)方式的控制位(發(fā)方式的控制位(INT0中斷觸發(fā)方式選擇位)中斷觸發(fā)方式選擇位)IT0=0,電平觸發(fā)方式;,電平觸發(fā)方式;IT0=1,邊沿觸發(fā)方式,邊沿觸發(fā)方式IT1:選擇外部中斷請求:選擇外部中斷請求1觸發(fā)方式控制位觸發(fā)方式控制位IE0:外部中斷:外部中斷0中斷請求標志位。中斷請求標志位。如如IT0=0,電

32、平觸發(fā)方式時,電平觸發(fā)方式時,INT0為低電平為低電平時時, IE0IE0由硬件置由硬件置1 1,向,向CPUCPU請求中斷。當請求中斷。當CPUCPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時,由硬件清響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時,由硬件清0 0。如如IT0=1,邊沿觸發(fā)方式時,邊沿觸發(fā)方式時,INT0出現(xiàn)有效出現(xiàn)有效負跳變時,負跳變時,IE0由硬件置由硬件置1,向,向CPU請求中斷。請求中斷。當當CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時,由響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時,由硬件清硬件清0。IE1:外部中斷:外部中斷1中斷請求標志位,同中斷請求標志位,同IE02、串行控制寄存器、串行控制寄存器SCON 地址:地址

33、:98H 可位尋址可位尋址功能:用于設(shè)置串行通訊的工作方式和某些控功能:用于設(shè)置串行通訊的工作方式和某些控制功能。其中低二位與中斷有關(guān)制功能。其中低二位與中斷有關(guān)TI:發(fā)送中斷請求標志位:發(fā)送中斷請求標志位RI:接收中斷請求標志位:接收中斷請求標志位串行通訊口發(fā)送或接收完一幀數(shù)據(jù),由硬件置串行通訊口發(fā)送或接收完一幀數(shù)據(jù),由硬件置1,向向CPU請求中斷;響應(yīng)中斷后,需由軟件清除請求中斷;響應(yīng)中斷后,需由軟件清除3、中斷允許控制寄存器、中斷允許控制寄存器IE地址:地址:A8H 可位尋址可位尋址功能:通過對某一位的設(shè)置,可以允許(開放)功能:通過對某一位的設(shè)置,可以允許(開放)或屏蔽(禁止)各中斷源

34、的中斷請求。又稱中斷或屏蔽(禁止)各中斷源的中斷請求。又稱中斷允許寄存器允許寄存器EA:開放:開放/禁止所有中斷。如禁止所有中斷。如EA=0,禁止所有,禁止所有中斷。中斷。EA=1,各中斷源的開放與否,取決于各,各中斷源的開放與否,取決于各自的中斷控制位的狀態(tài)。自的中斷控制位的狀態(tài)。X:保留位,無定義:保留位,無定義ET2:定時:定時/計數(shù)器計數(shù)器2中斷允許控制位。僅對中斷允許控制位。僅對8052有有效,效,8051及及31系列,此位為保留位系列,此位為保留位ES:串行口中斷允許控制位:串行口中斷允許控制位ET1:定時:定時/計數(shù)器計數(shù)器1中斷允許控制位中斷允許控制位EX1:外部中斷:外部中斷

35、1中斷允許控制位中斷允許控制位ET0:定時:定時/計數(shù)器計數(shù)器0中斷允許控制位中斷允許控制位EX0:外部中斷:外部中斷0中斷允許控制位中斷允許控制位以上各位均為:以上各位均為: 設(shè)置為設(shè)置為1,開放對應(yīng)中斷源;,開放對應(yīng)中斷源;0,禁止對應(yīng)中斷源申請中斷。禁止對應(yīng)中斷源申請中斷。復位時,復位時,IE=00H,禁止所有中斷,禁止所有中斷4、中斷優(yōu)先級控制寄存器、中斷優(yōu)先級控制寄存器IP 地址:地址:B8H 可位尋址可位尋址通過用軟件對相應(yīng)位置通過用軟件對相應(yīng)位置“1”或清或清“0”,設(shè)定對應(yīng),設(shè)定對應(yīng)中斷源的優(yōu)先級。中斷源的優(yōu)先級。1:高優(yōu)先級,:高優(yōu)先級,0:低優(yōu)先級:低優(yōu)先級各位對應(yīng)中斷源:

36、各位對應(yīng)中斷源:PT2:定時計數(shù)器:定時計數(shù)器2(8052)PS:串行通訊口:串行通訊口PT1:定時計數(shù)器:定時計數(shù)器1PX1:外部中斷:外部中斷1PT0:定時計數(shù)器:定時計數(shù)器0PX0:外部中斷:外部中斷0復位時,復位時, IP=00H。所有中斷源均為低優(yōu)先級中斷。所有中斷源均為低優(yōu)先級中斷80C5180C51對中斷優(yōu)先級的處理原則:對中斷優(yōu)先級的處理原則:1)不同級的中斷源同時申請中斷時,先高后低,)不同級的中斷源同時申請中斷時,先高后低,高級優(yōu)先高級優(yōu)先2)處理低級中斷又接到高級中斷請求時:停止低)處理低級中斷又接到高級中斷請求時:停止低級中斷服務(wù)程序,轉(zhuǎn)而執(zhí)行高級中斷服務(wù)程序,級中斷服

37、務(wù)程序,轉(zhuǎn)而執(zhí)行高級中斷服務(wù)程序,即停低轉(zhuǎn)高即停低轉(zhuǎn)高3)處理高級中斷又接到低級中斷請求時:不理睬)處理高級中斷又接到低級中斷請求時:不理睬可實現(xiàn)兩級中斷嵌套,低級或同級不能嵌套可實現(xiàn)兩級中斷嵌套,低級或同級不能嵌套4)同一級的多個中斷源同時申請中斷時,由內(nèi)部)同一級的多個中斷源同時申請中斷時,由內(nèi)部按按查詢優(yōu)先順序查詢優(yōu)先順序決定響應(yīng)哪一中斷源的中斷請求。決定響應(yīng)哪一中斷源的中斷請求。次序由高到低如下:次序由高到低如下:IE0,TF0,IE1,TF1,串行,串行口,口,T2三、中斷響應(yīng)條件及響應(yīng)過程三、中斷響應(yīng)條件及響應(yīng)過程1 1、響應(yīng)過程、響應(yīng)過程C1機周機周:各中斷標志在:各中斷標志在S

38、5P2狀態(tài)采樣中斷源;狀態(tài)采樣中斷源;C2機周機周:CPU在在S6狀態(tài)按優(yōu)先順序采樣各中斷標志。狀態(tài)按優(yōu)先順序采樣各中斷標志。C3、C4機周機周:置位相應(yīng)中斷優(yōu)先級觸發(fā)器,阻止:置位相應(yīng)中斷優(yōu)先級觸發(fā)器,阻止同級或低級中斷請求。同級或低級中斷請求。各中斷源對應(yīng)矢量地址如下:各中斷源對應(yīng)矢量地址如下:INT0(IE0) 0003HT0 (TF0) 000BHINT1(IE1) 0013HT1(TF1) 001BH串行口(串行口(RI+TI) 0023HT2 002BHC5機周機周:CPU從矢量地址開始執(zhí)行中斷服務(wù)程序,從矢量地址開始執(zhí)行中斷服務(wù)程序,直到遇到一條直到遇到一條RETI指令為止指令為

39、止從發(fā)出中斷申請到轉(zhuǎn)入中斷服務(wù)程序,從發(fā)出中斷申請到轉(zhuǎn)入中斷服務(wù)程序,最快需最快需3個機周個機周2、中斷阻塞條件、中斷阻塞條件當單片機處于以下情況時,將不能響應(yīng)中斷當單片機處于以下情況時,將不能響應(yīng)中斷1)正在執(zhí)行同級或高級中斷服務(wù)程序)正在執(zhí)行同級或高級中斷服務(wù)程序2)中斷查詢周期)中斷查詢周期C2不是正在執(zhí)行指令的最后不是正在執(zhí)行指令的最后一個周期一個周期3)正在執(zhí)行)正在執(zhí)行RETI指令或?qū)懭胫噶罨驅(qū)懭隝E、IP寄存器的寄存器的指令指令除第一種阻塞條件,在后兩種情況下,從中斷除第一種阻塞條件,在后兩種情況下,從中斷申請到轉(zhuǎn)入中斷服務(wù)程序需申請到轉(zhuǎn)入中斷服務(wù)程序需38個機器周期個機器周期3

40、、中斷請求撤除、中斷請求撤除響應(yīng)中斷后應(yīng)清除中斷請求標志,否則中斷申請繼響應(yīng)中斷后應(yīng)清除中斷請求標志,否則中斷申請繼續(xù)有效,可能會產(chǎn)生一次申請多次響應(yīng)的情況續(xù)有效,可能會產(chǎn)生一次申請多次響應(yīng)的情況清除方法:清除方法:TF0,TF1,IE0,IE1:硬件清除硬件清除RI,TI:軟件清除軟件清除外部中斷有兩種觸發(fā)方式外部中斷有兩種觸發(fā)方式: 下降沿觸發(fā),置位下降沿觸發(fā),置位IEX,可清除,可清除 低電平觸發(fā),僅清除低電平觸發(fā),僅清除IEX無效,應(yīng)考慮時序配合問題無效,應(yīng)考慮時序配合問題四、程序舉例四、程序舉例例例1:利用定時:利用定時/計數(shù)器計數(shù)器1的的T1端口改為外部脈沖(中端口改為外部脈沖(中

41、斷源)輸入端口的方法??驁D:斷源)輸入端口的方法??驁D:解:將解:將T1設(shè)定為外部計數(shù)方式,工作方式設(shè)定為外部計數(shù)方式,工作方式2,計,計數(shù)初值為數(shù)初值為FFH1)主程序)主程序ORG 0000HAJMP MAINORG 001BHLJMP INTER ORG 0100H MOV SP , #60HMOV TMOD , #60HMOV TL1 , #0FFHMOV TH1 , #0FFHSETB EASETB ET1SETB TR1MAIN:; 轉(zhuǎn)主程序轉(zhuǎn)主程序;T1中斷矢量地址入口中斷矢量地址入口;轉(zhuǎn)中斷服務(wù)程序;轉(zhuǎn)中斷服務(wù)程序;主程序入口地址;主程序入口地址;設(shè)置堆棧區(qū);設(shè)置堆棧區(qū);設(shè)置;

42、設(shè)置T1為計數(shù)模式,方式為計數(shù)模式,方式2;設(shè)置計數(shù)初值;設(shè)置計數(shù)初值;開中斷;開中斷;啟動;啟動T1計數(shù)計數(shù)2)中斷服務(wù)程序(具體處理內(nèi)容略)中斷服務(wù)程序(具體處理內(nèi)容略) ORG 1000HPUSH A ;PUSH DPL ;PUSH DPH ; POP DPH ;POP DPL ;POP A ;RETI ;INTER:保護現(xiàn)場保護現(xiàn)場恢復現(xiàn)場恢復現(xiàn)場中斷處理程序中斷處理程序中斷返回中斷返回中斷程序編制的要點:中斷程序編制的要點:1)在中斷源對應(yīng)中斷矢量地址入口放置中斷服)在中斷源對應(yīng)中斷矢量地址入口放置中斷服務(wù)程序,如空間不夠,可使用跳轉(zhuǎn)指令,轉(zhuǎn)向務(wù)程序,如空間不夠,可使用跳轉(zhuǎn)指令,轉(zhuǎn)向

43、中斷服務(wù)程序首地址。中斷服務(wù)程序首地址。2)設(shè)置堆棧區(qū))設(shè)置堆棧區(qū)3)開中斷,開放)開中斷,開放EA及對應(yīng)中斷允許位及對應(yīng)中斷允許位4)現(xiàn)場保護)現(xiàn)場保護5)中斷返回)中斷返回RETI。每個中斷服務(wù)程序都必須。每個中斷服務(wù)程序都必須有,且只能有一條,放在服務(wù)程序的最后有,且只能有一條,放在服務(wù)程序的最后主主程程序序中斷中斷服務(wù)服務(wù)程序程序例例2:設(shè)系統(tǒng)主頻為:設(shè)系統(tǒng)主頻為6MHZ,要求,要求P10口輸出周期為口輸出周期為10ms的的方波,使用方波,使用T0,方式,方式0,開中斷,開中斷 ORG 0000HAJMP START ORG 000BHLJMP INTER ORG 0050HMOV S

44、P,#70HMOV TMOD , #00HMOV TH0 , #0B1HMOV TL0 , #1CHSETB TR0SETB EASETB ET0SJMP OKSTART:OK:;轉(zhuǎn)主程序;轉(zhuǎn)主程序;T0中斷矢量地址中斷矢量地址;轉(zhuǎn)中斷服務(wù)程序;轉(zhuǎn)中斷服務(wù)程序;主程序;主程序;開中斷;開中斷;循環(huán)等待中斷;循環(huán)等待中斷 ORG 0500HMOV TL0 ,#0B1HMOV TH0 ,#1CHCPL P10RETIENDINTER:;重置計數(shù)初值;重置計數(shù)初值;P10取反取反;中斷返回;中斷返回;程序結(jié)束;程序結(jié)束例例3、電路圖如下所示,、電路圖如下所示,P1口接有口接有8個發(fā)光二極管,編寫程序

45、,個發(fā)光二極管,編寫程序,使使8個二極管輪流點亮,每個管亮個二極管輪流點亮,每個管亮100ms,設(shè)晶振為,設(shè)晶振為6MHz。分析:分析:利用利用T1完成完成100ms定時,當定時,當P1口線輸出口線輸出0時,發(fā)光二極管亮,每隔時,發(fā)光二極管亮,每隔100ms左移一次。左移一次。采用定時方式采用定時方式1計算計數(shù)初值計算計數(shù)初值機器周期為機器周期為 2s計數(shù)長度:計數(shù)長度:100ms/2s = 50000計數(shù)初值:計數(shù)初值: 216 50000 = 15536 = 3CB0 H查詢方式:查詢方式:ORG 0000HMOV A, #0FEHNEXT: MOV P1, AMOV TMOD, #10H

46、MOV TH1, #3CHMOV TL1, # 0B0HSETB TR1AGAI: JBC TF1, SHISJMP AGAISHI:RL ASJMP NEXT;置第一個;置第一個LED亮亮;T1定時方式定時方式1;定時;定時100ms;啟動;啟動T1工作工作;100ms到,轉(zhuǎn)到,轉(zhuǎn)SHI,并清,并清TF1;未到;未到100ms,再次檢查,再次檢查TF1;A左移一位左移一位;重復;重復中斷方式:中斷方式:ORG 0000HAJMP MAINORG 001BHAJMP IV1ORG 0030HMAIN: MOV A, #0FEH MOV P1, AMOV TMOD, #10HMOV TH1, #

47、3CHMOV TL1, # 0B0HSETB TR1SETB EASETB ET1WAIT: SJMP WAIT;單片機復位從;單片機復位從0000H開始執(zhí)行開始執(zhí)行;T1中斷服務(wù)程序入口地址中斷服務(wù)程序入口地址;轉(zhuǎn)移到;轉(zhuǎn)移到IV1;主程序;主程序;置第一個;置第一個LED亮亮;T1定時方式定時方式1;定時;定時100ms;啟動;啟動T1工作工作;開中斷總控開關(guān);開中斷總控開關(guān);允許;允許T1中斷中斷;等待中斷;等待中斷中斷服務(wù)程序:中斷服務(wù)程序:IV1: RL A MOV P1, AMOV TH1, #3CHMOV TL1, # 0B0HRETI;A左移左移;下一個二極管亮;下一個二極管亮

48、;重裝計數(shù)初值;重裝計數(shù)初值;中斷返回;中斷返回例例4:設(shè)設(shè)80C51的的fosc為為12MHZ,用用T0以中斷方式以中斷方式2實現(xiàn)對外部脈實現(xiàn)對外部脈沖進行計數(shù),每計滿沖進行計數(shù),每計滿120個脈沖后使內(nèi)部個脈沖后使內(nèi)部40H單元內(nèi)容加單元內(nèi)容加1,TR0啟動啟動; 使用使用T1中斷方式中斷方式2在在P10口輸出口輸出5KHZ方波方波1計數(shù)初值計算計數(shù)初值計算 T0 (外部脈沖計數(shù),外部脈沖計數(shù),方式方式2) (28X) 120 X 28120 136D 88H T1(定時,方式(定時,方式2) TH1=TL1=9CH2. TMOD工作方式字工作方式字 (TMOD) = 0010 0110

49、B = 26 H ORG 0000HAJMP MAIN ORG 000BHINC 40HRETI ORG 001BHCPL P10RETI ORG 0050HMOV SP,#70HMOV TMOD ,#26HMOV TL1,#9CHMOV TH1,#9CHMOV TL0,#88HMOV TH0,#88HMOV 40H, #0MAIN:OK:SETB EASETB ET0SETB ET1SETB TR0SETB TR1SJMP OKEND4.4 串行通訊口一、一、 串行通訊概述串行通訊概述1、并行通訊與串行通訊、并行通訊與串行通訊并行通訊:數(shù)據(jù)的所有位同時傳輸并行通訊:數(shù)據(jù)的所有位同時傳輸串行通

50、訊:數(shù)據(jù)的各位一位一位順序傳輸串行通訊:數(shù)據(jù)的各位一位一位順序傳輸2、異步通訊和同步通訊、異步通訊和同步通訊1) 同步通訊方式同步通訊方式基本特征是發(fā)送與接收時鐘需始終保持嚴格的同步?;咎卣魇前l(fā)送與接收時鐘需始終保持嚴格的同步。同步通訊常約定同步通訊常約定12個同步字符指示傳輸數(shù)據(jù)流的開始,個同步字符指示傳輸數(shù)據(jù)流的開始,用于保證發(fā)送和接收端的初始同步用于保證發(fā)送和接收端的初始同步同步通訊格式:同步通訊格式:1 1 0 1 0 1 1 0 0 0 0 1 PSYNC:同步字符:同步字符數(shù)據(jù)的第一位數(shù)據(jù)的第一位奇偶校驗位奇偶校驗位特點特點l 以數(shù)據(jù)塊為單位傳送信息以數(shù)據(jù)塊為單位傳送信息l 在一

51、個數(shù)據(jù)塊(信息幀)內(nèi),字符與字符間無間隔在一個數(shù)據(jù)塊(信息幀)內(nèi),字符與字符間無間隔l 因為一次傳輸?shù)臄?shù)據(jù)塊中包含的數(shù)據(jù)較多,所以接收時因為一次傳輸?shù)臄?shù)據(jù)塊中包含的數(shù)據(jù)較多,所以接收時鐘與發(fā)送時鐘需要嚴格同步鐘與發(fā)送時鐘需要嚴格同步同步通訊方式常用于傳輸信息量大、速度要求較高的場合,同步通訊方式常用于傳輸信息量大、速度要求較高的場合,一般串行通訊中較少用一般串行通訊中較少用2) 異步通訊異步通訊每個數(shù)據(jù)均以相同的幀格每個數(shù)據(jù)均以相同的幀格式傳送式傳送起始位表示字符的開始,起始位表示字符的開始,用停止位表示字符的結(jié)束用停止位表示字符的結(jié)束數(shù)據(jù)傳送以字符為單位,字符與字符間的傳送是完全異步的,數(shù)據(jù)

52、傳送以字符為單位,字符與字符間的傳送是完全異步的,位與位之間的傳送基本上是同步的位與位之間的傳送基本上是同步的l 以字符為單位傳送信息。以字符為單位傳送信息。l 相鄰兩字符間的間隔是任意長相鄰兩字符間的間隔是任意長l 因為一個字符中的比特位長度有限,所以需要的接收時鐘因為一個字符中的比特位長度有限,所以需要的接收時鐘和發(fā)送時鐘只要相近就可以和發(fā)送時鐘只要相近就可以l 異步方式特點:字符間異步,字符內(nèi)部各位同步異步方式特點:字符間異步,字符內(nèi)部各位同步起始位:起始位:通訊線上沒有數(shù)據(jù)傳送時呈高電平(通訊線上沒有數(shù)據(jù)傳送時呈高電平(1)。當需發(fā))。當需發(fā)送一幀數(shù)據(jù)時,首先發(fā)送一位邏輯送一幀數(shù)據(jù)時,

53、首先發(fā)送一位邏輯0(低電平)信號,稱起(低電平)信號,稱起始位。始位。數(shù)據(jù)位:數(shù)據(jù)位:緊接起始位之后的即為數(shù)據(jù)位??梢允蔷o接起始位之后的即為數(shù)據(jù)位??梢允?、6、7或或8位。一般在傳送中從數(shù)據(jù)的最低位開始,順序發(fā)送和接收。位。一般在傳送中從數(shù)據(jù)的最低位開始,順序發(fā)送和接收。奇偶校驗位:奇偶校驗位:緊跟在數(shù)據(jù)位后,用于對數(shù)據(jù)檢錯緊跟在數(shù)據(jù)位后,用于對數(shù)據(jù)檢錯停止位:停止位:在校驗位后,表示一幀數(shù)據(jù)的結(jié)束??梢允窃谛r炍缓?,表示一幀數(shù)據(jù)的結(jié)束??梢允?、1又又1/2、2位,用邏輯位,用邏輯1(高電平)表示(高電平)表示異步通訊一幀一幀的進行傳輸,幀與幀之間的空隙異步通訊一幀一幀的進行傳輸,幀與幀之

54、間的空隙不固定,間隙處用空閑位填補不固定,間隙處用空閑位填補異步通訊一般常用于傳異步通訊一般常用于傳輸信息量不太大,傳輸輸信息量不太大,傳輸速度較低的場合速度較低的場合異步通訊時,接收端與發(fā)送端之間的約定:異步通訊時,接收端與發(fā)送端之間的約定:a) 幀格式的設(shè)定幀格式的設(shè)定b) 波特率的設(shè)定波特率的設(shè)定波特率是數(shù)據(jù)傳送的速率,以每秒傳送的二進制位(波特率是數(shù)據(jù)傳送的速率,以每秒傳送的二進制位(bit)數(shù)表示,單位為波特,數(shù)表示,單位為波特,1波特波特=1位位/秒(秒(1bps)波特率是數(shù)據(jù)傳送速率的單位,也是衡量信道質(zhì)量的單位波特率是數(shù)據(jù)傳送速率的單位,也是衡量信道質(zhì)量的單位3、串行通訊中數(shù)據(jù)

55、的傳輸方向、串行通訊中數(shù)據(jù)的傳輸方向1)單工方式)單工方式數(shù)據(jù)按照一個固定方向傳輸數(shù)據(jù)按照一個固定方向傳輸2)半雙工方式)半雙工方式接收和發(fā)送交替進行,同一時刻只能在一個方向上傳輸接收和發(fā)送交替進行,同一時刻只能在一個方向上傳輸3)全雙工方式)全雙工方式同一時刻即可接收也可發(fā)送,實現(xiàn)雙向傳輸同一時刻即可接收也可發(fā)送,實現(xiàn)雙向傳輸二、二、80C5180C51的串行通訊接口的串行通訊接口80C51集成有一個功能很強的全雙工串行通訊口。設(shè)有兩個集成有一個功能很強的全雙工串行通訊口。設(shè)有兩個相互獨立的接收、發(fā)送緩沖器,可以同時接收和發(fā)送數(shù)據(jù)。相互獨立的接收、發(fā)送緩沖器,可以同時接收和發(fā)送數(shù)據(jù)。接收緩沖

56、器只能讀出不能寫入,發(fā)送緩沖器只能寫入不能讀接收緩沖器只能讀出不能寫入,發(fā)送緩沖器只能寫入不能讀出,所以兩個緩沖器共用一個地址碼(出,所以兩個緩沖器共用一個地址碼(99H)。兩個緩沖器)。兩個緩沖器統(tǒng)稱串行通訊特殊功能寄存器統(tǒng)稱串行通訊特殊功能寄存器SBUF。串行通訊設(shè)有串行通訊設(shè)有4種工作方式種工作方式80C51串行口組成示意圖一)串行口控制寄存器一)串行口控制寄存器1) 串行控制寄存器串行控制寄存器SCON用于選擇串行通訊的工作方式和某些控制功能用于選擇串行通訊的工作方式和某些控制功能字節(jié)地址:字節(jié)地址:98HSM0、SM1:不同組合確定串行通訊的工作方式不同組合確定串行通訊的工作方式SM

57、0 SM1 工作方式工作方式 功能說明功能說明 波特率波特率 0 0 方式方式0 移位寄存器方式移位寄存器方式 1/12 fosc 0 1 方式方式1 8位位UART方式方式 可變可變 1 0 方式方式2 9位位UART方式方式 1/64或或1/32fosc 1 1 方式方式3 9位位UART方式方式 可變可變串行工作方式方式方式1 8位位方式方式2 9位位方式方式3 9位位SM2:允許方式:允許方式2或方式或方式3多機通訊控制位。多機通訊控制位。 在方式在方式2或或3時,如時,如SM2=1,REN=1,則從機只有接收到,則從機只有接收到RB8=1(地址幀)時,才激發(fā)中斷請求標志位(地址幀)時

58、,才激發(fā)中斷請求標志位RI=1,向,向CPU請求中斷處理。請求中斷處理。 被確認尋址的從機復位被確認尋址的從機復位SM2=0,才能接收數(shù)據(jù)幀(,才能接收數(shù)據(jù)幀(RB8=0)。)。 方式方式1時,時,如如SM2=1,則只有在接收到有效停止位時才置位,則只有在接收到有效停止位時才置位中斷標志位中斷標志位RI=1; 方式方式0時,時,SM2應(yīng)為應(yīng)為0。REN:允許:允許/禁止串行接收控制位。軟件置位禁止串行接收控制位。軟件置位REN=1,允許,允許串行接收;串行接收;REN=0,禁止接收,禁止接收TB8:在方式:在方式2或或3時,為要發(fā)送的第時,為要發(fā)送的第9位數(shù)據(jù),按需要用軟位數(shù)據(jù),按需要用軟件置

59、位或清件置位或清0。置置1表示要發(fā)送的是地址;清表示要發(fā)送的是地址;清0表示發(fā)送數(shù)據(jù)表示發(fā)送數(shù)據(jù)RB8:在方式:在方式2或或3時,是接收到的第時,是接收到的第9位數(shù)據(jù)。位數(shù)據(jù)。方式方式1,若,若SM2=1,RB8是接收到的停止位。方式是接收到的停止位。方式0不使用不使用復位時,復位時,SCON=00H2) 特殊功能寄存器特殊功能寄存器PCON最高位最高位PCON7為為SMOD,是波特率選擇位。,是波特率選擇位。SMOD=1,波特率加倍;,波特率加倍;SMOD=0,波特率不變。,波特率不變。復位時,復位時,SMOD=00H字節(jié)地址字節(jié)地址87H,不可位尋址,不可位尋址TI:發(fā)送中斷請求標志位。響

60、應(yīng)中斷后,必須用軟件清發(fā)送中斷請求標志位。響應(yīng)中斷后,必須用軟件清0。RI:接收中斷請求標志位。響應(yīng)中斷后,必須用軟件清接收中斷請求標志位。響應(yīng)中斷后,必須用軟件清0。串行數(shù)據(jù)寄存器串行數(shù)據(jù)寄存器SBUF 99H,不可位尋址,不可位尋址 串行發(fā)送串行發(fā)送 MOV SBUF, A 串行接收串行接收 MOV A,SBUF二)串行通訊的工作方式二)串行通訊的工作方式4種工作方式,通過對種工作方式,通過對SCON中的中的SM0、SM1的設(shè)置進行的設(shè)置進行選擇選擇1、方式、方式0同步移位寄存器方式,波特率同步移位寄存器方式,波特率1/12fosc串行接收端串行接收端RXD(P30):進行數(shù)據(jù)的接收與發(fā)送

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論