新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機的外部中斷觸發(fā)方式

        51單片機的外部中斷觸發(fā)方式

        作者: 時間:2014-01-13 來源:網(wǎng)絡(luò) 收藏
        有兩種可選:電平觸發(fā)和邊沿觸發(fā)。選擇電平觸發(fā)時,單片機在每個機器周期檢查中斷源口線,檢測到低電平,即置位中斷請求標志,向CPU請求中斷。選擇邊沿時,單片機在上一個機器周期檢測到中斷源口線為高電平,下一個機器周期檢測到低電平,即置位中斷標志,請求中斷。
        這個原理很好理解。但應(yīng)用時需要特別注意的幾點:
        1) 電平時,中斷標志寄存器不鎖存中斷請求信號。也就是說,單片機把每個機器周期的S5P2采樣到的源口線的電平邏輯直接賦值到中斷標志寄存器。標志寄存器對于請求信號來說是透明的。這樣當中斷請求被阻塞而沒有得到及時響應(yīng)時,將被丟失。換句話說,要使電平觸發(fā)的中斷被CPU響應(yīng)并執(zhí)行,必須保證源口線的低電平維持到中斷被執(zhí)行為止。因此當CPU正在執(zhí)行同級中斷或更高級中斷期間,產(chǎn)生的外部中斷源(產(chǎn)生低電平)如果在該中斷執(zhí)行完畢之前撤銷(變?yōu)楦唠娖剑┝耍敲磳⒌貌坏巾憫?yīng),就如同沒發(fā)生一樣。同樣,當CPU在執(zhí)行不可被中斷的指令(如RETI)時,產(chǎn)生的電平觸發(fā)中斷如果時間太短,也得不到執(zhí)行。
        2)邊沿觸發(fā)方式時,中斷標志寄存器鎖存了中斷請求。中斷口線上一個從高到低的跳變將記錄在標志寄存器中,直到CPU響應(yīng)并轉(zhuǎn)向該中斷服務(wù)程序時,由硬件自動清除。因此當CPU正在執(zhí)行同級中斷(甚至是外部中斷本身)或高級中斷時,產(chǎn)生的外部中斷(負跳變)同樣將被記錄在中斷標志寄存器中。在該中斷退出后,將被響應(yīng)執(zhí)行。如果你不希望這樣,必須在中斷退出之前,手工清除外部中斷標志。
        3)中斷標志可以手工清除。一個中斷如果在沒有得到響應(yīng)之前就已經(jīng)被手工清除,則該中斷將被CPU忽略。就如同沒有發(fā)生一樣。
        4)選擇電平觸發(fā)還是邊沿觸發(fā)方式應(yīng)從系統(tǒng)使用外部中斷的目的上去考慮,而不是如許多資料上說的根據(jù)中斷源信號的特性來取舍。


        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 得荣县| 恭城| 铜山县| 偃师市| 赤城县| 洪湖市| 霍城县| 广平县| 怀仁县| 临猗县| 双辽市| 方城县| 长兴县| 昌图县| 兰西县| 涡阳县| 喀喇沁旗| 云霄县| 新巴尔虎左旗| 鲜城| 汉阴县| 汝城县| 柏乡县| 临沧市| 阳春市| 东丽区| 正阳县| 积石山| 龙口市| 江口县| 海兴县| 浏阳市| 科技| 泰兴市| 称多县| 托克逊县| 武城县| 广昌县| 芜湖市| 泗水县| 浙江省|