第五章 MCS-51單片機內(nèi)部資源及編程_第1頁
第五章 MCS-51單片機內(nèi)部資源及編程_第2頁
第五章 MCS-51單片機內(nèi)部資源及編程_第3頁
第五章 MCS-51單片機內(nèi)部資源及編程_第4頁
第五章 MCS-51單片機內(nèi)部資源及編程_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-5-12第五章第五章 MCS-51單片機內(nèi)部資源及編程單片機內(nèi)部資源及編程 MCS-51單片機的內(nèi)部資源主要有并行單片機的內(nèi)部資源主要有并行I/O口、口、定時器定時器/計數(shù)器、串行接口以及中斷系統(tǒng),計數(shù)器、串行接口以及中斷系統(tǒng),MCS-51單片機的大部分功能就是通過對這些資源的利單片機的大部分功能就是通過對這些資源的利用來實現(xiàn)的。用來實現(xiàn)的。2022-5-12第2頁5.1.1 并行口應(yīng)用與編程并行口應(yīng)用與編程【例例5-1】 利用單片機的利用單片機的P0口接口接8個發(fā)光二極管,個發(fā)光二極管,P1口接口接8個開關(guān),編程實現(xiàn),當(dāng)開關(guān)動作時,對應(yīng)的發(fā)光二極管亮個開關(guān),編程實現(xiàn),當(dāng)開關(guān)動作時,

2、對應(yīng)的發(fā)光二極管亮或滅?;驕纭V豁毎阎豁毎裀0口的內(nèi)容讀出后,通過口的內(nèi)容讀出后,通過P1口輸出即可??谳敵黾纯?。匯編程序:匯編程序: ORG 0100H MOV P0,#0FFHLOOP: MOV A,P0 MOV P1,A SJMP LOOP5.1 并行輸入并行輸入/輸出接口輸出接口2022-5-12C51語言程序:語言程序:#include void main(void)unsigned char i;P0=0 xff;for(;) i=P0;P1=i; 2022-5-12第4頁5.2 定時定時/計數(shù)器接口計數(shù)器接口 兩個兩個16位的定時位的定時/計數(shù)器計數(shù)器 存放初值的存放初值的SFR

3、:T0:TH0,TL0T1:TH1,TL1 其他相關(guān)的其他相關(guān)的SFR:TMOD(工作方式控制寄存器工作方式控制寄存器)TCON(控制寄存器控制寄存器) 定時功能時定時功能時,每個機器周期定時器加每個機器周期定時器加1. 計數(shù)功能時計數(shù)功能時,在外部相應(yīng)的輸入腳在外部相應(yīng)的輸入腳(T0或或T1)產(chǎn)生下降沿產(chǎn)生下降沿,計數(shù)器計數(shù)器加加1.2022-5-125.2.1 定時定時/計數(shù)器計數(shù)器T0、T1的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及工作原理TH1TL1TH0TL0TCONTMOD啟動啟動啟動啟動溢出溢出溢出溢出工工作作方方式式工工作作方方式式中斷請求中斷請求內(nèi)部總線內(nèi)部總線TcyT1(p3.5)T0(p3

4、.4)注:注:1、初值的計算;、初值的計算; 2、外部計數(shù)脈沖的頻率應(yīng)小于振蕩周期的、外部計數(shù)脈沖的頻率應(yīng)小于振蕩周期的1/24。2022-5-125.2.2 定時定時/計數(shù)器的方式和控制寄存器計數(shù)器的方式和控制寄存器一定時一定時/計數(shù)器的方式寄存器計數(shù)器的方式寄存器TMODTMODD7D6D5D4D3D2D1D0(89H)GATEC/TM1M0GATEC/TM1M0定時器定時器1定時器定時器0注注:TMOD不能位尋址不能位尋址2022-5-12第7頁其中:其中:GATE:門控位:門控位GATE=1,T0,T1的啟動是否受外部中斷請求信號的影響。的啟動是否受外部中斷請求信號的影響。INT0(p

5、3.2)引腳控引腳控制制T0運行,運行,INT1(p3.3)引腳控制)引腳控制T1運行,運行,可用于測量在可用于測量在INT0 或或INT1引引腳出現(xiàn)的正脈沖的寬度腳出現(xiàn)的正脈沖的寬度。GATE=0,定時,定時/計數(shù)器的啟動不受外部中斷請求信號的影響。一般情況下計數(shù)器的啟動不受外部中斷請求信號的影響。一般情況下 , GATE=0。C/T:定時或計數(shù)方式選擇位:定時或計數(shù)方式選擇位當(dāng)當(dāng)C/T=0時工作于定時器方式,內(nèi)部計數(shù)器對晶振時工作于定時器方式,內(nèi)部計數(shù)器對晶振12分頻后的脈沖計數(shù)(該分頻后的脈沖計數(shù)(該脈沖的周期等于機器周期);每一個周期計數(shù)值加脈沖的周期等于機器周期);每一個周期計數(shù)值加

6、1,若選擇,若選擇12MHZ晶振,晶振,則計數(shù)頻率為則計數(shù)頻率為1MHZ,從計數(shù)值就可求得計數(shù)的時間,所以稱為定時器模式。,從計數(shù)值就可求得計數(shù)的時間,所以稱為定時器模式。當(dāng)當(dāng)C/T=0時工作于計數(shù)器方式,計數(shù)器對由引腳時工作于計數(shù)器方式,計數(shù)器對由引腳T0(p3.4)或)或T1(p3.5)輸)輸入的外部脈沖計數(shù)。入的外部脈沖計數(shù)。2022-5-12第8頁 M1、M0為工作方式選擇位為工作方式選擇位 ,用于對,用于對T0的四種工作方式,的四種工作方式,T1的三種工作方式進(jìn)行選擇,選擇情況的三種工作方式進(jìn)行選擇,選擇情況如下:如下: M1M0工作方式工作方式方式說明方式說明00013位定時位定時

7、/計數(shù)器計數(shù)器01116位定時位定時/計數(shù)器計數(shù)器1028位自動重置定時位自動重置定時/計數(shù)器計數(shù)器113兩個兩個8位定時位定時/計數(shù)器(只有計數(shù)器(只有T0有)有)2022-5-12二定時二定時/計數(shù)器的控制寄存器計數(shù)器的控制寄存器TCONTCOND7D6D5D4D3D2D1D0(88H)TF1TR1TF0TR0IE1IT1IE0IT0其中其中:TF1:定時:定時/計數(shù)器計數(shù)器T1的溢出標(biāo)志位,當(dāng)?shù)囊绯鰳?biāo)志位,當(dāng)T1定時定時/計數(shù)器溢計數(shù)器溢出時,由硬件置出時,由硬件置1,申請中斷,進(jìn)入中斷處理后由內(nèi)部硬件,申請中斷,進(jìn)入中斷處理后由內(nèi)部硬件電路自動清電路自動清0。TR1:定時:定時/計數(shù)器

