資源描述:
《中斷概念和外部中斷》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、看電視中斷處理中斷請(qǐng)求實(shí)際生活中斷返回電話鈴響接聽(tīng)電話看電視主程序計(jì)算機(jī)事件發(fā)生事件處理主程序5.1.1中斷的概念5.180C51單片機(jī)的中斷系統(tǒng)中斷是指計(jì)算機(jī)在執(zhí)行某一程序的過(guò)程中,由于計(jì)算機(jī)系統(tǒng)內(nèi)、外的某種原因,而必須中止原程序的執(zhí)行,轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束之后,再回來(lái)繼續(xù)執(zhí)行被中止的原程序的過(guò)程。采用了中斷技術(shù)后的計(jì)算機(jī),可以解決CPU與外設(shè)之間速度匹配的問(wèn)題,使計(jì)算機(jī)可以及時(shí)處理系統(tǒng)中許多隨機(jī)的參數(shù)和信息,同時(shí),它也提高了計(jì)算機(jī)處理故障與應(yīng)變的能力。中斷解決了快速主機(jī)與慢速I/O設(shè)備的數(shù)據(jù)傳送,還具有如下優(yōu)點(diǎn):分時(shí)
2、操作。CPU可以分時(shí)為多個(gè)I/O設(shè)備服務(wù),提高了計(jì)算機(jī)的利用率;實(shí)時(shí)響應(yīng)。CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng);可靠性高。CPU具有處理設(shè)備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。圖5.1MCS-51中斷系統(tǒng)結(jié)構(gòu)框圖中斷源是指在計(jì)算機(jī)系統(tǒng)中向CPU發(fā)出中斷請(qǐng)求的來(lái)源,中斷可以人為設(shè)定,也可以是為響應(yīng)突發(fā)性隨機(jī)事件而設(shè)置。5.1.2中斷源表5.18051中斷源1.中斷控制寄存器TCONTF1TR1TF0TR0IE1IT1IE0IT0(MSB)(LSB)圖5.2TCON格式與中斷標(biāo)志相關(guān)的寄存器位地址:8FH
3、8EH8DH8CH8BH8AH89H88HTF1:定時(shí)器T1溢出中斷標(biāo)志位,硬件復(fù)位為0,T1溢出中斷為1。TF0:定時(shí)器T0溢出中斷標(biāo)志位,硬件復(fù)位為0,T0溢出中斷為1。TR1、TR0:定時(shí)器運(yùn)行控制位,置0可以停止T0、T1計(jì)數(shù),置1可以啟動(dòng)T0、T1計(jì)數(shù)。IE1、IE0:外部中斷請(qǐng)求標(biāo)志位;外部中斷請(qǐng)求有效時(shí)自動(dòng)置位,CPU響應(yīng)中斷請(qǐng)求后,由硬件自動(dòng)復(fù)位,以等待下次中斷。硬件復(fù)位為0,來(lái)中斷則相應(yīng)置1。IT1、IT0:外部中斷觸發(fā)方式控制位,置0可以設(shè)為電平觸發(fā),置1可以設(shè)為負(fù)邊沿觸發(fā)。2.串行口控制寄存器SCON圖5.3SC
4、ON格式SM0SM1SM2RENTB0RB0TIRI(MSB)LSB位地址:9FH9EH9DH9CH9BH9AH99H98HTI:發(fā)送中斷標(biāo)志位RI:接收中斷標(biāo)志位CPU能自動(dòng)置位,執(zhí)行中斷服務(wù)程序后由指令來(lái)清除標(biāo)志位,以便響應(yīng)下次中斷請(qǐng)求。MCS-51單片機(jī)有5個(gè)(8052有6個(gè))中斷源,為了使每個(gè)中斷源都能獨(dú)立地被允許或禁止,以便用戶能靈活使用,它在每個(gè)中斷信號(hào)的通道中設(shè)置了一個(gè)中斷屏蔽觸發(fā)器。只有該觸發(fā)器無(wú)效,它所對(duì)應(yīng)的中斷請(qǐng)求信號(hào)才能進(jìn)入CPU,即此類型中斷開(kāi)放。否則,即使其對(duì)應(yīng)的中斷標(biāo)志位置1,CPU也不會(huì)響應(yīng)中斷,即此類型中
5、斷被屏蔽了。同時(shí)CPU內(nèi)還設(shè)置了一個(gè)中斷允許觸發(fā)器,它控制CPU能否響應(yīng)中斷。5.1.2中斷控制1.中斷允許控制(IE)圖5.4IE格式EAXET2ESET1EX1ET0EX0(MSB)(LSB)位操作(EA=1;ET1=1;)或字節(jié)操作(IE=0x88;)EA:中斷總控開(kāi)關(guān)。EA=1,CPU開(kāi)總中斷;EA=0,CPU關(guān)總中斷。ET2:定時(shí)器2中斷允許位。ET2=1,允許T2中斷;ET2=0,禁止T2中斷;ES:串行口中斷允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷;ET1:定時(shí)器1中斷允許位。ET1=1,允許T1中斷;E
6、T1=0,禁止T1中斷;EX1:外部中斷1INT1允許位。EX1=1,允許INT1中斷;EX1=0,禁止INT1中斷;ET0:定時(shí)器0中斷允許位。ET0=1,允許T0中斷;ET1=0,禁止T0中斷;EX0:外部中斷1INT0允許位。EX0=1,允許INT0中斷;EX0=0,禁止INT0中斷;2.中斷優(yōu)先級(jí)的控制(IP)XXPT2PSPT1PX1PT0PX0(MSB)(LSB)圖5.5IP的格式分兩級(jí)中斷,每個(gè)中斷源均可設(shè)置為高或低兩種中斷級(jí)別,高優(yōu)先級(jí)中斷先得到執(zhí)行,而且可以在低優(yōu)級(jí)中斷服務(wù)程序中響應(yīng)高優(yōu)先級(jí)的中斷,形成兩級(jí)中斷嵌套。高
7、優(yōu)先級(jí)置1,低優(yōu)先級(jí)置0。表5.2同級(jí)內(nèi)第二優(yōu)先級(jí)次序中斷優(yōu)先級(jí)越高,則響應(yīng)優(yōu)先權(quán)就越高。當(dāng)CPU正在執(zhí)行中斷服務(wù)程序時(shí),又有中斷優(yōu)先級(jí)更高的中斷申請(qǐng)產(chǎn)生,這時(shí)CPU就會(huì)暫停當(dāng)前的中斷服務(wù)轉(zhuǎn)而處理高級(jí)中斷申請(qǐng),待高級(jí)中斷處理程序完畢再返回原中斷程序斷點(diǎn)處繼續(xù)執(zhí)行,這一過(guò)程稱為中斷嵌套。1.中斷響應(yīng)的條件5.280C51單片機(jī)中斷處理過(guò)程5.2.1中斷響應(yīng)條件和時(shí)間(1)有中斷請(qǐng)求;(2)對(duì)應(yīng)中斷允許位為1;(3)開(kāi)中斷(即EA=1)。同時(shí)滿足時(shí),才可能響應(yīng)中斷。中斷響應(yīng)受阻的情況:(1)同級(jí)或高優(yōu)先級(jí)的中斷已在進(jìn)行中;(2)當(dāng)前的機(jī)器
8、周期還不是正在執(zhí)行指令的最后一個(gè)機(jī)器周期(換言之,正在執(zhí)行的指令完成前,任何中斷請(qǐng)求都得不到響應(yīng));(3)正在執(zhí)行的是一條RETI或者訪問(wèn)特殊功能寄存器IE或IP的指令(換言之,在RETI或讀寫(xiě)IE或IP