新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機擴展中斷的簡便方法

        單片機擴展中斷的簡便方法

        作者: 時間:2011-05-05 來源:網絡 收藏

        MCS—51系列內部只有兩個外部源輸入端,當外部源多于兩個時,就必須進行,下面介紹兩種簡單的
        1、 采用硬件請求和軟件查詢的
        這種是:把各個源通過硬件“或非”門引入到外部中斷源輸入端(INT0或INT1),同時再把各個中斷源送到的某個輸入輸出端口,這樣當外部中斷時,通過“或非”門引起單片機中斷,在中斷服務程序中再通過軟件查詢,進而轉到相應的中斷服務程序。顯然,這種方法的中斷優先級取決于軟件查詢的次序。其硬件連接和軟件編程如下:

        本文引用地址:http://www.104case.com/article/172820.htm

        Void zhongduan (void) interrupt 0 using 3 //中斷函數
        {
        EX0=0;//關中斷
        If(P0_0=1) { *****}//中斷查詢
        If(P0_1=1) { *****}//中斷查詢
        If(P0_2=1) { *****}//中斷查詢
        EX0=1;開中斷
        }
        2、 用定時器/計數器作外部中斷:
        單片機的定時器/計數器是一個加一計數器,每當計數輸入端有一個“1—0”的負跳變時,計數器加一,當加一計數器溢出時,就向CPU發出中斷,利用這個特性來中斷的方法是:首先把定時器/計數器設置成計數方式,并預置滿值,把外部中斷源輸入到P3口第4引腳或第5引腳(計數器輸入端),這樣就可以利用定時器/計數器作為單片機外部中斷了。注意這種方法的中斷服務的入口地址應在000BH或001BH。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 镇雄县| 犍为县| 佳木斯市| 惠水县| 柳林县| 哈巴河县| 沁阳市| 错那县| 凉城县| 揭东县| 邢台县| 无锡市| 永昌县| 诏安县| 西充县| 武宣县| 揭阳市| 武城县| 湘潭县| 晋江市| 含山县| 榆树市| 镇巴县| 攀枝花市| 榆林市| 云安县| 滨海县| 伊春市| 和顺县| 东乡族自治县| 蛟河市| 金华市| 绥芬河市| 绥中县| 信宜市| 迁安市| 龙岩市| 雷山县| 图木舒克市| 横山县| 高陵县|