8、計數(shù)器T1的啟動位,可由軟件置位或清零,的啟動位,可由軟件置位或清零,當(dāng)當(dāng)TR1=1時啟動;時啟動;TR1=0時停止。時停止。2022-5-12 TF0:定時:定時/計數(shù)器計數(shù)器T0的溢出標(biāo)志位,當(dāng)定時的溢出標(biāo)志位,當(dāng)定時/計數(shù)器計數(shù)器T0計滿時,由硬件使它置位,如中斷允許則觸發(fā)計滿時,由硬件使它置位,如中斷允許則觸發(fā)T0中斷。進(jìn)中斷。進(jìn)入中斷處理后由內(nèi)部硬件電路自動清除。入中斷處理后由內(nèi)部硬件電路自動清除。 TR0:定時:定時/計數(shù)器計數(shù)器T0的啟動位,可由軟件置位或清零,的啟動位,可由軟件置位或清零,當(dāng)當(dāng)TR0=1時啟動;時啟動;TR0=0時停止。時停止。2022-5-12第11頁5.2.

9、3 定時定時/計數(shù)器的工作方式計數(shù)器的工作方式一方式一方式0振蕩器振蕩器 12TLx(低低5位位)THx(高高8位位)TFx與與或或TxTRxGATEINTxS2S1C/TTcy中斷請中斷請求求2022-5-12 方式方式0是是13位的定時位的定時/計數(shù)方式,因而最大計數(shù)值(滿計數(shù)方式,因而最大計數(shù)值(滿值)為值)為2的的13次冪,等于次冪,等于8192。如計數(shù)值為。如計數(shù)值為N,則置入的,則置入的初值初值X為:為: X=8192-N 如如定時定時/計數(shù)器計數(shù)器T0的計數(shù)值為的計數(shù)值為1000,則初值為,則初值為7192,轉(zhuǎn)換成二進(jìn)制數(shù)為轉(zhuǎn)換成二進(jìn)制數(shù)為1110000011000B,則,則TH

10、0=11100000B,TL0=00011000B。2022-5-12第13頁二方式二方式1 方式方式1的結(jié)構(gòu)與方式的結(jié)構(gòu)與方式0結(jié)構(gòu)相同,只是把結(jié)構(gòu)相同,只是把13位變成位變成16位,位, 16位的加法計數(shù)器被全部用上。位的加法計數(shù)器被全部用上。 由于由于是是16位的定時位的定時/計數(shù)方式,因而最大計數(shù)值(滿值)計數(shù)方式,因而最大計數(shù)值(滿值)為為2的的16次冪,等于次冪,等于65536。如計數(shù)值為。如計數(shù)值為N,則置入的初值,則置入的初值X為:為:X=65536-N如定時如定時/計數(shù)器計數(shù)器T0的計數(shù)值為的計數(shù)值為1000,則初值為,則初值為65536-1000=64536,轉(zhuǎn)換成二進(jìn)制數(shù)

11、為,轉(zhuǎn)換成二進(jìn)制數(shù)為1111110000011000B,則則TH0=11111100B,TL0=00011000B。2022-5-12三方式三方式2振蕩器振蕩器 12TLx(8位)位)THx(8位)位)TFx與與或或TxTRxGATEINTxS2S1C/TTcy中斷請中斷請求求重裝初值重裝初值82022-5-12 由于由于是是8位的定時位的定時/計數(shù)方式,因而最大計數(shù)值(滿值)計數(shù)方式,因而最大計數(shù)值(滿值)為為2的的8次冪,等于次冪,等于256。如計數(shù)值為。如計數(shù)值為N,則置入的初值,則置入的初值X為:為: X=256-N 如定時如定時/計數(shù)器計數(shù)器T0的計數(shù)值為的計數(shù)值為100,則初值為,

12、則初值為256-100=156,轉(zhuǎn)換成二進(jìn)制數(shù)為,轉(zhuǎn)換成二進(jìn)制數(shù)為10011100B,則,則TH0= TL0=10011100B。2022-5-12第16頁四方式四方式3 方式方式3只有定時只有定時/計數(shù)器計數(shù)器T0才有,當(dāng)才有,當(dāng)M1M0兩位為兩位為11時,定時,定時時/計數(shù)器計數(shù)器T0工作于方式工作于方式3,方式,方式3的結(jié)構(gòu)如下圖的結(jié)構(gòu)如下圖. 方式方式3下,定時下,定時/計數(shù)器計數(shù)器T0被分為兩個部分被分為兩個部分TL0和和TH0,其,其中,中,TL0可作為定時可作為定時/計數(shù)器使用,占用計數(shù)器使用,占用T0的全部控制位:的全部控制位:GATE、C/T、TR0和和TF0;而;而TH0固

13、定只能作定時器使用,對固定只能作定時器使用,對機器周期進(jìn)行計數(shù),這時它占用定時機器周期進(jìn)行計數(shù),這時它占用定時/計數(shù)器計數(shù)器T1的的TR1位、位、TF1位和位和T1的中斷資源。的中斷資源。 2022-5-12振蕩器振蕩器 12TL0(8位)位)TF0與與或或T0TR0GATEINT0S2S1C/TTcy中斷請求中斷請求TH0(8位)位)TF1S2中斷請求中斷請求1/12foscTR1注:此時注:此時T1一般用作串行口的波特率發(fā)生器。一般用作串行口的波特率發(fā)生器。2022-5-125.2.4 定時定時/計數(shù)器的初始化編程及應(yīng)用計數(shù)器的初始化編程及應(yīng)用一定時一定時/計數(shù)器的編程計數(shù)器的編程MCS-

14、51單片機定時單片機定時/計數(shù)器初始化過程如下:計數(shù)器初始化過程如下: 1根據(jù)要求選擇方式,確定方式控制字,寫入方式控制寄根據(jù)要求選擇方式,確定方式控制字,寫入方式控制寄存器存器TMOD。 2根據(jù)要求計算定時根據(jù)要求計算定時/計數(shù)器的計數(shù)值,再由計數(shù)值求得初計數(shù)器的計數(shù)值,再由計數(shù)值求得初值,寫入初值寄存器。值,寫入初值寄存器。 3根據(jù)需要開放定時根據(jù)需要開放定時/計數(shù)器中斷(后面須編寫中斷服務(wù)程計數(shù)器中斷(后面須編寫中斷服務(wù)程序);也可以用查詢的方式來響應(yīng)定時器。序);也可以用查詢的方式來響應(yīng)定時器。 4設(shè)置定時設(shè)置定時/計數(shù)器控制寄存器計數(shù)器控制寄存器TCON的值,啟動定時的值,啟動定時/

