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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 試驗8 ---------小鍵盤控制的數(shù)字顯示

          試驗8 ---------小鍵盤控制的數(shù)字顯示

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

          試驗8---------小鍵盤控制的數(shù)字顯示

          本試驗示例了鍵盤監(jiān)測程序,他的執(zhí)行結(jié)果為;通電后,如果按小鍵盤p3.2那么數(shù)碼管顯示0,如果按小鍵盤p3.3那么數(shù)碼管顯示1,如果按小鍵盤p3.4那么數(shù)碼管顯示2,如果按小鍵盤p3.5那么數(shù)碼管顯示3,

          該程序調(diào)試通過:

          在這個程序里我們主要用到了

          判位變量轉(zhuǎn)移指令

          JB bit,rel

          JNB bit,rel

          第一條指令是如果指定的bit位中的值是1,則轉(zhuǎn)移,否則順序執(zhí)行。同樣,我們可以這樣理解這條指令:JB bit,標號

          org 0000h
          ljmp start
          org 30h
          start: mov sp,#5fh
          mov p1,#0ffh
          CLR P2.6 ;選中p2.6右邊的數(shù)碼管
          SETB P2.7
          mov p3,#0ffh
          mov p0,#0ffh ;初始化;鍵盤口以及數(shù)碼管口全部置高清零
          l1: jnb p3.2,l2 ;如果p3.2等于低(鍵按下)那么執(zhí)行l(wèi)2
          jnb p3.3,l3 ;如果p3.3等于低(鍵按下)那么執(zhí)行l(wèi)3
          jnb p3.4,l4 ;如果p3.4等于低(鍵按下)那么執(zhí)行l(wèi)4
          jnb p3.5,l5 ;如果p3.5等于低(鍵按下)那么執(zhí)行l(wèi)5
          ljmp l1
          l2:mov p0,#28H;顯示數(shù)字0
          ljmp l1
          l3:mov p0,#7EH;顯示數(shù)字1
          ljmp l1
          l4:mov p0,#0A2H;顯示數(shù)字2
          ljmp l1
          l5:mov p0,#62H;顯示數(shù)字3
          ljmp l1
          end

          程序說明:

          怎么做到的呢?一開始,將0FFH送入P3口,這樣,P3的所有引線都處于高電平,然后執(zhí)行L1,如果P3.2是高電平(鍵沒有按下),則順序執(zhí)行JNB P3.3,L3語句,同樣,如果P3.3是高電平(鍵沒有按下),則順序執(zhí)行jnb p3.4,l4語句。這樣就不停地檢測P3.2、P3.3,p3.4,p3.5。

          如果有一次P3.2上的按鍵按下去了,則轉(zhuǎn)移到L2,l2:mov p0,#28H;顯示數(shù)字0.然后又轉(zhuǎn)去L1,再次循環(huán),

          如果有一次P3.3上的按鍵按下去了,則轉(zhuǎn)移到l3:mov p0,#7EH;顯示數(shù)字1.然后又轉(zhuǎn)去L1,再次循環(huán),



          評論


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