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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 課程設計:矩陣鍵盤掃描(匯編)

          課程設計:矩陣鍵盤掃描(匯編)

          作者: 時間:2016-11-18 來源:網(wǎng)絡 收藏

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

          //比較簡單的匯編矩陣鍵盤掃描程序
          //P2口高四位接列線,第四位接行線

          //源程序和proteus仿真我一打包,地址:http://proteus.5d6d.com/thread-9013-1-1.html
          ORG0000H
          AJMPMAIN

          ORG0030H
          MAIN:MOVP2,#0F0H;給列送高電平
          LCALLDELAY;延時,使電路穩(wěn)定下來
          MOVR4,00H
          MOVA,P2;取P2口的值
          ANLA,#0F0H;屏蔽行線的影響
          CJNEA,#0F0H,L;如果有鍵按下,就跳轉(zhuǎn)到L
          DESPLAY:
          MOVA,R7
          MOVDPTR,#TABLE
          MOVCA,@A+DPTR
          MOVP1,A
          AJMPMAIN

          L: LCALLDELAY;延時去除抖動
          MOVA,P2;重新取值
          JBACC.4,L1;P2.4這一列有鍵按下?沒有則跳轉(zhuǎn)到L1
          MOVR3,#00H;R3用作記列號
          AJMPQ1

          L1: JBACC.5,L2
          MOVR3,#01H
          AJMPQ1

          L2: JBACC.6,L3
          MOVR3,#02H
          AJMPQ1

          L3:JBACC.7,MAIN
          MOVR3,#03H
          AJMPQ1

          Q1: MOVP2,#0FH;給行送高電平
          LCALLDELAY;延時,穩(wěn)定電路
          MOVA,P2;取值
          ANLA,#0FH;屏蔽高四位
          JBACC.0,Q2;判斷是不是第0行,不是則轉(zhuǎn)移
          MOVR4,#00H;如果是,那把0送給R4(R4存行(轉(zhuǎn)換為鍵號))
          AJMPJIA

          Q2: JBACC.1,Q3
          MOVR4,#04H
          AJMPJIA

          Q3: JBACC.2,Q4
          MOVR4,#08H
          AJMPJIA

          Q4: JBACC.3,MAIN
          MOVR4,#0CH
          AJMPJIA

          JIA: MOVA,R3 ;行號加上列號就是改鍵的值
          ADDA,R4
          MOVR7,A;調(diào)整后放在R7寄存器中
          AJMPMAIN

          DELAY:MOVR6,#20H;仿真時測試延時為13ms

          Q6: MOVR5,#0BBH
          DJNZR5,$
          DJNZR6,Q6
          RET

          //下面為0-f的字形表
          TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H
          DB7CH,39H,5EH,79H,71H;

          END



          評論


          技術專區(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); })();