15、計數(shù)計數(shù)器開始工作。器開始工作。 5等待定時等待定時/計數(shù)時間到,到則執(zhí)行中斷服務(wù)程序;如用查計數(shù)時間到,到則執(zhí)行中斷服務(wù)程序;如用查詢處理則編寫查詢程序判斷溢出標(biāo)志,溢出標(biāo)志等于詢處理則編寫查詢程序判斷溢出標(biāo)志,溢出標(biāo)志等于1,則進(jìn),則進(jìn)行相應(yīng)處理。行相應(yīng)處理。2022-5-12二定時二定時/計數(shù)器的應(yīng)用計數(shù)器的應(yīng)用 通常利用定時通常利用定時/計數(shù)器來產(chǎn)生周期性的波形。利用定時計數(shù)器來產(chǎn)生周期性的波形。利用定時/計數(shù)器產(chǎn)生周期性波形的基本思想是:利用定時計數(shù)器產(chǎn)生周期性波形的基本思想是:利用定時/計數(shù)器計數(shù)器產(chǎn)生周期性的定時,定時時間到則對輸出端進(jìn)行相應(yīng)的處產(chǎn)生周期性的定時,定時時間到則對輸

16、出端進(jìn)行相應(yīng)的處理。如產(chǎn)生周期性的方波只須定時時間到對輸出端取反一理。如產(chǎn)生周期性的方波只須定時時間到對輸出端取反一次即可。次即可。2022-5-12第20頁【例例5-2】 設(shè)系統(tǒng)時鐘頻率為設(shè)系統(tǒng)時鐘頻率為12MHZ,用定時,用定時/計數(shù)器計數(shù)器T0編程實現(xiàn)從編程實現(xiàn)從P1.0輸出周期為輸出周期為500s的方波。的方波。 分析分析:從:從P1.0輸出周期為輸出周期為500s的方波,只須的方波,只須P1.0每每250s取反一次則可。當(dāng)系統(tǒng)時鐘為取反一次則可。當(dāng)系統(tǒng)時鐘為12MHZ,定時,定時/計數(shù)器計數(shù)器T0工作于方式工作于方式2時,最大的定時時間為時,最大的定時時間為256s,滿足,滿足250

17、s的定時要求,方式控制字應(yīng)設(shè)定為的定時要求,方式控制字應(yīng)設(shè)定為00000010B(02H)。系)。系統(tǒng)時鐘為統(tǒng)時鐘為12MHZ,定時,定時250s,計數(shù)值,計數(shù)值N為為250,初值,初值X=256-250=6,則,則TH0=TL0=06H。2022-5-12匯編程序:匯編程序:ORG 0000HLJMP MAINORG 000BH ;中斷處理程序中斷處理程序CPL P1.0RETIORG 0100H ;主程序;主程序MAIN:MOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HSETB EASETB ET0SETB TR0SJMP $ENDC語言程序:語言程序:# inc

18、lude /包含特殊包含特殊功能寄存器庫功能寄存器庫sbit P1_0=P10;void main()TMOD=0 x02;TH0=0 x06;TL0=0 x06;EA=1;ET0=1;TR0=1;while(1);void time0_int(void) interrupt 1 /中斷服務(wù)程序中斷服務(wù)程序 P1_0=!P1_0;(1)采用中斷處理方式的程序:采用中斷處理方式的程序:2022-5-12(2)采用查詢方式處理的程序)采用查詢方式處理的程序匯編程序:匯編程序:ORG 0000HLJMP MAINORG 0100H ;主程序;主程序MAIN:MOV TMOD,#02HMOV TH0,

19、#06HMOV TL0,#06HSETB TR0LOOP:JBC TF0,NEXT ;查詢計數(shù)溢出;查詢計數(shù)溢出SJMP LOOPNEXT:CPL P1.0SJMP LOOPSJMP $ENDC語言程序:語言程序:# include /包含包含特殊功能寄存器庫特殊功能寄存器庫sbit P1_0=P10;void main()char i;TMOD=0 x02;TH0=0 x06;TL0=0 x06;TR0=1;for(;) if (TF0) TF0=0;P1_0=! P1_0; /查查詢計數(shù)溢出詢計數(shù)溢出 2022-5-12 如果如果定時時間大于定時時間大于65536s,這時用一個定時,這時用

20、一個定時/計數(shù)器計數(shù)器直接處理不能實現(xiàn),這時可用兩個定時直接處理不能實現(xiàn),這時可用兩個定時/計數(shù)器共同處理或計數(shù)器共同處理或一個定時一個定時/計數(shù)器配合軟件計數(shù)方式處理。計數(shù)器配合軟件計數(shù)方式處理。 2022-5-12第24頁【例例5-3】設(shè)系統(tǒng)時鐘頻率為設(shè)系統(tǒng)時鐘頻率為12MHZ,編程實現(xiàn)從,編程實現(xiàn)從P1.1輸輸出周期為出周期為1s的方波。的方波。 根據(jù)根據(jù)例例5-2的處理過程,這時應(yīng)產(chǎn)生的處理過程,這時應(yīng)產(chǎn)生500ms的周期性的的周期性的定時,定時到則對定時,定時到則對P1.1取反就可實現(xiàn)。由于定時時間較長,取反就可實現(xiàn)。由于定時時間較長,一個定時一個定時/計數(shù)器不能直接實現(xiàn),可用定時計

21、數(shù)器不能直接實現(xiàn),可用定時/計數(shù)器計數(shù)器T0產(chǎn)生周產(chǎn)生周期性為期性為10ms的定時,然后用一個寄存器的定時,然后用一個寄存器R2對對10ms計數(shù)計數(shù)50次或用定時次或用定時/計數(shù)器計數(shù)器T1對對10ms計數(shù)計數(shù)50次實現(xiàn)。系統(tǒng)時鐘為次實現(xiàn)。系統(tǒng)時鐘為12MHZ,定時,定時/計數(shù)器計數(shù)器T0定時定時10ms,計數(shù)值,計數(shù)值N為為10000,只,只能選方式能選方式1,方式控制字為,方式控制字為00000001B(01H),初值),初值X:X=65536-10000=55536=1101100011110000B則則TH0=11011000B=D8H,TL0=11110000B=F0H。2022-5

22、-12(1)用寄存器)用寄存器R2作計數(shù)器軟件計數(shù),中斷處理方式。作計數(shù)器軟件計數(shù),中斷處理方式。匯編程序:匯編程序:ORG 0000HLJMP MAINORG 000BHLJMP INTT0ORG 0100HMAIN:MOV TMOD,#01HMOV TH0,#0D8HMOV TL0,#0F0HMOV R2,#00HSETB EASETB ET0SETB TR0SJMP $INTT0:MOV TH0,#0D8HMOV TL0,#0F0HINC R2CJNE R2,#32H,NEXTCPL P1.1MOV R2,#00HNEXT:RETIEND2022-5-12C語言程序:語言程序:# inc

