• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

    作者: 時間:2018-09-13 來源:網絡 收藏

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

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

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

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

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


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

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

    2.執行兩次連續的A/D轉換,先轉換ANO.然后轉換AN1。

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

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

    5.執行兩次連續的A/D轉換,先轉換ANO,然后轉換AN1。

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

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


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

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




    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 南平市| 建湖县| 姚安县| 连江县| 通山县| 佛坪县| 永定县| 淳化县| 林周县| 安新县| 洪雅县| 宁强县| 海口市| 德令哈市| 贡嘎县| 溧阳市| 通渭县| 时尚| 连云港市| 梁平县| 金堂县| 同仁县| 镇赉县| 金坛市| 修文县| 德令哈市| 多伦县| 扎兰屯市| 晋江市| 舞阳县| 洛川县| 万州区| 个旧市| 罗山县| 新宾| 呼和浩特市| SHOW| 色达县| 晋江市| 莎车县| 隆化县|