新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51中斷不能正常的處理的解決辦法

        51中斷不能正常的處理的解決辦法

        作者: 時(shí)間:2012-08-18 來源:網(wǎng)絡(luò) 收藏

        編了一個(gè)程序,看來是對的啊。

        MOV IE,#10001010B

        call delay ;延時(shí)期間有在拼命的運(yùn)行著呢
        call delay ;就是不能允許外中斷來干擾它的運(yùn)行,所以關(guān)掉了外中斷
        call delay
        call delay
        call delay
        MOV IE,#10001011B ;運(yùn)行完了就試圖打開外中斷呀

        .............

        這是它的延時(shí)程序:

        delay:
        mov r7,#5 ;延時(shí)子程序(定時(shí)1秒)而且r7 r6 r5和主程序沒有任何沖突的!
        d1: mov r6,#200
        d2: mov r5,#229
        djnz r5,$
        djnz r6,d2
        djnz r7,d1
        ret

        可是,延時(shí)以后,無論如何就是不能打開外中斷!

        怎么辦?費(fèi)了我兩天的時(shí)間去想,即使push、pop把r5 r6 r7保護(hù)起來也不能正常。

        現(xiàn)在,我把延時(shí)程序改為:

        delay:
        mov 40h,#5 ;延時(shí)子程序(定時(shí)1秒)
        d1: mov 41h,#200
        d2: mov 42h,#229
        djnz 42h,$
        djnz 41h,d2
        djnz 40h,d1
        ret



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 滨州市| 迭部县| 五峰| 昌江| 遂昌县| 调兵山市| 始兴县| 周至县| 漠河县| 平原县| 丘北县| 黔东| 介休市| 黑山县| 道孚县| 留坝县| 陵川县| 元氏县| 仲巴县| 温州市| 肃南| 垫江县| 塔河县| 五大连池市| 定边县| 保康县| 温泉县| 蓬安县| 娱乐| 安顺市| 二连浩特市| 彩票| 荣成市| 开鲁县| 舞钢市| 固原市| 西丰县| 克山县| 大悟县| 德阳市| 博罗县|