23、lude /包含特殊功能寄存器庫包含特殊功能寄存器庫sbit P1_1=P11;char i;void main()TMOD=0 x01;TH0=0 xD8; TL0=0 xf0;EA=1; ET0=1;i=0;TR0=1;while(1);void time0_int(void) interrupt 1 /中斷服務(wù)程序中斷服務(wù)程序TH0=0 xD8;TL0=0 xf0;i+;if (i=50) P1_1=! P1_1;i=0;2022-5-12(2) 用定時用定時/計數(shù)器計數(shù)器T1計數(shù)實現(xiàn),定時計數(shù)實現(xiàn),定時/計數(shù)器計數(shù)器T1工作于計數(shù)方式時,工作于計數(shù)方式時,計數(shù)脈沖通過計數(shù)脈沖通過T1(

24、P3.5)輸入,設(shè)定時)輸入,設(shè)定時/計數(shù)器計數(shù)器T0定時時間到對定時時間到對T1(P3.5)取反一次,則)取反一次,則T1(P3.5)每)每20ms產(chǎn)生一個計數(shù)脈沖,那么產(chǎn)生一個計數(shù)脈沖,那么定時定時500ms只須計數(shù)只須計數(shù)25次,設(shè)定時次,設(shè)定時/計數(shù)器計數(shù)器T1工作于方式工作于方式2,初值,初值X=256-25=231=11100111B=E7H,TH1=TL1=E7H。因為定時。因為定時/計數(shù)計數(shù)器器T0工作于方式工作于方式1,定時,則這時方式控制字為,定時,則這時方式控制字為01100001B(61H)。)。定時定時/計數(shù)器計數(shù)器T0和和T1都采用中斷方式工作。都采用中斷方式工作。

25、匯編程序如下:匯編程序如下:ORG 0000HLJMP MAINORG 000BHMOV TH0,#0D8HMOV TL0,#0F0HCPL P3.5RETIORG 001BHCPL P1.1RETI2022-5-12 ORG 0100HMAIN:MOV TMOD,#61HMOV TH0,#0D8HMOV TL0,#0F0HMOV TH1,#0E7HMOV TL1,#0E7HSETB EASETB ET0SETB ET1SETB TR0SETB TR1SJMP $END2022-5-12第29頁C語言程序如下:語言程序如下:# include /包含特殊功能寄存器庫包含特殊功能寄存器庫sbit

26、 P1_1=P11;sbit P3_5=P35;void main()TMOD=0 x61;TH0=0 xD8;TL0=0 xf0;TH1=0 xE7; TL1=0 xE7;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;while(1);2022-5-12void time0_int(void) interrupt 1 /T0中斷服務(wù)程序中斷服務(wù)程序 TH0=0 xD8;TL0=0 xf0;P3_5=!P3_5;void time1_int(void) interrupt 3 /T1中斷服務(wù)程序中斷服務(wù)程序 P1_1=! P1_1;2022-5-125.3 串行接口串行接口5.3.

27、1 通訊的基本概念通訊的基本概念通訊的基本方式:通訊的基本方式:串行通訊與并行通訊串行通訊與并行通訊串行同步通訊、串行異步通訊串行同步通訊、串行異步通訊單工、半雙工和全雙工通訊單工、半雙工和全雙工通訊2022-5-12一并行通信和串行通信一并行通信和串行通信計計算算機機01001001計計算算機機01001001(或外設(shè))(或外設(shè))D0D1D2D3D4D5D6D7控制或選通控制或選通狀態(tài)狀態(tài)計計算算機機計計算算機機(或外設(shè))計算機與外界的通信有兩種基本方式:并行通信和串計算機與外界的通信有兩種基本方式:并行通信和串行通信。行通信。發(fā)送發(fā)送接收接收2022-5-12 根據(jù)根據(jù)信息傳送的方向,串行

28、通信可以分為信息傳送的方向,串行通信可以分為單工、半雙工和全雙工單工、半雙工和全雙工3種。種。 (a) A B (b) (c) A B A B s s2022-5-12第34頁二同步通信和異步通信二同步通信和異步通信 串行串行通信按信息的格式又可分為異步通信和同步通信兩種通信按信息的格式又可分為異步通信和同步通信兩種方式。方式。1串行異步通信方式串行異步通信方式第n+1個字符起始位奇偶校驗位停止位下一個起始位D2D1D0D3D4D5D6D7數(shù)據(jù)位D0D10010/10/10/10/10/10/10/10/10/10/10/1D2第n個字符2022-5-12第35頁2串行同步通信方式串行同步通信

