新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用定時器1延時1秒的程序

        利用定時器1延時1秒的程序

        作者: 時間:2016-11-26 來源:網絡 收藏
        ;利用定時器精確延時1秒
        ;循環點亮P1口接的八只發光二極管。
        ORG 0000H
        AJMP START
        ORG001BH;T1中斷入口地址
        AJMP INT_T1
        ORG0030H
        START:
        MOVSP,#60H
        MOVTMOD,#10H;置T1為方式1
        MOVTL1,#00H;延時50mS的時間常數
        MOVTH1,#4CH
        MOVR0,#00H
        MOVR1,#20
        SETB TR1;啟動定時器1,開始定時
        SETB ET1
        SETB EA;開中斷
        SJMP $
        INT_T1:;T1中斷服務子程序
        PUSH ACC;保護現場
        PUSH PSW
        PUSH DPL
        PUSH DPH
        CLRTR1;關閉定時器1,停止定時
        MOVTL1,#00H;延時50mS常數
        MOVTH1,#4CH
        DJNZ R1,EXIT
        MOVR1,#20;延時一秒的常數
        MOVDPTR,#DATAb ;置常數表基址
        MOVA,R0;置常數表偏移量
        MOVC A,@A+DPTR;讀常數表
        MOVP1,A;送P1口顯示
        INCR0
        ANLR0,#07H
        EXIT:
        SETB TR1;啟動定時器1,開始定時
        POPDPH;恢復現場
        POPDPL
        POPPSW
        POPACC
        RETI
        ;發光二極管顯示常數表
        DATAb:DB 55H,0AAH,05H,0AH,50H,0A0H,0FFH,0H
        END


        關鍵詞: 定時器1延時1

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 昌江| 郓城县| 涪陵区| 榆社县| 福泉市| 承德县| 钟祥市| 乡城县| 江安县| 黄平县| 叙永县| 常德市| 新泰市| 罗江县| 特克斯县| 柘城县| 怀远县| 林西县| 逊克县| 阿鲁科尔沁旗| 清丰县| 桦南县| 子长县| 云霄县| 油尖旺区| 萨嘎县| 如皋市| 屯门区| 嘉兴市| 清水河县| 京山县| 广安市| 融水| 普陀区| 梅州市| 府谷县| 伊通| 达日县| 清徐县| 依安县| 望都县|