新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 中斷電平觸發(fā)方式和跳變沿觸發(fā)方式有什么區(qū)別

中斷電平觸發(fā)方式和跳變沿觸發(fā)方式有什么區(qū)別

作者: 時(shí)間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
INT1的邊沿觸發(fā)只有下降沿有效,換句話說,只要出現(xiàn)了下降沿那肯定出現(xiàn)了低電平,所以對于單個(gè)中斷來說,電平與邊沿沒區(qū)別。真正的區(qū)別在于:電平觸發(fā)方式時(shí),中斷標(biāo)志寄存器不鎖存中斷請求信號。也就是說,單片機(jī)把每個(gè)機(jī)器周期的S5P2采樣到的外部中斷源口線的電平邏輯直接賦值到中斷標(biāo)志寄存器。標(biāo)志寄存器對于請求信號來說是透明的。這樣當(dāng)中斷請求被阻塞而沒有得到及時(shí)響應(yīng)時(shí),將被丟失。換句話說,要使電平觸發(fā)的中斷被CPU響應(yīng)并執(zhí)行,必須保證外部中斷源口線的低電平維持到中斷被執(zhí)行為止。因此當(dāng)CPU正在執(zhí)行同級中斷或更高級中斷期間,產(chǎn)生的外部中斷源(產(chǎn)生低電平)如果在該中斷執(zhí)行完畢之前撤銷(變?yōu)楦唠娖剑┝耍敲磳⒌貌坏巾憫?yīng),就如同沒發(fā)生一樣。同樣,當(dāng)CPU在執(zhí)行不可被中斷的指令(如RETI)時(shí),產(chǎn)生的電平觸發(fā)中斷如果時(shí)間太短,也得不到執(zhí)行。邊沿觸發(fā)方式時(shí),中斷標(biāo)志寄存器鎖存了中斷請求。中斷口線上一個(gè)從高到低的跳變將記錄在標(biāo)志寄存器中,直到CPU響應(yīng)并轉(zhuǎn)向該中斷服務(wù)程序時(shí),由硬件自動(dòng)清除。因此當(dāng)CPU正在執(zhí)行同級中斷(甚至是外部中斷本身)或高級中斷時(shí),產(chǎn)生的外部中斷(負(fù)跳變)同樣將被記錄在中斷標(biāo)志寄存器中。在該中斷退出后,將被響應(yīng)執(zhí)行。如果你不希望這樣,必須在中斷退出之前,手工清除外部中斷標(biāo)志。選擇電平觸發(fā)還是邊沿觸發(fā)方式應(yīng)從系統(tǒng)使用外部中斷的目的上去考慮,而不是如許多資料上說的根據(jù)中斷源信號的特性來取舍。

評論


技術(shù)專區(qū)

關(guān)閉