29、方式串行同步通信方式需要有數(shù)據(jù)端、同步時鐘端。串行同步通信方式需要有數(shù)據(jù)端、同步時鐘端。 2022-5-12三波特率三波特率 波特率波特率是指串行通信中,單位時間傳送的二進(jìn)制位數(shù),是指串行通信中,單位時間傳送的二進(jìn)制位數(shù),單位為單位為bps。 在在異步通信中,傳輸速度往往又可用每秒傳送多少個字異步通信中,傳輸速度往往又可用每秒傳送多少個字節(jié)來表示(節(jié)來表示(Bps)。它與波特率的關(guān)系為:)。它與波特率的關(guān)系為:波特率(波特率(bps)=一個字符的二進(jìn)制位數(shù)一個字符的二進(jìn)制位數(shù)字符字符/秒(秒(Bps)例如:每秒傳送例如:每秒傳送200個字符,每個字符個字符,每個字符1位起始位、位起始位、8個數(shù)

30、據(jù)個數(shù)據(jù)位、位、1個校驗位和個校驗位和1個停止位。則波特率為個停止位。則波特率為2200bps。 2022-5-125.3.2 MCS-51單片機串行口的結(jié)構(gòu)單片機串行口的結(jié)構(gòu)發(fā)送發(fā)送SBUF接收接收SBUF發(fā)送控制器發(fā)送控制器接收控制器接收控制器輸入移位寄存器輸入移位寄存器串行口控制寄存器串行口控制寄存器波特率發(fā)生器波特率發(fā)生器串行口中斷串行口中斷內(nèi)部總線內(nèi)部總線門門+RXD(P3.0)TXD(P3.1)RITI一結(jié)構(gòu)一結(jié)構(gòu)2022-5-12第第38頁頁二串行口控制寄存器二串行口控制寄存器SCONSCOND7D6D5D4D3D2D1D098HSM0SM1SM2RENTB8RB8TIRI其中:

31、其中: SM0、SM1:串行口工作方式選擇位。用于選擇四種工:串行口工作方式選擇位。用于選擇四種工作方式作方式 SM0SM1方式方式功能功能波特率波特率00方式方式0移位寄存器方式移位寄存器方式fosc/1201方式方式18位異步通信方式位異步通信方式可變可變10方式方式29位異步通信方式位異步通信方式fosc/32或或fosc/6411方式方式39位異步通信方式位異步通信方式可變可變2022-5-12SM2:多機通信控制位。:多機通信控制位。 REN:允許接收控制位。當(dāng):允許接收控制位。當(dāng)REN=1,則允許接收,當(dāng),則允許接收,當(dāng)REN=0,則禁止接收。,則禁止接收。 TB8:發(fā)送數(shù)據(jù)的第:

32、發(fā)送數(shù)據(jù)的第9位。位。 RB8:接收數(shù)據(jù)的第:接收數(shù)據(jù)的第9位。位。 TI:發(fā)送中斷標(biāo)志位。:發(fā)送中斷標(biāo)志位。 RI:接收中斷標(biāo)志位。:接收中斷標(biāo)志位。 三電源控制寄存器三電源控制寄存器PCONPCOND7D6D5D4D3D2D1D087HSMOD當(dāng)當(dāng)SMOD位為位為1,則串行口方式,則串行口方式1、方式、方式2、方式、方式3的波特率加的波特率加倍。倍。 2022-5-125.3.3 串行口的工作方式串行口的工作方式一方式一方式0 方式方式0為為8位數(shù)據(jù)同步移位寄存器方式。位數(shù)據(jù)同步移位寄存器方式。 RXD引腳為同步數(shù)引腳為同步數(shù)據(jù)的輸入和輸出端,據(jù)的輸入和輸出端, TXD引腳為同步移位脈沖的

33、輸出端。一個引腳為同步移位脈沖的輸出端。一個數(shù)據(jù)幀為數(shù)據(jù)幀為8位,每一個移位脈沖對應(yīng)數(shù)據(jù)幀的一個數(shù)據(jù)位。方式位,每一個移位脈沖對應(yīng)數(shù)據(jù)幀的一個數(shù)據(jù)位。方式0的波特率固定為:的波特率固定為:fosc /12。2022-5-12二方式二方式1 方式方式1為為8位數(shù)據(jù)全雙工異步通信方式,位數(shù)據(jù)全雙工異步通信方式, TXD發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)端,端,RXD為接收數(shù)據(jù)端。在方式為接收數(shù)據(jù)端。在方式1下,一幀信息為下,一幀信息為10位:位:1位起始位(位起始位(0),),8位數(shù)據(jù)位(低位在前)和位數(shù)據(jù)位(低位在前)和1位停止位位停止位(1)。串行口用方式)。串行口用方式1工作時,使用定時器工作時,使用定時器T

34、1作為波特率作為波特率發(fā)生器,由定時發(fā)生器,由定時/計數(shù)器計數(shù)器T1的溢出率和電源控制寄存器的溢出率和電源控制寄存器PCON中的中的SMOD位決定。位決定。即:波特率即:波特率=2SMOD(T1的溢出率)的溢出率)/32。2022-5-12方式方式1的時序圖的時序圖2022-5-12三方式三方式2和方式和方式3 方式方式2和方式和方式3時都為時都為9位數(shù)據(jù)全雙工異步通信方式,比方位數(shù)據(jù)全雙工異步通信方式,比方式式1增加了第增加了第9位數(shù)據(jù)位。位數(shù)據(jù)位。TXD為發(fā)送數(shù)據(jù)端,為發(fā)送數(shù)據(jù)端,RXD為接收數(shù)為接收數(shù)據(jù)端。一幀信息長度為據(jù)端。一幀信息長度為11位,即位,即1個低電平的起始位,個低電平的起

35、始位,9位數(shù)位數(shù)據(jù)位,據(jù)位,1個高電平的停止位。發(fā)送的第個高電平的停止位。發(fā)送的第9位數(shù)據(jù)放于位數(shù)據(jù)放于TB8中,中,接收的第接收的第9位數(shù)據(jù)放于位數(shù)據(jù)放于RB8中。第中。第9位數(shù)據(jù)位也稱為可編程位,位數(shù)據(jù)位也稱為可編程位,常用做奇偶校驗位或多機通訊中個地址常用做奇偶校驗位或多機通訊中個地址/數(shù)據(jù)識別位。數(shù)據(jù)識別位。 方式方式2和方式和方式3的唯一區(qū)別在于波特率設(shè)定方法不同,方的唯一區(qū)別在于波特率設(shè)定方法不同,方式式2的波特率以系統(tǒng)時鐘為基準(zhǔn),計算式為:的波特率以系統(tǒng)時鐘為基準(zhǔn),計算式為: 2SMOD fosc/64,方式,方式3的波特率與方式的波特率與方式1的波特率相同,即:的波特率相同,即

36、:波特率波特率=2SMOD(T1的溢出率)的溢出率)/32。2022-5-12方式方式2和方式和方式3的時序的時序2022-5-12第45頁5.3.4 串行口的編程及應(yīng)用串行口的編程及應(yīng)用1串行口控制寄存器串行口控制寄存器SCON位的確定。位的確定。 根據(jù)根據(jù)工作方式確定工作方式確定SM0、SM1位;對于方式位;對于方式2和方式和方式3還還要確定要確定SM2位;如果是接收端,則置允許接收位位;如果是接收端,則置允許接收位REN為為1;如;如果方式果方式2和方式和方式3發(fā)送數(shù)據(jù),則應(yīng)將發(fā)送數(shù)據(jù)的第發(fā)送數(shù)據(jù),則應(yīng)將發(fā)送數(shù)據(jù)的第9位寫入位寫入TB8中。中。2設(shè)置波特率。設(shè)置波特率。對于方式對于方式0

37、,不需要對波特率進(jìn)行設(shè)置。,不需要對波特率進(jìn)行設(shè)置。對于方式對于方式2,設(shè)置波特率僅須對,設(shè)置波特率僅須對PCON中的中的SMOD位進(jìn)行位進(jìn)行設(shè)置。設(shè)置。一串行口的初始化編程一串行口的初始化編程2022-5-12 對于對于方式方式1和方式和方式3,設(shè)置波特率不僅須對,設(shè)置波特率不僅須對PCON中的中的SMOD位進(jìn)行設(shè)置,還要對定時位進(jìn)行設(shè)置,還要對定時/計數(shù)器計數(shù)器T1進(jìn)行設(shè)置,這時定時進(jìn)行設(shè)置,這時定時/計數(shù)器計數(shù)器T1一般工作于方式一般工作于方式28位可重置方式,初值可由下面公位可重置方式,初值可由下面公式求得:式求得:由于由于: 波特率波特率=2SMOD(T1的溢出率)的溢出率)/32則

