資源描述:
《單片機的中斷系統(tǒng)與定時計數(shù)器.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、單片機原理及其應(yīng)用孫硯飛單片機的中斷與定時系統(tǒng)?中斷的基本概念?中斷系統(tǒng)的設(shè)置?中斷的應(yīng)用1.中斷源MCS-51單片機共有5個中斷源。?外部中斷源(2個)外部中斷0、1通過引腳INT0(P3.2)、INT1(P3.3)接受外部中斷請求信號,可選擇電平觸發(fā)或邊沿觸發(fā)(跳變觸發(fā))方式。?內(nèi)部中斷源(3個)定時器/計數(shù)器T0、T1溢出中斷;串行口發(fā)送/接收中斷(共用一個中斷源)。MCS-51中斷系統(tǒng)?中斷入口地址?中斷入口地址(中斷矢量)是指中斷服務(wù)程序的入口地址。?5個中斷源的中斷入口地址外部中斷0定時器T0外部中斷1定時器T1串行口0003H00
2、0BH0013H001BH0023H?中斷請求標(biāo)志?定時器控制寄存器TCON中的中斷請求標(biāo)志IT0、IT1:外部中斷0、1電平觸發(fā)方式選擇位?!?”低電平有效;“1”下降沿有效。IE0、IE1:外部中斷0、1中斷請求標(biāo)志。置位時有中斷請求,中斷響應(yīng)后自動清零。TF0、TF1:定時器/計數(shù)器T0、T1計數(shù)溢出中斷請求標(biāo)志。置位時有中斷請求,中斷響應(yīng)后自動清零。?TCON可位尋址。復(fù)位后,TCON=00H。D7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0?串行口控制寄存器SCON中的中斷請求標(biāo)志TI/RI:串行口發(fā)送/接收中斷請
3、求標(biāo)志。串行發(fā)送/接收完一幀后自動置位,請求中斷。需要再次發(fā)送/接收時,應(yīng)通過指令清零。?SCON可位尋址。復(fù)位后,SCON=00H。D7D6D5D4D3D2D1D0TIRI2.中斷允許控制?中斷允許控制寄存器IEEA:CPU中斷允許控制位。EA=1,開CPU中斷。EX0、EX1=1時,允許外部中斷0、1中斷。ET0、ET1=1時,允許T0、T1計數(shù)溢出中斷。ES=1時,允許串行口發(fā)送/接收中斷。?IE可位尋址。復(fù)位后,IE=00H,禁止所有中斷源中斷。D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0總允許源允許3.中斷優(yōu)先級管
4、理?MCS-51中斷系統(tǒng)的中斷優(yōu)先級?中斷優(yōu)先級(權(quán))就是指當(dāng)有多個中斷源同時申請中斷時,CPU所采取的響應(yīng)順序的原則。MCS-51單片機中斷系統(tǒng)允許軟件設(shè)置每個中斷源為高優(yōu)先級中斷或低優(yōu)先級中斷,并可實現(xiàn)兩級中斷嵌套。?中斷嵌套原則?高優(yōu)先級中斷可以中斷低優(yōu)先級中斷,反之不能;?同級或低優(yōu)先級的中斷源不能中斷正在執(zhí)行的中斷服務(wù)程序。?中斷優(yōu)先級寄存器IP?IP可位尋址。復(fù)位后,IP=00H(所有中斷源均為低優(yōu)先級)。D7D6D5D4D3D2D1D0PSPT1PX1PT0PX0?自然優(yōu)先級若同一優(yōu)先級中斷源有多個同時申請中斷,則CPU按自然優(yōu)先
5、級原則確定響應(yīng)順序。外部中斷0高定時器T0外部中斷1定時器T1串行口低自然優(yōu)先級4.中斷系統(tǒng)的控制?中斷系統(tǒng)的設(shè)置對4個與中斷有關(guān)的特殊功能寄存器:TCON、SCON、IE和IP中的相關(guān)位進行管理和設(shè)置。這4個SFR均可位尋址。復(fù)位后:TCON=00H;IT0、IT1=0,電平觸發(fā)!SCON=00HIE=00H;禁止所有中斷源中斷!IP=00H;所有中斷源均為低優(yōu)先級!?中斷系統(tǒng)的控制中斷請求信號將中斷請求有效信號轉(zhuǎn)為標(biāo)志存儲中斷允許控制中斷優(yōu)先級設(shè)置中斷優(yōu)先級激活觸發(fā)器中斷處理過程?中斷處理過程大致包含中斷請求、中斷響應(yīng)、中斷服務(wù)、中斷返回四
6、個階段。?中斷響應(yīng)條件?允許中斷;?CPU此時沒有響應(yīng)同級或更高級的中斷;?當(dāng)前正處于所執(zhí)行指令的最后一個機器周期;?正在執(zhí)行的指令不是RETI或訪問IE、IP的指令。?中斷處理過程流程硬件自動完成中斷服務(wù)程序?中斷請求標(biāo)志的撤除中斷響應(yīng)后(1)外部中斷、定時器中斷請求標(biāo)志由硬件自動撤除;(2)串行口中斷請求標(biāo)志(TI、RI)必須由軟件清0。中斷系統(tǒng)的應(yīng)用1.中斷系統(tǒng)應(yīng)用要解決的問題?電路連接外部中斷請求信號電平及持續(xù)時間應(yīng)符合要求。?應(yīng)用程序設(shè)計?主程序部分(中斷系統(tǒng)初始化)?設(shè)置堆棧指針SP;?若為外部中斷,定義觸發(fā)方式;?根據(jù)需要給IP賦
7、值,定義中斷優(yōu)先級;?開放中斷。?中斷服務(wù)程序部分?在相應(yīng)的中斷入口地址設(shè)置一條跳轉(zhuǎn)指令,轉(zhuǎn)移到中斷服務(wù)程序的實際入口處;?根據(jù)需要保護現(xiàn)場;?若為電平觸發(fā)的外部中斷,應(yīng)有中斷請求信號撤除操作;若是串行口中斷,對TI、RI清0;?安排中斷服務(wù)所做的操作(中斷服務(wù)程序的主體);?恢復(fù)現(xiàn)場;?中斷返回(RETI)。2.中斷系統(tǒng)應(yīng)用舉例[例1]:利用中斷設(shè)計一個應(yīng)用系統(tǒng),實時顯示P3.2引腳上出現(xiàn)的負跳變脈沖的個數(shù)。從低位到高位依次存入3AH、3BH、3CH。分析:解此題利用中斷系統(tǒng),主程序?qū)χ袛嘞到y(tǒng)進行初始化以及實時顯示脈沖個數(shù);利用P3.2引腳上
8、出現(xiàn)的負跳變信號作為中斷請求信號,每中斷一次,將3AH~3BH單元內(nèi)容按BCD碼加1。ORG0000H;主程序入口LJMPMAIN;轉(zhuǎn)實際主程序ORG