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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)89C2051制作的延時(shí)控制器

          用單片機(jī)89C2051制作的延時(shí)控制器

          作者: 時(shí)間:2011-05-01 來源:網(wǎng)絡(luò) 收藏

          ;***************************************************
          ;* 用 *
          ;* T0、TT0配合構(gòu)成為秒脈沖發(fā)生器 *
          ;* TSBIN 為秒計(jì)數(shù)器(二進(jìn)制,0~60) ;21H單元 *
          ;* TMBIN 為分計(jì)數(shù)器(二進(jìn)制,0~60) ;22H單元 *
          ;* THBIN 為時(shí)計(jì)數(shù)器(二進(jìn)制,0~24) ;23H單元 *
          ;* KEYCODE 為鍵盤值;29H單元 *
          ;* KEYPRE 為按鍵標(biāo)志字;PSW.5 *
          ;* 當(dāng)?shù)褂?jì)時(shí)至00H00M00S 時(shí),P3.0, P3.1端輸出 *
          ;* 反相信號。 *
          ;* S1----對時(shí)按鈕;S2--對分按鈕; *
          ;* S3--對秒按鈕;S4--退出對時(shí) *
          ;***************************************************

          本文引用地址:http://www.ex-cimer.com/article/162125.htm

          TMSBIN EQU 20H
          TSBIN EQU 21H
          TMBIN EQU 22H
          THBIN EQU 23H
          KEYCODE EQU 29H
          TT0 EQU 2BH
          OUT EQU 2DH

          KEYPRE BIT PSW.5

          DPS1 DATA 11001111B;S4
          DPM0 DATA 11010111B;S3
          DPM1 DATA 11011111B;S2
          DPH0 DATA 11100111B;S1
          DPH1 DATA 11101111B
          HIDE DATA 11111111B;消隱字

          ORG 0000H
          AJMP MAIN

          ORG 000BH
          SJMP I_T0

          ORG 001BH
          I_T1:AJMP MAIN1
          RETI

          ;*********** T0中斷服務(wù) ***********
          ORG 0030H
          I_T0:PUSH ACC
          PUSH PSW
          MOV TH0,#0DCH;0.01s時(shí)間,常數(shù)因子為DC00H
          ;MOV TL0,#00H
          CLR C
          MOV A,TMSBIN
          SUBB A,#01H
          MOV TMSBIN,A
          MOV R3,TT0
          DJNZ R3,I_T01;中斷次數(shù)100(每次中斷0.01S),轉(zhuǎn)出
          CPL KEYPRE
          MOV R3,#100;中斷次數(shù)=100次,重新下一個(gè)計(jì)數(shù)
          MOV TMSBIN,#100
          CLR C
          MOV A,TSBIN;秒計(jì)數(shù)器加1
          SUBB A,#01H
          MOV TSBIN,A
          ;SUBB A,#60 ;秒計(jì)數(shù)器>59? Y,秒計(jì)數(shù)器=00
          JNC I_T01
          MOV A,TMBIN
          ADD A,THBIN
          JNZ M1
          MOV OUT,#11111101B
          CLR TR0
          MOV TSBIN,#00H
          SJMP I_T01
          M1:MOV TSBIN,#59
          CLR C
          MOV A,TMBIN;分計(jì)數(shù)器加1
          SUBB A,#01H
          MOV TMBIN,A
          JNC I_T01
          MOV A,THBIN
          JZ I_T01
          MOV TMBIN,#59
          CLR C
          MOV A,THBIN;時(shí)計(jì)數(shù)器加1
          SUBB A,#01H
          MOV THBIN,A
          ;SUBB A,#24;時(shí)計(jì)數(shù)器>23? Y,時(shí)計(jì)數(shù)器=00
          JNC I_T01
          MOV THBIN,#00H
          I_T01:MOV TT0,R3
          POP PSW
          POP ACC
          RETI

          ORG 00F0H
          MAIN:MOV P1,#0FFH
          MOV OUT,#11111110B ;P3.0輸出低電平
          MOV P3,OUT
          MOV SP,#40H;初始化堆棧指針
          MOV TMOD,#11H;T0、T1工作于16為定時(shí)器
          MOV TT0,#100
          MOV TH0,#0DCH;T0初值
          MOV TL0,#00H
          MOV TH1,#00H;T1初值
          MOV TL1,#00H
          MOV TSBIN,#59
          MOV TMBIN,#59
          MOV THBIN,#23
          CLR EX0
          CLR EX1
          CLR ES
          SETB ET0;開T0、T1中斷
          SETB ET1
          SETB TR0
          SETB TR1
          SETB EA
          MAIN1:MOV R6,#80H;主處理過程
          DISP:MOV KEYCODE,#00H
          MOV TH1,#00H
          MOV TL1,#00H
          ACALL DISPLY;調(diào)用顯示子程序
          DJNZ R6,DISP
          MOV DPTR,#KEY
          MOV A,KEYCODE;讀鍵盤值
          JMP @A+DPTR;按鍵值跳相應(yīng)處理程序


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();