38、:則: T1的溢出率的溢出率=波特率波特率32/2SMODT1的溢出率:的溢出率: T1溢出時間的倒數(shù)。溢出時間的倒數(shù)。而而T1工作于方式工作于方式2的溢出率又可由下式表示:的溢出率又可由下式表示: T1的溢出率的溢出率=fosc/(12(256-初值)初值)所以:所以:T1的初值的初值=256 - fosc2SMOD /(12波特率波特率32)2022-5-12第第47頁頁二串行口的應(yīng)用二串行口的應(yīng)用 通常用于三種情況:利用方式通常用于三種情況:利用方式0擴展并行擴展并行I/O口;利用方口;利用方式式1實現(xiàn)點對點的雙機通信;利用方式實現(xiàn)點對點的雙機通信;利用方式2或方式或方式3實現(xiàn)多機通實現(xiàn)

39、多機通信。信。 1利用方式利用方式0擴展并行擴展并行I/O口口 MCS-51單片機的串行口在方式單片機的串行口在方式0時,當(dāng)外接一個串入并出時,當(dāng)外接一個串入并出的移位寄存器,就可以擴展并行輸出口,當(dāng)外接一個并入串出的移位寄存器,就可以擴展并行輸出口,當(dāng)外接一個并入串出的移位寄存器時,就可以擴展并行輸入口。的移位寄存器時,就可以擴展并行輸入口。2022-5-12【例例5-4】用用8051單片機的串行口外接串入并出的芯片單片機的串行口外接串入并出的芯片CD4094擴展并行輸出口控制一組發(fā)光二極管擴展并行輸出口控制一組發(fā)光二極管,使發(fā)光二極使發(fā)光二極管從左至右延時輪流顯示。管從左至右延時輪流顯示。

40、CD4094是一塊是一塊8位的串入并出的芯片,帶有一個控制端位的串入并出的芯片,帶有一個控制端STB,當(dāng),當(dāng)STB=0時,打開串行輸入控制門,在時鐘信號時,打開串行輸入控制門,在時鐘信號CLK的控制下,數(shù)據(jù)從串行輸入端的控制下,數(shù)據(jù)從串行輸入端DATA一個時鐘周期一位一個時鐘周期一位依次輸入;當(dāng)依次輸入;當(dāng)STB=1,打開并行輸出控制門,打開并行輸出控制門,CD4094中的中的8位數(shù)據(jù)并行輸出。使用時,位數(shù)據(jù)并行輸出。使用時,8051串行口工作于方式串行口工作于方式0,8051的的TXD接接CD4094的的CLK,RXD接接DATA,STB用用P1.0控制,控制,8位并行輸出端接位并行輸出端接

41、8個發(fā)光二極管。如圖所示。個發(fā)光二極管。如圖所示。 8051 RXD TXD P1.0 DATA CLK STB2022-5-12設(shè)串行口采用查詢方式,顯示設(shè)串行口采用查詢方式,顯示的延時依靠調(diào)用延時子程序來的延時依靠調(diào)用延時子程序來實現(xiàn)。程序如下:實現(xiàn)。程序如下:匯編程序:匯編程序: ORG 0000H LJMP MAIN ORG 0100HMAIN:MOV SCON,#00H MOV A,#01H CLR P1.0START:MOV SBUF,ALOOP:JNB TI,LOOP SETB P1.0 ACALL DELAY CLR TIRL ACLR P1.0SJMP STARTDELAY:

42、MOV R7,#05HLOOP2:MOV R6,#0FFHLOOP1:DJNZ R6,LOOP1DJNZ R7,LOOP2RETEND2022-5-12C語言程序:語言程序:# include /包含特殊功能寄存器庫包含特殊功能寄存器庫sbit P1_0=P10;void main()unsigned char i,j;SCON=0 x00;j=0 x01;for (; ;)P1_0=0;SBUF=j;while (!TI) ;P1_0=1;TI=0;for (i=0;i=254;i+) ;j=j*2;if (j= =0 x00) j=0 x01;2022-5-12【例例5-5】 用用8051

43、單片機的串行口外接并入串出的芯片單片機的串行口外接并入串出的芯片CD4014擴展并行輸入口,輸入一組開關(guān)的信息。擴展并行輸入口,輸入一組開關(guān)的信息。CD4014是一塊是一塊8位的并入串出的芯片,帶有一個控制端位的并入串出的芯片,帶有一個控制端P/S,當(dāng)當(dāng)P/S=1時,時,8位并行數(shù)據(jù)置入到內(nèi)部的寄存器;當(dāng)位并行數(shù)據(jù)置入到內(nèi)部的寄存器;當(dāng)P/S=0時,時,在時鐘信號在時鐘信號CLK的控制下,內(nèi)部寄存器的內(nèi)容按低位在前從的控制下,內(nèi)部寄存器的內(nèi)容按低位在前從QB串行輸出端依次輸出;使用時,串行輸出端依次輸出;使用時,8051串行口工作于方式串行口工作于方式0,8051的的TXD接接CD4094的的

44、CLK,RXD接接QB,P/S用用P1.0控制,另外,用控制,另外,用P1.1控制控制8并行數(shù)據(jù)的置入。如圖所示。并行數(shù)據(jù)的置入。如圖所示。 8051 RXD TXD P1.0QB CLK P/S P1.1K0K7 K2022-5-12 串行口串行口方式方式0數(shù)據(jù)的接收,用數(shù)據(jù)的接收,用SCON寄存器中的寄存器中的REN位來控制,采用查詢位來控制,采用查詢RI的方式來判斷數(shù)據(jù)是否輸?shù)姆绞絹砼袛鄶?shù)據(jù)是否輸入。程序如下:入。程序如下:匯編程序:匯編程序: ORG 0000H LJMP MAIN ORG 0100HMAIN:SETB P1.1START:JB P1.1,START SETB P1.0

45、 CLR P1.0 MOV SCON,#10HLOOP:JNB RI,LOOP CLR RI MOV A,SBUF2022-5-12C語言程序:語言程序:# include /包含特殊功能寄存器庫包含特殊功能寄存器庫sbit P1_0=P10;sbit P1_1=P11;void main()unsigned char i;P1_1=1;while (P1_1= =1) ;P1_0=1;P1_0=0;SCON=0 x10;while (!RI) ;RI=0;i=SBUF;2022-5-122利用方式利用方式1實現(xiàn)點對點的雙機通信實現(xiàn)點對點的雙機通信 要實現(xiàn)甲與乙兩臺單片機點對點的雙機通信,線路

46、要實現(xiàn)甲與乙兩臺單片機點對點的雙機通信,線路只須將甲機的只須將甲機的TXD與乙機的與乙機的RXD相連,將甲機的相連,將甲機的RXD與與乙機的乙機的TXD相連,地線與地線相連。相連,地線與地線相連。 【例例5-6】 用匯編語言編程通過串行實現(xiàn)將甲機的片內(nèi)用匯編語言編程通過串行實現(xiàn)將甲機的片內(nèi)RAM中中30H3FH單元的內(nèi)容傳送到乙機的片內(nèi)單元的內(nèi)容傳送到乙機的片內(nèi)RAM的的40H4FH單元中。單元中。2022-5-1280518051甲機甲機 RXD TXD GNDTXDRXDGND 乙機乙機線路連接如圖線路連接如圖 甲、乙兩機都選擇方式甲、乙兩機都選擇方式1:8位異步通信方式,最高位用作奇位異

