<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          利用AT89C2051制作的6位電子鐘

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

          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中斷服務程序

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

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

          CLR ET0 ;關T0中斷允許

          CLR TR0 ;關閉定時器T0

          MOV A,#0B7H ;中斷響應時間同步修正

          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



          關鍵詞: AT89C2051 6位電子鐘

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();