新聞中心

        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位電子鐘

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巴彦淖尔市| 密山市| 敦化市| 富裕县| 玛多县| 白城市| 扎鲁特旗| 池州市| 榆社县| 乌鲁木齐市| 滁州市| 涞水县| 井研县| 滨海县| 册亨县| 讷河市| 沙坪坝区| 通化县| 罗江县| 化德县| 天门市| SHOW| 繁昌县| 达孜县| 澜沧| 东辽县| 大洼县| 鄂尔多斯市| 大理市| 中西区| 固安县| 务川| 保亭| 宜兰市| 宜宾市| 湘潭县| 广宗县| 大竹县| 友谊县| 翼城县| 曲靖市|