47、步通信方式,最高位用作奇偶校驗,波特率為偶校驗,波特率為1200bps,甲機發(fā)送,乙機接收,因此甲,甲機發(fā)送,乙機接收,因此甲機的串口控制字為機的串口控制字為40H,乙機的串口控制字為,乙機的串口控制字為50H。2022-5-12由于選擇的是方式由于選擇的是方式1,波特率由定時,波特率由定時/計數(shù)器計數(shù)器T1的溢出率和的溢出率和電源控制寄存器電源控制寄存器PCON中的中的SMOD位決定。則須對定時位決定。則須對定時/計數(shù)計數(shù)器器T1初始化。初始化。設(shè)設(shè)SMOD=0,甲、乙兩機的振蕩頻率為,甲、乙兩機的振蕩頻率為12MHZ,由于波特,由于波特率為率為1200。定時。定時/計數(shù)器計數(shù)器T1選擇為方

48、式選擇為方式2,則初值為:,則初值為:初值初值=256 - fosc2SMOD /(12波特率波特率32)=256-12000000/(12120032)230=E6H根據(jù)要求定時根據(jù)要求定時/計數(shù)器計數(shù)器T1的方式控制字為的方式控制字為20H。甲機的發(fā)送程序:甲機的發(fā)送程序:TSTART:MOV TMOD,#20H MOV TL1,#0E6HMOV TH1,#0E6HMOV PCON,#00HMOV SCON,#40HMOV R0,#30HMOV R7,#10HSETB TR1LOOP:MOV A,R0MOV C,PMOV A.7,C MOV SBUF,AWAIT:JNB TI,WAIT C

49、LR TI INC R0 DJNZ R7,LOOP RET2022-5-12乙機接收程序:乙機接收程序:RSTART:MOV TMOD,#20H MOV TL1,#0E6H MOV TH1,#0E6HMOV PCON,#00HMOV R0,#40H MOV R7,#10HSETB TR1LOOP:MOV SCON,#50H WAIT:JNB RI,WAITMOV A,SBUFMOV C,PJC ERROR ANL A,#7FH MOV R0,AINC R0DJNZ R7,LOOPRET2022-5-12第58頁5.4 中斷系統(tǒng)中斷系統(tǒng)5.4.1 中斷的基本概念中斷的基本概念中斷的概念中斷的概念

50、在執(zhí)行程序的過程中在執(zhí)行程序的過程中,由由于某種外界的原因于某種外界的原因,必須盡快終必須盡快終止當(dāng)前的程序執(zhí)行止當(dāng)前的程序執(zhí)行,而去執(zhí)行相而去執(zhí)行相應(yīng)的處理程序應(yīng)的處理程序,待處理結(jié)束后待處理結(jié)束后,再再回來繼續(xù)執(zhí)行被終止的程序回來繼續(xù)執(zhí)行被終止的程序.這這個過程叫中斷個過程叫中斷.2022-5-12第59頁中斷源的概念中斷源的概念 中斷中斷源又可稱之為中斷申請源,指能夠產(chǎn)源又可稱之為中斷申請源,指能夠產(chǎn)生中斷申請的事件。生中斷申請的事件。中斷優(yōu)先級中斷優(yōu)先級 如同如同時發(fā)生多個事件時發(fā)生多個事件,按照需響應(yīng)事件的重按照需響應(yīng)事件的重要性來選擇事件處理要性來選擇事件處理,稱之為中斷優(yōu)先級。稱

51、之為中斷優(yōu)先級。2022-5-12第60頁5.4.2 MCS-51單片機的中斷系統(tǒng)單片機的中斷系統(tǒng)一中斷源一中斷源INT0 INT1 1外部中斷外部中斷 和和 外部引腳外部引腳P3.2和和P3.3輸入輸入,有兩種觸發(fā)方式:電平觸有兩種觸發(fā)方式:電平觸發(fā)及跳變(邊沿)觸發(fā)。由特殊功能寄存器發(fā)及跳變(邊沿)觸發(fā)。由特殊功能寄存器TCON來來管理管理。TCOND7D6D5D4D3D2D1D0(88H)TF1TR1TF0TR0IE1IT1IE0IT02022-5-12 IT0(IT1):外部中斷):外部中斷0(或(或1)觸發(fā)方式控制位。)觸發(fā)方式控制位。IT0(或(或IT1)被設(shè)置為)被設(shè)置為0,則選

52、擇外部中斷為電平觸發(fā)方式;,則選擇外部中斷為電平觸發(fā)方式;IT0(或(或IT1)被設(shè)置為)被設(shè)置為1,則選擇外部中斷為邊沿觸發(fā)方式。,則選擇外部中斷為邊沿觸發(fā)方式。 IE0(IE1):外部中斷):外部中斷0(或(或1)的中斷請求標(biāo)志位。)的中斷請求標(biāo)志位。 在在電平觸發(fā)方式時,電平觸發(fā)方式時,CPU在每個機器周期的在每個機器周期的S5P2采樣采樣P3.2(或(或P3.3),若),若P3.2(或(或P3.3)引腳為高電平,則)引腳為高電平,則IE0(IE1)清)清0,若,若P3.2(或(或P3.3)引腳為低電平,則)引腳為低電平,則IE0(IE1)置置1,向,向CPU請求中斷;請求中斷;CPU響

53、應(yīng)后能夠由硬件自動將響應(yīng)后能夠由硬件自動將IE0(或(或IE1)清零。在邊沿觸發(fā)方式時,若第一個機器周期采樣)清零。在邊沿觸發(fā)方式時,若第一個機器周期采樣到到P3.2(或(或P3.3)引腳為高電平,第二個機器周期采樣到)引腳為高電平,第二個機器周期采樣到P3.2(或(或P3.3)引腳為低電平時,由)引腳為低電平時,由IE0(或(或IE1)置)置1,向,向CPU請請求中斷。求中斷。2022-5-12 對于電平觸發(fā)方式,只要對于電平觸發(fā)方式,只要P3.2(或(或P3.3)引腳為低電平,)引腳為低電平,IE0(或(或IE1)就置)就置1,請求中斷,請求中斷,CPU響應(yīng)后不能夠由硬件自響應(yīng)后不能夠由硬

