新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用AT89C2051制作的6位電子鐘

        利用AT89C2051制作的6位電子鐘

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

        CLR 02H ;清閃爍標志

        CLR TR1 ;關閉定時器T1

        CLR ET1 ;關定時器T1中斷

        SETB TR0 ;開啟定時器T0

        SETB ET0 ;開定時器T0中斷(計時開始)

        LJMP START1 ;跳回主程序

        SET1: LCALL DISPLAY ;鍵釋放等待時調用顯示程序(調分)

        AJMP SET2 ;防止鍵按下時無時鐘顯示

        SET3: LCALL DISPLAY ;等待調分按鍵時時鐘顯示用

        AJMP SET4

        SET5: LCALL DISPLAY ;鍵釋放等待時調用顯示程序(調小時)

        AJMP SETHH1 ;防止鍵按下時無時鐘顯示

        SET7: LCALL DISPLAY ;等待調小時按鍵時時鐘顯示用

        AJMP SET6

        SETOUT1:LCALL DISPLAY ;退出時鐘調整時鍵釋放等待

        AJMP SETOUT ;防止鍵按下時無時鐘顯示

        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        ;; 顯示程序 ;;

        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        ; 顯示數據在70H-75H單元內,用六位LED共陽數碼管顯示,P1口輸出段碼數據,P3口作

        ; 掃描控制,每個LED數碼管亮1MS時間再逐位循環。

        DISPLAY:MOV R1,#70H ;指向顯示數據首址

        MOV R5,#0FEH ;掃描控制字初值

        PLAY: MOV A,R5 ;掃描字放入A

        MOV P3,A ;從P3口輸出

        MOV A,@R1 ;取顯示數據到A

        MOV DPTR,#TAB ;取段碼表地址

        MOVC A,@A+DPTR;查顯示數據對應段碼

        MOV P1,A ;段碼放入P1口

        LCALL DL1MS ;顯示1MS

        INC R1 ;指向下一地址

        MOV A,R5 ;掃描控制字放入A

        JNB ACC.5,ENDOUT ;ACC.5=0時一次顯示結束

        RL A ;A中數據循環左移

        MOV R5,A ;放回R5內

        AJMP PLAY ;跳回PLAY循環

        ENDOUT: SETB P3.5 ;一次顯示結束,P3口復位

        MOV



        關鍵詞: AT89C2051 6位電子鐘

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 郸城县| 临湘市| 英德市| 合江县| 瑞金市| 沈阳市| 延津县| 和平县| 察哈| 屏南县| 齐河县| 米易县| 冕宁县| 辽源市| 鄂尔多斯市| 万年县| 红安县| 永嘉县| 汉沽区| 云梦县| 沽源县| 易门县| 安庆市| 九龙城区| 龙陵县| 铜山县| 美姑县| 通榆县| 徐水县| 商丘市| 拉萨市| 洪洞县| 潜江市| 台江县| 和政县| 阜平县| 河间市| 巴林右旗| 泉州市| 来安县| 和顺县|