新聞中心

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

        利用AT89C2051制作的6位電子鐘

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

        R0,#79H ;指向小時計時單元(78H-79H)

        ACALL ADD1 ;小時計時單元加1小時

        MOV A,R3 ;時數據放入A

        CLR C ;清進位標志

        CJNE A,#24H,HOUR

        HOUR: JC OUTT0 ;小于24小時中斷退出

        ACALL CLR0 ;大于或等于24小時小時計時單元清0

        OUTT0: MOV 72H,76H ;中斷退出時將分、時計時單元數據移

        MOV 73H,77H ;入對應顯示單元

        MOV 74H,78H

        MOV 75H,79H

        POP PSW ;恢復狀態字(出棧)

        POP ACC ;恢復累加器

        SETB ET0 ;開放T0中斷

        RETI ;中斷返回

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

        ;; 閃動調時 程 序 ;;

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

        ;T1中斷服務程序,用作時間調整時調整單元閃爍指示

        INTT1: PUSH ACC ;中斷現場保護

        PUSH PSW

        MOV TL1, #0B0H;裝定時器T1定時初值

        MOV TH1, #3CH

        DJNZ R2,INTT1OUT ;0.3秒未到退出中斷(50MS中斷6次)

        MOV R2,#06H ;重裝0.3秒定時用初值

        CPL 02H ;0.3秒定時到對閃爍標志取反

        JB 02H,FLASH1 ;02H位為1時顯示單元"熄滅"

        MOV 72H,76H ;02H位為0時正常顯示

        MOV 73H,77H

        MOV 74H,78H

        MOV 75H,79H

        INTT1OUT:

        POP PSW ;恢復現場

        POP ACC

        RETI ;中斷退出

        FLASH1: JB 01H,FLASH2 ;01H位為1時,轉小時熄滅控制

        MOV 72H,7AH ;01H位為0時,"熄滅符"數據放入分

        MOV 73H,7AH ;顯示單元(72H-73H),將不顯示分數據

        MOV 74H,78H

        MOV 75H,79H

        AJMP INTT1OUT ;轉中斷退出

        FLASH2: MOV 72H,76H ;01H位為1時,"熄滅符"數據放入小時

        MOV 73H,77H ;顯示單元(74H-75H),小時數據將不顯示

        MOV 74H,7AH

        MOV 75H,7AH

        AJMP INTT1OUT ;轉中斷退出

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

        ;; 加1子 程 序 ;;

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



        關鍵詞: AT89C2051 6位電子鐘

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正宁县| 龙川县| 柏乡县| 托克托县| 香河县| 平阴县| 昌邑市| 黄石市| 舞钢市| 兖州市| 济宁市| 渑池县| 双城市| 通辽市| 香港 | 卢龙县| 涪陵区| 永定县| 星座| 玉门市| 仪征市| 富蕴县| 莱州市| 长海县| 兴仁县| 柘荣县| 桂东县| 武威市| 黎城县| 获嘉县| 双桥区| 丘北县| 旅游| 晋州市| 花莲市| 西城区| 通渭县| 荥经县| 潮州市| 珲春市| 南靖县|