51單片機(jī)外部中斷軟件編程

51單片機(jī)外部中斷軟件編程

ID:11735961

大?。?5.00 KB

頁數(shù):3頁

時(shí)間:2018-07-13

51單片機(jī)外部中斷軟件編程_第1頁
51單片機(jī)外部中斷軟件編程_第2頁
51單片機(jī)外部中斷軟件編程_第3頁
資源描述:

《51單片機(jī)外部中斷軟件編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、MCS-51單片機(jī)有多個(gè)中斷源,以8051為例,有5個(gè)中斷源,兩個(gè)外中斷、兩個(gè)定時(shí)中斷和一個(gè)串行中斷,這一節(jié)我們討論外中斷軟件編程。????外中斷是由外部原因引起的中斷,有兩個(gè)中斷源。即外中斷0(INT0)和外中斷1(INT1),中斷請(qǐng)求信號(hào)由引腳P3.2(INT0)和P3.3(INT1)輸入。????外中斷請(qǐng)求信號(hào)有兩種方式,一是電平方式,二是脈沖方式??赏ㄟ^有關(guān)控制位的定義進(jìn)行規(guī)定。????電平方式為低電平有效,只需在單片機(jī)的(INT0)和(INT1)中斷請(qǐng)求輸入端采樣到有效的低電平時(shí),就會(huì)激活外部中斷。????脈沖方式則在脈沖的后負(fù)跳沿有效,即在相鄰兩個(gè)機(jī)器周期對(duì)中斷請(qǐng)求引入端進(jìn)行采

2、樣中,如前一次為高,后一次為低即為有效中斷請(qǐng)求。這就要求在這種中斷方式,中斷請(qǐng)求信號(hào)的脈沖寬度必須大于一個(gè)機(jī)器周期,以保證電平變化能被單片機(jī)采樣到。??????定時(shí)器控制寄存器(TCON)????外中斷請(qǐng)求方式的控制位在定時(shí)控制寄存器TCON(地址為88H)中的位88(IT0)和位8A(IT1)兩個(gè)位,當(dāng)IT0(IT1)=0為電平方式,IT0(IT1)=1為脈沖方式。同時(shí)在此寄存器中的位89(IE0)和位8B(IE1)為外中斷請(qǐng)求標(biāo)志位,當(dāng)CPU采樣到INT0(INT1)端出現(xiàn)有效中斷請(qǐng)求時(shí),此位由硬件置1。在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清0。定時(shí)器控制寄存器(TCON)位地

3、址8F8E8D8C8B8A8988位符號(hào)TF1TR1TF0TR0IE1IT1IE0IT0??????中斷允許控制寄存器(IE)中斷允許控制寄存器(IE)位地址AFAEADACABAAA9A8位符號(hào)EA??/??/?ES?ET1EX1ET0EX0????下面我們對(duì)有關(guān)控制位作說明:????·EA——中斷允許總控制位,EA=0,中斷總禁止,禁止所有中斷。EA=1,中斷總允許,總允許位打開后,各中斷的允許或禁止由各中斷允許控制位設(shè)置決定。????·EX0(EX1)——外部中斷允許控制位,EX0(EX1)=0,禁止外部中斷。EX0(EX1)=1,允許外部中斷。????·ET0(ET1)——定時(shí)/計(jì)

4、數(shù)中斷允許控制位,ET0(ET1)=0,禁止定時(shí)/計(jì)數(shù)中斷。ET0(ET1)=1,允許定時(shí)/計(jì)數(shù)中斷。????·ES——串行中斷允許控制位,ES=0,禁止串行中斷。ES=1,允許串行中斷。????中斷的允許和禁止就是中斷的開放和關(guān)閉,中斷允許就是開放中斷,中斷的禁止就是關(guān)閉中斷。從以上說明我們可看出,MCS-51的中斷允許是通過兩級(jí)控制的,以EA位作為總中斷控制位,以各中斷控制位為分控制位。當(dāng)總中斷位為禁止?fàn)顟B(tài)時(shí),不管分控制位是允許或禁止整個(gè)中斷都是禁止的。只有當(dāng)EA=1(允許)時(shí),才能由各分控制位設(shè)置各自的中斷允許與禁止。MCS-51單片機(jī)復(fù)位后,IE=00H,因此中斷處于禁止?fàn)顟B(tài)。??

5、??值得一提的是:?jiǎn)纹瑱C(jī)中斷響應(yīng)后不會(huì)自動(dòng)關(guān)閉中斷,因此在轉(zhuǎn)入中斷服務(wù)程序后,應(yīng)由軟件指令禁止中斷。??????中斷優(yōu)先級(jí)控制寄存器(IP)??MCS-51的中斷優(yōu)先級(jí)控制比較簡(jiǎn)單,只設(shè)置了高、低兩個(gè)級(jí)別的有限級(jí),各中斷源的優(yōu)先級(jí)別由優(yōu)先寄存器(IP)進(jìn)行控制。中斷優(yōu)先級(jí)控制寄存器(IP)位地址BFBEBDBCBBBAB9B8位符號(hào)?/??/??/?PS?PT1PX1PT0PX0????·PX0——外中斷0(INT0)優(yōu)先級(jí)控制位。????·PT0——定時(shí)中斷0(T0)優(yōu)先級(jí)控制位。????·PX1——外中斷1(INT1)優(yōu)先級(jí)控制位。????·PT1——定時(shí)中斷1(T1)優(yōu)先級(jí)控制位。?

6、???·PS——串行中斷(ES)優(yōu)先級(jí)控制位。????控制位=0,優(yōu)先級(jí)為低??刂莆?1,優(yōu)先級(jí)為高。????中斷優(yōu)先級(jí)是為了中斷嵌套服務(wù)的,控制原則為:????(1)?低優(yōu)先級(jí)中斷不能打斷高優(yōu)先級(jí)的中斷服務(wù),而高優(yōu)先級(jí)的中斷服務(wù)可以打斷低優(yōu)先級(jí)的中斷服務(wù)。????(2)?同級(jí)的中斷已經(jīng)響應(yīng),其他中斷將被禁止。????(3)?如果同級(jí)的多個(gè)中斷源同時(shí)出現(xiàn),CPU將按查詢次序確定哪個(gè)中斷被響應(yīng),次序?yàn)椋和庵袛?→定時(shí)中斷0→外中斷1→定時(shí)中斷1→串行中斷。??????中斷控制寄存器的狀態(tài)設(shè)置????在應(yīng)用中,我們可以通過相應(yīng)的控制寄存器來使用中斷系統(tǒng),因此從使用的角度上看,這些控制寄存器是面

7、向用戶的。這些控制寄存器既可以進(jìn)行字節(jié)尋址,也可以進(jìn)行位尋址,也就是對(duì)位狀態(tài)的尋址既可以使用字節(jié)操作指令也可以使用位操作指令,例如:????????MOV????IE,#81H????如使用位操作指令,也可寫為:????????SETB????EA????????SETB????EX0????對(duì)于一般的外中斷程序,我們可以這樣安排:????????ORG????0000H????;主程序入口START:??AJMP???

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。