單片機(jī)的中斷系統(tǒng)-課件_第1頁(yè)
單片機(jī)的中斷系統(tǒng)-課件_第2頁(yè)
單片機(jī)的中斷系統(tǒng)-課件_第3頁(yè)
單片機(jī)的中斷系統(tǒng)-課件_第4頁(yè)
單片機(jī)的中斷系統(tǒng)-課件_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)的中斷系統(tǒng)中斷的基本概念8051中斷源和中斷響應(yīng)8051中斷申請(qǐng)與控制寄存器8051中斷編程

在程序的執(zhí)行過(guò)程中,由于某種外界的原因,必須終止當(dāng)前執(zhí)行的程序,而去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束后,再回來(lái)繼續(xù)執(zhí)行被終止的程序。這個(gè)過(guò)程叫中斷。

中斷的目的是實(shí)現(xiàn)實(shí)時(shí)處理。1中斷的基本概念執(zhí)行主程序主程序斷點(diǎn)中斷請(qǐng)求中斷響應(yīng)中斷返回中斷示意圖執(zhí)行中斷處理程序繼續(xù)執(zhí)行主程序中斷系統(tǒng)的任務(wù):1、開(kāi)中斷或關(guān)中斷2、中斷的排隊(duì)3、中斷的響應(yīng)4、中斷的撤除51系統(tǒng)有5個(gè)中斷源,具有二個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷服務(wù)程序的嵌套。每個(gè)中斷源均可軟件編程為高優(yōu)先級(jí)或低優(yōu)先級(jí)中斷,允許或禁止向CPU請(qǐng)求中斷。有關(guān)的特殊功能寄存器(SFR)有:中斷允許寄存器IE中斷優(yōu)先級(jí)控制寄存器IP中斷源寄存器(TCON、SCON中的有關(guān)位)注:均可位尋址。51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)8051單片機(jī)共有五個(gè)中斷源,分別是外部中斷、定時(shí)中斷和串行中斷。2個(gè)外部中斷是:外部中斷0--INT0,由P3.2提供,外部中斷1—INT1,由P3.3提供,外部中斷有兩種觸發(fā)方式,即低電平方式和負(fù)邊沿方式。定時(shí)器和串行口中斷分別是:T0溢出中斷;由片內(nèi)定時(shí)/計(jì)數(shù)器0提供P3.4T1溢出中斷;由片內(nèi)定時(shí)/計(jì)數(shù)器1提供P3.5串行口中斷RI/TI;由片內(nèi)串行口提供

51單片機(jī)的中斷源具體如下:中斷源入口地址

INT00003H

T0000BHINT10013HT1001BHRI/TI0023H

中斷入口是中斷產(chǎn)生后,CPU程序執(zhí)行發(fā)生跳轉(zhuǎn)的目標(biāo)地址,也是中斷服務(wù)子程序存放的起始地址。對(duì)于51單片機(jī),中斷入口地址是固定的,因此編寫(xiě)程序時(shí)要從這些入口地址處開(kāi)始存放中斷服務(wù)程序。

中斷入口IE0TF0IE1TF1TIRI中斷請(qǐng)求標(biāo)志EX0ET0EX1ET1ES≥1PX0PT0PX1PT1PS高級(jí)低級(jí)內(nèi)部查詢內(nèi)部查詢?nèi)肟诘刂啡肟诘刂稩NT0INT1T0T1TIRI中斷允許控制中斷優(yōu)先級(jí)EA中斷源中斷結(jié)構(gòu)圖四個(gè)和中斷有關(guān)的特殊功能寄存器分別為:TCON----定時(shí)器控制寄存器IE------中斷允許控制寄存器IP------中斷優(yōu)先級(jí)控制寄存器SCON----串行口控制寄存器1.定時(shí)器控制寄存器TCOND7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中斷控制寄存器0低電平1下降沿觸發(fā)方式選擇中斷請(qǐng)求標(biāo)志D7D6D5D4D3D2D1D0TIRI串行中斷請(qǐng)求標(biāo)志3.中斷允許控制寄存器IED7D6D5D4D3D2D1D0EAESET1EX1ET0EX00禁止1允許實(shí)現(xiàn)兩級(jí)控制注意:復(fù)位時(shí),禁止所有中斷注意:響應(yīng)中斷后,CPU并不清零中斷標(biāo)志位,必須軟件清零。串行口控制寄存器SCON2.串行口控制寄存器SCON4.中斷優(yōu)先級(jí)控制寄存器(IP)D7D6D5D4D3D2D1D0PSPT1PX1PT0PX00低級(jí)別1高級(jí)別每一中斷源可編程為高優(yōu)先級(jí)或低優(yōu)先級(jí)中斷,以實(shí)現(xiàn)二級(jí)嵌套。默認(rèn)的優(yōu)先次序?yàn)椋篒NT0、C/T0、INT1、C/T1、串行口中斷(依次從高到低)響應(yīng)條件----CPU要響應(yīng)中斷需滿足下列條件:①無(wú)同級(jí)或高級(jí)中斷正在服務(wù);②當(dāng)前指令周期結(jié)束;③若現(xiàn)行指令是RETI、RET或訪問(wèn)IE、IP指令,則需要執(zhí)行到當(dāng)前指令及下一條指令方可響應(yīng)。中斷響應(yīng)響應(yīng)過(guò)程--單片機(jī)響應(yīng)中斷后,自動(dòng)執(zhí)行下列操作:①

