AT89S52單片機(jī)中斷系統(tǒng)
AT89S52單片機(jī)的中斷系統(tǒng)共有8個(gè)中斷源,6個(gè)中斷矢量,兩級(jí)中斷優(yōu)先級(jí),可實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套,通過(guò)軟件來(lái)屏蔽或允許相應(yīng)的中斷請(qǐng)求。每一個(gè)中斷源可以編程為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,允許或禁止向CPU申請(qǐng)中斷。中斷系統(tǒng)的特殊功寄存器有中斷允許寄存器IE、中斷優(yōu)先級(jí)寄存器IP等。
圖1為AT89S52單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)示意圖。AT89S52有兩個(gè)外部中斷源INT0、INT1;串口通信有接收和發(fā)送兩個(gè)中斷源,經(jīng)過(guò)一個(gè)或門,公用同一個(gè)中斷矢量;定時(shí)器/計(jì)數(shù)器0、定時(shí)器/計(jì)數(shù)器1的溢出中斷源對(duì)應(yīng)兩個(gè)中斷矢量;定時(shí)/計(jì)數(shù)器2有計(jì)數(shù)溢出和捕獲兩種中斷源,經(jīng)或門共用一個(gè)中斷矢量。
圖1 中斷系統(tǒng)結(jié)構(gòu)示意圖 (1) 來(lái)自P3.2引腳上的外部中斷請(qǐng)求(外部中斷0),低電平或下降沿(從高到低)有效,通過(guò)設(shè)置IT0的值可將外部中斷0設(shè)置為低電平觸發(fā)或下降沿觸發(fā),IT0=0時(shí),為電平觸發(fā)方式,當(dāng)引腳上出現(xiàn)低電平時(shí)就向CPU申請(qǐng)中斷;IT0=1時(shí),為跳變觸發(fā)方式,當(dāng)引腳上出現(xiàn)負(fù)跳變時(shí),置位TCON.1的IE0中斷請(qǐng)求標(biāo)志位,向CPU申請(qǐng)中斷。CPU在每個(gè)機(jī)器周期的S5P2狀態(tài)采樣IE0標(biāo)志位,當(dāng)條件滿足,則響應(yīng)中斷請(qǐng)求。
(2) 來(lái)自P3.3引腳上的外部中斷請(qǐng)求(外部中斷1),低電平或下降沿有效。其功能與操作同。
(3) T0 片內(nèi)定時(shí)器/計(jì)數(shù)器0溢出(TF0)中斷請(qǐng)求。定時(shí)/計(jì)數(shù)器0無(wú)論內(nèi)部定時(shí)或?qū)ν獠渴录⺄0計(jì)數(shù),當(dāng)計(jì)數(shù)器(TH0、TL0)計(jì)數(shù)溢出,置位TCON.5的TF0中斷請(qǐng)求標(biāo)志位。CPU在每個(gè)機(jī)器周期的S5P2狀態(tài)時(shí)采樣TF0標(biāo)志位,當(dāng)條件滿足時(shí)CPU響應(yīng)中斷請(qǐng)求,轉(zhuǎn)向?qū)?yīng)的中斷矢量,執(zhí)行該中斷服務(wù)程序,并由硬件自動(dòng)將TF0標(biāo)志位清0。
(4) T1片內(nèi)定時(shí)器/計(jì)數(shù)器1溢出(TF1)中斷請(qǐng)求。其功能和操作類似定時(shí)/計(jì)數(shù)器0。其中斷請(qǐng)求標(biāo)志位為TCON.7的TF1。
(5) T2片內(nèi)定時(shí)器/計(jì)數(shù)器2溢出中斷請(qǐng)求。定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。定時(shí)器2有兩種不同的工作方式。
定時(shí)/計(jì)數(shù)器方式。當(dāng)定時(shí)/計(jì)數(shù)器方式的計(jì)數(shù)器(TH2、TL2)計(jì)數(shù)滿后溢出,置位中斷請(qǐng)求標(biāo)志位(T2CON.7)TF2,向CPU請(qǐng)求中斷處理。
“捕獲”方式。當(dāng)外部輸入端口T2EX發(fā)生從1→0下降沿時(shí),亦將置位T2CON.6的中斷請(qǐng)求標(biāo)志位EXF2,向CPU請(qǐng)求中斷處理。
(6) 串行口中斷。片內(nèi)串行口完成一幀發(fā)送或接收,置位中斷請(qǐng)求源TI或RI。當(dāng)完成一串行幀的接收/發(fā)送時(shí)分別置位串行通信控制寄存器SCON中的RI/TI中斷請(qǐng)求標(biāo)志位,當(dāng)條件滿足時(shí)CPU響應(yīng)中斷請(qǐng)求。
每一個(gè)中斷源都對(duì)應(yīng)有一個(gè)中斷請(qǐng)求標(biāo)志位,它們?cè)O(shè)置在定時(shí)/計(jì)數(shù)器控制寄存器TCON、定時(shí)/計(jì)數(shù)器2控制寄存器T2CON和串行通信控制寄存器SCON的相應(yīng)位來(lái)鎖存。另外還有中斷控制寄存器IE和中斷優(yōu)先級(jí)控制寄存器IP,IE用于確定各中斷是允許還是禁止,IP用于定義各中斷源的中斷優(yōu)先級(jí),用戶通過(guò)設(shè)置其狀態(tài)來(lái)管理中斷系統(tǒng)。
編輯:admin 最后修改時(shí)間:2019-06-23