新聞中心

        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。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 皮山县| 安化县| 长沙县| 碌曲县| 岳普湖县| 吴桥县| 博罗县| 顺义区| 蛟河市| 济源市| 凤冈县| 凌云县| 弥渡县| 陆川县| 惠安县| 内黄县| 德格县| 汉川市| 蕲春县| 武清区| 庄浪县| 翁源县| 石狮市| 边坝县| 会昌县| 神木县| 荆州市| 山阳县| 福安市| 晴隆县| 获嘉县| 星座| 锦屏县| 准格尔旗| 三穗县| 平安县| 怀安县| 金门县| 如东县| 罗山县| 荆门市|