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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)秒表課程設(shè)計(jì)

          單片機(jī)秒表課程設(shè)計(jì)

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

          ;數(shù)碼管顯示秒表時間的程序
          GN1: ;先初始化
          S1:MOV A,#0
          MOV TEMP,A
          GOON1: MOV R2,#2
          JS1: MOV R3,#250
          TIME1: MOV A,TEMP ;將TEMP中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制
          MOV B,#10 ;10進(jìn)制/10=10進(jìn)制
          DIV AB
          MOV B_BIT,A ;十位在A
          MOV A_BIT,B ;個位在B

          LCALL DPLOP1

          ;插入一段判斷定時過程中是否有的程序段
          C1: JB P3.6,B1
          ACALL DELAY10;延時10毫秒消抖
          JB P3.6,C1
          JNB P3.6,$;等待按鍵松開
          CPL F0
          ZT1: ; MOV P3,#0FFH;對P3口初始化,設(shè)置為高電平,用于
          JB P3.6,$;循環(huán)判斷開始按鈕K1是否按下?
          ACALL DELAY10;延時10毫秒觸點(diǎn)消抖
          JB P3.6,ZT1;如果是干擾就返回
          JNB P3.6,$;等待按鍵松開
          LCALL DPLOP1

          B1: JB P3.7,LOOP1
          ACALL DELAY10;延時10毫秒消抖
          JB P3.7,B1
          JNB P3.7,$;等待按鍵松開
          AJMP OVER

          LOOP1: DJNZ R3,TIME1 ;2毫秒循環(huán)執(zhí)行250次,時間約0.5秒
          DJNZ R2,JS1 ;循環(huán)執(zhí)行2次,時間為1 秒鐘

          INC TEMP;滿一秒鐘對時間加1
          MOV A,TEMP
          CLR C
          SUBB A,#60
          JNZ GOON1;判斷TEMP的數(shù)值是否為60?不為60循環(huán)
          ACALL OVER
          RET


          GN2: MOV A,#14H ; 設(shè)定倒計(jì)時的時間20S
          MOV TEMP,A

          ;數(shù)碼管顯示倒計(jì)時時間的程序
          ;初始化
          MOV P3,#0FFH;對P3口初始化,設(shè)置為高電平,用于
          MOV P0,#14H;使顯示時間為設(shè)定的倒計(jì)時時間

          GOON2: MOV R2,#2
          JS2: MOV R3,#250
          TIME2: MOV A,TEMP ;將TEMP中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制
          MOV B,#10 ;10進(jìn)制/10=10進(jìn)制
          DIV AB
          MOV B_BIT,A ;十位在A
          MOV A_BIT,B ;個位在B

          MOV DPTR,#NUMTAB ;指定查表啟始地址
          DPLOP2: MOV A,A_BIT ;取個位數(shù)
          MOVC A,@A+DPTR ;查個位數(shù)的7段代碼
          MOV P0,A ;送出個位的7段代碼

          CLR P2.5 ;開個位顯示
          ACALL DELY1;顯示1毫秒
          SETB P2.5;關(guān)閉個位顯示,防止鬼影
          MOV A,B_BIT ;取十位數(shù)
          MOVC A,@A+DPTR ;查十位數(shù)的7段代碼
          MOV P0,A ;送出十位的7段代碼
          CLR P2.6 ;開十位顯示
          ACALL DELY1;顯示1毫秒
          SETB P2.6;關(guān)閉十位顯示,防止鬼影

          ;插入一段判斷定時過程中是否有按鍵輸入的程序段
          C2: JB P3.6,B2
          ACALL DELAY10;延時10毫秒消抖
          JB P3.6,C2
          JNB P3.6,$;等待按鍵松開

          ZT2: MOV P3,#0FFH;對P3口初始化,設(shè)置為高電平,用于按鍵輸入
          JB P3.6,$;循環(huán)判斷開始按鈕K1是否按下?
          ACALL DELAY10;延時10毫秒觸點(diǎn)消抖
          JB P3.6,ZT2;如果是干擾就返回
          JNB P3.6,$;等待按鍵松開



          評論


          相關(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); })();