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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PIC單片機用于LCD段驅(qū)動器的鍵盤接口

          PIC單片機用于LCD段驅(qū)動器的鍵盤接口

          作者: 時間:2018-09-13 來源:網(wǎng)絡 收藏

          4×4小鍵盤的典型數(shù)字接口使用8個數(shù)字I/O引腳。但使用8個引腳作為數(shù)字I/O會占用可用于連接LCD的段驅(qū)動器引腳的數(shù)量。

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

          通過使用2個數(shù)字I/O引腳和2個模擬輸入引腳,可以向添加一個4×4小鍵盤,而無需犧牲它的任何引腳。

          下圖中顯示了小鍵盤連接示意圖。示例中使用的是PIC18F8490,但該技術(shù)可以用于任意LCDPIC MCU。

          圖中使用的兩個數(shù)字I/O引腳是RBO和RB5,也可以使用任意兩個其他的數(shù)字I/O引腳。所使用的兩個模擬引腳是ANO和AN1。


          要讀取小鍵盤,請遵循以下步驟:

          1.首先,將RBO設計為輸出高電平,將RB5設為輸入(呈高阻抗)。

          2.執(zhí)行兩次連續(xù)的A/D轉(zhuǎn)換,先轉(zhuǎn)換ANO.然后轉(zhuǎn)換AN1。

          3。將轉(zhuǎn)換結(jié)果保存到它們各自的變量中:例如,RBO-ANO-Result和RBO-ANl-Result。

          4.然后,將RB5設為輸出高電平,將RBO設為輸入(呈高阻抗)。

          5.執(zhí)行兩次連續(xù)的A/D轉(zhuǎn)換,先轉(zhuǎn)換ANO,然后轉(zhuǎn)換AN1。

          6.將轉(zhuǎn)換結(jié)果保存到它們各自的變量中:例如,RB5-ANO-Result和RB5-ANl-Result。

          7.現(xiàn)在,共有4個變量,代表在4×4小鍵盤的每個象限的一次按鍵操作:


          8.最后,按照下表的相應欄檢查每個值。如果它處于某個值的+/-10%范圍內(nèi),則可以認為相應的鍵已被按下。

          9.該循環(huán)應當大約每隔20ms重復一次。不要忘記執(zhí)行按鍵彈出處理程序。例如,要求在以上步驟連續(xù)兩次返回同一鍵值(之間有20 ms的延時)時,才將該鍵視為被按下。同樣要求在至少兩次返回未按下任何鍵時,才可以開始下一次按鍵操作。當同一象限內(nèi)的幾個鍵同時被按下時,可能會產(chǎn)生表3中顯示的4種有效電平之外的電壓??梢院雎赃@些電平,或者如果希望通過使用同時按鍵來使能某些功能,也可以添加針對這些電平的解碼過程。




          評論


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