斷點(diǎn)入棧;轉(zhuǎn)入中斷服務(wù)程序入口,進(jìn)入中斷服務(wù)程序,相當(dāng)于LCALL指令。中斷請(qǐng)求標(biāo)志硬件清0(串口標(biāo)志除外)。中斷程序組成中斷初始化:開(kāi)中斷(IE);確定中斷源的優(yōu)先級(jí)別(IP);外部中斷,指定是邊沿出發(fā)還是低電平觸發(fā)(TCON)。中斷服務(wù)程序(必須定位在固定地址處)

現(xiàn)場(chǎng)保護(hù)(可選):保護(hù)中斷過(guò)程中使用的臨時(shí)變量壓棧中斷處理(必須)恢復(fù)現(xiàn)場(chǎng)(可選)出棧被保護(hù)的變量后進(jìn)先出中斷返回(必須)RETI采用外部中斷0觸發(fā)P1.0輸出狀態(tài)反轉(zhuǎn)要求:P1.0接LED燈,INT0接單脈沖發(fā)生器。每按一次單脈沖按鈕,LED改變一次狀態(tài)。中斷程序舉例1中斷程序舉例2%%%%Drawnby%%%%%#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitK1=P1^0;//定義按鍵sbitK2=P1^2;sbitK3=P1^4;sbitL1=P1^1;//定義LEDsbitL2=P1^3;sbitL3=P1^5;/*********主函數(shù)*************/voidmain()//{

P1&=0x55; IE=0x85;TCON=0x05;

while(1);

}C語(yǔ)言源程序清單

/******INT0中斷服務(wù)函數(shù)*****/voidint0()interrupt0{ if(K1==1)L1=1; if(K2==1)L2=1; if(K3==1)L3=1;}/*********INT1中斷服務(wù)函數(shù)********/voidint1()interrupt2{ P1&=0x55;}定義部分初始化部分主循環(huán)部分在8051單片機(jī)外部中斷/INT0/INT1上分別通過(guò)兩個(gè)按鍵接地,P0,P1,P2口分別接3個(gè)共陽(yáng)極LED數(shù)碼管。將INT1設(shè)置為高優(yōu)先級(jí),INT0設(shè)置為低優(yōu)先級(jí),邊沿觸發(fā)。主程序通過(guò)P0口循環(huán)顯示“1~8”,此時(shí)無(wú)論按下低優(yōu)先級(jí)還是高優(yōu)先級(jí)都會(huì)響應(yīng),高低兩個(gè)優(yōu)先級(jí)中斷服務(wù)分別通過(guò)P1和P2口顯示“1~8”。中斷程序舉例3#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharseg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80};

//LED段碼表sbitK1=P3^2;//定義按鍵sbitK2=P3^3;/********延時(shí)函數(shù)******/voiddelay(){uintj;for(j=0;j<31000;j++);}/*******INT0中斷服務(wù)函數(shù)*******/voidint0()interrupt0using1{uchari; for(i=1;i<9;i++) { P2=seg[i];delay(); //循環(huán)顯示"1"~"8" } P2=0xFF;}C語(yǔ)言清單/*****************************INT1中斷服務(wù)函數(shù)************/voidint1()interrupt2using2{ uchari; for(i=1;i<9;i++) { P1=seg[i];delay(); //循環(huán)顯示"1"~"8" } P1=0xFF;}/************************主函數(shù)************************/voidmain(){ uchari; IE=0x85;TCON=0x05;PX1=1;//開(kāi)中斷,設(shè)置INT1為高優(yōu)先級(jí)

while(1){ for(i=1;i<9;i++) { P0=seg[i];delay();//循環(huán)顯示"1"~"8" } } }1、80C51單片機(jī)有幾個(gè)中斷源?每個(gè)中斷源的中斷入口地址是多少?每個(gè)中斷源有哪些控制位和狀態(tài)位?2、分析查詢和中斷方式工作原理的不同,并用查詢方式和中斷方式實(shí)現(xiàn)8個(gè)開(kāi)關(guān)控制8個(gè)發(fā)光二極管。畫(huà)出各自硬件電路圖,給出程序。(可采用C語(yǔ)言編程)1、80C51單片機(jī)有幾個(gè)中斷源?每個(gè)中斷源的中斷入口地址是多少?每個(gè)中斷源有哪些控制位和狀態(tài)位?中斷源中斷入口地址控制位狀態(tài)位外部中斷00003HIT0、EX0、PX0、EAIE0定時(shí)器中斷T0000BHET0、PT0、EATF0外部中斷10013HIT1、EX1、PX1、EAIE1定時(shí)器中斷T1001BHET1、PT1、EATF1串口中斷0023HPS、ES、EATI、RI中斷程序舉例42、用查詢方式和中斷方式實(shí)現(xiàn)8個(gè)開(kāi)關(guān)控制8個(gè)發(fā)光二極管。畫(huà)出各自硬件電路圖,給出程序。查詢方式:中斷方式硬件電路圖例程5、模擬交通信號(hào)燈實(shí)驗(yàn)

任務(wù):

溫馨提示

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

評(píng)論

0/150

提交評(píng)論