新聞中心

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

        利用AT89C2051制作的6位電子鐘

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

        ;按下時間大于0.5秒轉調小時狀態

        MOV R0,#77H ;按下時間小于0.5秒加1分鐘操作

        LCALL ADD1 ;調用加1子程序

        MOV A,R3 ;取調整單元數據

        CLR C ;清進位標志

        CJNE A,#60H,HHH ;調整單元數據與60比較

        HHH: JC SET4 ;調整單元數據小于60轉SET4循環

        LCALL CLR0 ;調整單元數據大于或等于60時清0

        CLR C ;清進位標志

        AJMP SET4 ;跳轉到SET4循環

        CLOSEDIS:

        SETB ET0 ;省電(LED不顯示)狀態。開T0中斷

        SETB TR0 ;開啟T0定時器(開時鐘)

        CLOSE: JB P3.7,CLOSE ;無按鍵按下,等待。

        LCALL DISPLAY ;有鍵按下,調顯示子程序延時削抖

        JB P3.7,CLOSE ;是干擾返回CLOSE等待

        WAITH: JNB P3.7,WAITH;等待鍵釋放

        LJMP START1 ;返回主程序(LED數據顯示亮)

        SETHH: CLR 00H ;分閃爍標志清除(進入調小時狀態)

        SETHH1: JNB P3.7,SET5 ;等待鍵釋放

        SETB 01H ;小時調整標志置1

        SET6: JB P3.7,SET7 ;等待按鍵按下

        LCALL DL05S ;有鍵按下延時0.5秒

        JNB P3.7,SETOUT ;按下時間大于0.5秒退出時間調整

        MOV R0,#79H ;按下時間小于0.5秒加1小時操作

        LCALL ADD1 ;調加1子程序

        MOV A,R3

        CLR C

        CJNE A,#24H,HOUU ;計時單元數據與24比較

        HOUU: JC SET6 ;小于24轉SET6循環

        LCALL CLR0 ;大于或等于24時清0操作

        AJMP SET6 ;跳轉到SET6循環

        SETOUT: JNB P3.7,SETOUT1 ;調時退出程序。等待鍵釋放

        LCALL DISPLAY ;延時削抖

        JNB P3.7,SETOUT ;是抖動,返回SETOUT再等待

        CLR 01H ;清調小時標志

        CLR 00H ;清調分標志



        關鍵詞: AT89C2051 6位電子鐘

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 扶沟县| 南皮县| 青神县| 陈巴尔虎旗| 西乡县| 右玉县| 周宁县| 长汀县| 新巴尔虎右旗| 凤山县| 台中市| 延川县| 商水县| 读书| 定安县| 锡林浩特市| 鄂托克前旗| 沙田区| 郑州市| 罗城| 通山县| 卢龙县| 遂平县| 巧家县| 扬中市| 耒阳市| 名山县| 麦盖提县| 海城市| 涞源县| 牙克石市| 河东区| 体育| 元朗区| 收藏| 兰州市| 邵阳县| 天长市| 历史| 枝江市| 鸡西市|