<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ī)控制數(shù)顯“消屏”算是的探討

          作者: 時(shí)間:2012-03-15 來源:網(wǎng)絡(luò) 收藏


          CLR SIGN ;初始化清零“”標(biāo)志位
          LOOP0:MOV R1,#51H ;顯示字段的緩沖區(qū)由內(nèi)存51H單元開始
          MOV R2,#04H
          MOV R3,#05H ;顯示數(shù)碼為5位
          LOOP1:MOV DPH,#00H
          MOV DPL,#50H
          MOV A,@R1
          MOVC A,@A+DPTR
          JNB DECIMAL,LOOP2
          ADD A,#02H ;小數(shù)點(diǎn)顯示處理
          LOOP2:MOV P0,A
          MOV A,#03H
          ADD A,R2
          MOV P3,A
          JNB FUNCT,KSM0 ;跳至鍵解釋子程序
          JNB FANNER,KSM0 ;跳至鍵解釋子程序
          JNB EYRE,KSM0 ;跳至鍵解釋子程序
          JNB 72H,LOOP3
          ANL 2EH,#0BH
          CLR 72H
          LOOP3:JB SIGH,LOOP20;若標(biāo)志位為“1”則跳之“”循環(huán)
          LOOP4:LCALL YSCX ;調(diào)用循環(huán)顯示延時(shí)子程序
          CLR DECIMAL
          LOOP5:MOV A,R2
          RL A
          MOV R2,A
          JB 55H ,LOOP7
          LOOP6:CJNE A,#10H,LOOP7
          SETB DECIMAL
          LOOP7:INC R1
          MOV P1,2AH ;內(nèi)存2A記錄值賦予P1口
          MOV P2,2BH ;內(nèi)存2BH記錄值賦予P2口
          DJNZ R3,LOOP1
          LJMP LOOP0

          主循環(huán)顯示程序是一個(gè)掃描式顯示的主循環(huán)。假若程序運(yùn)行到倒數(shù)第十四條“JB SIGN,LOOP20”指令、且標(biāo)志位“SIGN”(即“2FH”)已被置為邏輯“1”時(shí),程序?qū)⑻鰭呙栾@示主循環(huán),而進(jìn)入“”循環(huán)運(yùn)行。其中,內(nèi)存寄存器2AH、2BH是可位尋址操作的——分別對(duì)應(yīng)于端口P1、P2的內(nèi)存字節(jié)單元,它們的數(shù)據(jù)由具體運(yùn)算監(jiān)控程序賦予。另外,掃描顯示主循環(huán)程序中所牽涉到的諸如“跳至鍵解釋子程序”中的“鍵解釋子程序”、“調(diào)用循環(huán)顯示延時(shí)子程序”中的“循環(huán)顯示延時(shí)子程序”,以及下文中的溫度信息采訪監(jiān)控程序等,由于篇幅的關(guān)系都沒有具體闡述,因?yàn)椋鼈儾挥绊戧P(guān)于“消屏”的討論。

          3.2 “消屏”輔助循環(huán)程序
          LOOP20:INB SIGN,LOOP23
          MOV P1,#0FBH
          MOV P3,#03H
          ORL 0D0H,#18H
          MOV R5,#25H
          LOOP21:MOV R6,#2AH
          LOOP22:DJNZ R6,LOOP22
          DJNZ R5,LOOP21
          ANL 0D0H,#0E7H
          MOV P0,#00H ;保證顯示輸出為“0” ——“消屏”
          ANL P1,#0E7H ;而監(jiān)控通信端口仍正常工作
          MOV P3,#03H
          JNB FUNCT,LOOP23
          JNB FANNER,LOOP23
          JNB EYRE,LOOP23
          LJMP LOOP20
          LOOP23:MOV P1,2AH ;記錄內(nèi)容賦值給相應(yīng)端口
          MOV P2,2BH
          CLR SIGN
          LJMP LOOP1

          在“消屏”循環(huán)程序運(yùn)行中,當(dāng)其倒數(shù)第6、第7、第8條指令中任一條指令的條件轉(zhuǎn)換成立,即有任一按鍵按下時(shí),程序便退出“消屏”循環(huán),回到主循環(huán)運(yùn)行,進(jìn)而由鍵解釋子程序?qū)υ摪存I作出解釋響應(yīng)。“消屏”輔助循環(huán)程序中包含子延時(shí)程序。其實(shí),整個(gè)“消屏”循環(huán)便是以延時(shí)程序做主體來運(yùn)行“等待”的——等待時(shí)機(jī)(如有鍵按入或某種因素引起復(fù)位)跳出“消屏”運(yùn)行程序,并“清零”標(biāo)示位 “SIGN”,回到掃描顯示主循環(huán)中去。“消屏”輔助循環(huán)程序只是為了“消屏” ——數(shù)碼管及LED指示燈中的幾個(gè)或全部不亮,而不影響系統(tǒng)的其它功能。



          評(píng)論


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