54、件自動將動將IE0(或(或IE1)清零。如果在中斷服務(wù)程序返回時,)清零。如果在中斷服務(wù)程序返回時,P3.2(或(或P3.3)引腳還為低電平,則又會中斷,這樣就會出一次請)引腳還為低電平,則又會中斷,這樣就會出一次請求,中斷多次的情況。為避免這種情況,只有在中斷服務(wù)程序求,中斷多次的情況。為避免這種情況,只有在中斷服務(wù)程序返回前撤消返回前撤消P3.2(或(或P3.3)的中斷請求信號,即使)的中斷請求信號,即使P3.2(或(或P3.3)為高電平。通常通過下圖所示外電路來實現(xiàn))為高電平。通常通過下圖所示外電路來實現(xiàn) 。 INTx8051 P1.0 Q D SCLK外部中斷請求信號2022-5-12

55、 外部中斷請求信號通過外部中斷請求信號通過D觸發(fā)器加到單片機觸發(fā)器加到單片機P3.2(或(或P3.3)引腳上。當(dāng)外部中斷請求信號使)引腳上。當(dāng)外部中斷請求信號使D觸發(fā)器的觸發(fā)器的CLK端端發(fā)生正跳變時,由于發(fā)生正跳變時,由于D端接地,端接地,Q端輸出端輸出0,向單片機發(fā)出,向單片機發(fā)出中斷請求。中斷請求。CPU響應(yīng)中斷后,利用一根口線響應(yīng)中斷后,利用一根口線P1.0作應(yīng)答線。作應(yīng)答線。 并在中斷服務(wù)程序中加以下兩條指令來撤除中斷請求。并在中斷服務(wù)程序中加以下兩條指令來撤除中斷請求。ANL P1.0,#0FEHORL P1.0,#01H2022-5-12第64頁2定時定時/計數(shù)器計數(shù)器T0和和T

56、1中斷中斷 當(dāng)當(dāng)定時定時/計數(shù)器計數(shù)器T0(或(或T1)溢出時,由硬件置)溢出時,由硬件置TF0(或(或TF1)為)為“1”,向,向CPU發(fā)送中斷請求,當(dāng)發(fā)送中斷請求,當(dāng)CPU響應(yīng)響應(yīng)中斷后,將由硬件自動清除中斷后,將由硬件自動清除TF0(或(或TF1)。)。3串行口中斷串行口中斷 MCS-51的串行口中斷源對應(yīng)兩個中斷標(biāo)志位:串行的串行口中斷源對應(yīng)兩個中斷標(biāo)志位:串行口發(fā)送中斷標(biāo)志位口發(fā)送中斷標(biāo)志位TI和串行口接收中斷標(biāo)志位和串行口接收中斷標(biāo)志位RI。無論哪。無論哪個標(biāo)志位置個標(biāo)志位置“1”,都請求串行口中斷,到底是發(fā)送中斷,都請求串行口中斷,到底是發(fā)送中斷TI還是接收中斷還是接收中斷RI,

57、只有在中斷服務(wù)程序中通過指令查詢來,只有在中斷服務(wù)程序中通過指令查詢來判斷。串行口中斷響應(yīng)后,不能由硬件自動清判斷。串行口中斷響應(yīng)后,不能由硬件自動清“0”,必須,必須由軟件對由軟件對TI或或RI清清“0”。2022-5-12二中斷允許控制二中斷允許控制 MCS-51單片機中沒有專門的開中斷和關(guān)中斷指令,對各單片機中沒有專門的開中斷和關(guān)中斷指令,對各個中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器個中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器IE的各位的各位來控制的。中斷允許寄存器來控制的。中斷允許寄存器IE的字節(jié)地址為的字節(jié)地址為A8H,可以進(jìn)行,可以進(jìn)行位尋址位尋址. IED7D6D5D4D3D

58、2D1D0(A8H)EAET2ESET1EX1ET0EX0EA:中斷允許總控位。:中斷允許總控位。EA=0,屏蔽所有的中斷請求;,屏蔽所有的中斷請求;EA=1,開放中斷。,開放中斷。 ET2:定時器:定時器/計數(shù)器計數(shù)器T2的溢出中斷允許位的溢出中斷允許位 ES:串行口中斷允許位。:串行口中斷允許位。 ET1:定時器:定時器/計數(shù)器計數(shù)器T1的溢出中斷允許位。的溢出中斷允許位。 EX1:外部中斷:外部中斷 INT1的中斷允許位。的中斷允許位。 ET0:定時器:定時器/計數(shù)器計數(shù)器T0的溢出中斷允許位。的溢出中斷允許位。 EX0:外部中斷:外部中斷 INT0的中斷允許位。的中斷允許位。 2022

59、-5-12三優(yōu)先權(quán)控制三優(yōu)先權(quán)控制 每個中斷源有兩級控制:高優(yōu)先級和低優(yōu)先級。通過由每個中斷源有兩級控制:高優(yōu)先級和低優(yōu)先級。通過由內(nèi)部的中斷優(yōu)先級寄存器內(nèi)部的中斷優(yōu)先級寄存器IP來來設(shè)置。中斷優(yōu)先級設(shè)置。中斷優(yōu)先級寄存器寄存器IP的的字節(jié)地址為字節(jié)地址為B8H,可以進(jìn)行位,可以進(jìn)行位尋址。尋址。IPD7D6D5D4D3D2D1D0(B8H)PT2PSPT1PX1PT0PX0PT2:定時器:定時器/計數(shù)器計數(shù)器T2的中斷優(yōu)先級控制位,只用于的中斷優(yōu)先級控制位,只用于52子系列。子系列。PS:串行口的中斷優(yōu)先級控制位。:串行口的中斷優(yōu)先級控制位。PT1:定時器:定時器/計數(shù)器計數(shù)器T1的中斷優(yōu)先

60、級控制位。的中斷優(yōu)先級控制位。 PX1:外部中斷:外部中斷INT1的中斷優(yōu)先級控制位。的中斷優(yōu)先級控制位。 PT0:定時器:定時器/計數(shù)器計數(shù)器T0的中斷優(yōu)先級控制位。的中斷優(yōu)先級控制位。PX0:外部中斷:外部中斷INT0的中斷優(yōu)先級控制位。的中斷優(yōu)先級控制位。 如果某位被置如果某位被置“1”,則對應(yīng)的中斷源被設(shè)為高優(yōu)先級;,則對應(yīng)的中斷源被設(shè)為高優(yōu)先級;如果某位被清如果某位被清“0”,則對應(yīng)的中斷源被設(shè)為低優(yōu)先級。對,則對應(yīng)的中斷源被設(shè)為低優(yōu)先級。對于同級中斷源,系統(tǒng)有默認(rèn)的優(yōu)先權(quán)順序,于同級中斷源,系統(tǒng)有默認(rèn)的優(yōu)先權(quán)順序, 2022-5-12中斷源中斷源優(yōu)先級順序優(yōu)先級順序最高最高最低最低

溫馨提示

  • 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

提交評論