新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用AT89C2051制作的6位電子鐘

        利用AT89C2051制作的6位電子鐘

        作者: 時間:2011-12-06 來源:網(wǎng)絡(luò) 收藏

        SETB ET0 ;允許T0中斷

        SETB TR0 ;開啟T0定時器

        MOV R4,#14H ;1秒定時用初值(50MS×20)

        START1: LCALL DISPLAY ;調(diào)用顯示子程序

        JNB P3.7,SETMM1 ;P3.7口為0時轉(zhuǎn)時間調(diào)整程序

        SJMP START1 ;P3.7口為1時跳回START1

        SETMM1: LJMP SETMM ;轉(zhuǎn)到時間調(diào)整程序SETMM

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

        ;; 1秒計時程序 ;;

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

        ;T0中斷服務(wù)程序

        INTT0: PUSH ACC ;累加器入棧保護

        PUSH PSW ;狀態(tài)字入棧保護

        CLR ET0 ;關(guān)T0中斷允許

        CLR TR0 ;關(guān)閉定時器T0

        MOV A,#0B7H ;中斷響應(yīng)時間同步修正

        ADD A,TL0 ;低8位初值修正

        MOV TL0,A ;重裝初值(低8位修正值)

        MOV A,#3CH ;高8位初值修正

        ADDC A,TH0

        MOV TH0,A ;重裝初值(高8位修正值)

        SETB TR0 ;開啟定時器T0

        DJNZ R4, OUTT0;20次中斷未到中斷退出

        ADDSS: MOV R4,#14H ;20次中斷到(1秒)重賦初值

        MOV R0,#71H ;指向秒計時單元(71H-72H)

        ACALL ADD1 ;調(diào)用加1程序(加1秒操作)

        MOV A,R3 ;秒數(shù)據(jù)放入A(R3為2位十進制數(shù)組合)

        CLR C ;清進位標志

        CJNE A,#60H,ADDMM

        ADDMM: JC OUTT0 ;小于60秒時中斷退出

        ACALL CLR0 ;大于或等于60秒時對秒計時單元清0

        MOV R0,#77H ;指向分計時單元(76H-77H)

        ACALL ADD1 ;分計時單元加1分鐘

        MOV A,R3 ;分數(shù)據(jù)放入A

        CLR C ;清進位標志

        CJNE A,#60H,ADDHH

        ADDHH: JC OUTT0 ;小于60分時中斷退出

        ACALL CLR0 ;大于或等于60分時分計時單元清0

        MOV



        關(guān)鍵詞: AT89C2051 6位電子鐘

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 伊宁市| 万年县| 安顺市| 金昌市| 杭锦后旗| 玛纳斯县| 遵义县| 车致| 郸城县| 玛沁县| 海城市| 五河县| 永川市| 尼木县| 博野县| 杭锦旗| 江山市| 衡东县| 民权县| 东台市| 黔东| 璧山县| 临湘市| 武夷山市| 民权县| 博客| 大荔县| 石台县| 奎屯市| 浙江省| 西安市| 湖北省| 固原市| 青冈县| 睢宁县| 龙川县| 江川县| 肃宁县| 宁城县| 来凤县| 长寿区|