在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

矩陣鍵盤實現16個按鍵操作原理及應該方案

貿澤電子設計圈 ? 來源:互聯網 ? 作者:佚名 ? 2017-09-08 13:54 ? 次閱讀

矩陣鍵盤是單片機外部設備中所使用的排布類似于矩陣的鍵盤組。矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。矩陣鍵盤的優點是節約單片機IO口,例如普通鍵盤8個IO口只能用作8個按鍵,而矩陣鍵盤能作16個按鍵。

本文以51單片機為載體介紹一種4*4矩陣鍵盤實現16個按鍵操作的原理、電路和軟件設計要點。

1、 矩陣鍵盤的一般電路

如圖 1矩陣鍵盤電路所示,4*4矩陣鍵盤有4行4列按鍵,單片機4個I/O口接矩陣鍵盤的行線,另外4個I/O口接矩陣鍵盤的列線,通過對行線列線的操作完成按鍵的識別和操作。

2、 矩陣鍵盤的原理

矩陣鍵盤按鍵識別的流程一般是這樣的:(1)置第1行為低電平(0),其余行為高電平,讀取列線數據,列線有低電平表示此行有按鍵按下。(2)置第2行為低電平(0),其余行為高電平,讀取列線數據,列線有低電平表示此行有按鍵按下。......(N-1)根據行線列線的電平不同可以識別是否有按鍵按下,哪一個按鍵按下,獲取按鍵號。(N) 根據按鍵號跳轉至對應的按鍵處理程序。

3、 一個矩陣鍵盤程序的例子

圖2為按鍵處理的主流程,思路是依次拉低按鍵的各個行,再讀取列線的數據,假如列線有低電平,則認為此行有按鍵按下,標記此行有按鍵按下并存入行值。

讀取列線數據的思路則是這樣,依次讀取第1-4列,假如讀取此列時為低電平,則標記并存入列值。

下面是部分代碼:

//(1)按鍵識別程序void key() //按鍵掃描{unsigned char key_value_temp; //臨時按鍵值,默認1111 1111(二進制)key_value=0xff;

//鍵值key_value_temp=0xff; //鍵值臨時變量//矩陣鍵盤程序流程//依次拉低第1234行,讀入列線數據Pin_r_1=0; Pin_r_2=1;Pin_r_3=1;Pin_r_4=1; //拉低第1行。//Pin_r_1第1行行線,Pin_r_2第2行行線,其余類似key_value_temp=read_column();//讀列數據if (key_value_temp != 0xff)

//表示第一行有按鍵按下{key_value=key_value_temp & 0x1f;//獲取按鍵號,例如0001

1101表示第1行第2列的按鍵按下}Pin_r_1=1; Pin_r_2=0;Pin_r_3=1;Pin_r_4=1; //拉低第2行key_value_temp=read_column();//讀列數據if (key_value_temp != 0xff)

//表示第2行有按鍵按下{key_value=key_value_temp &0x2f;}Pin_r_1=1; Pin_r_2=1;Pin_r_3=0;Pin_r_4=1; //拉低第3行key_value_temp=read_column();//讀列數據if (key_value_temp != 0xff)

//表示第3行有按鍵按下{key_value=key_value_temp &0x3f;}Pin_r_1=1; Pin_r_2=1;Pin_r_3=1;Pin_r_4=0; //拉低第4行key_value_temp=read_column();//讀列數據if (key_value_temp != 0xff)

//表示第4行有按鍵按下{key_value=key_value_temp &0x4f;}}//(2)讀取列線數據unsigned char read_column() //讀矩陣鍵盤的列{unsigned char key_column;key_column=0xff;if(Pin_c_1==0 ) key_column=key_column & 0xfe;//1110

表示第1列按鍵按下。 key_column的低4位表示按鍵號,高4位常為1111if(Pin_c_2==0 ) key_column=key_column & 0xfd;//1101

表示第2列按鍵按下。if(Pin_c_3==0 ) key_column=key_column & 0xfb;//1011

表示第3列按鍵按下。if(Pin_c_4==0 ) key_column=key_column & 0xf7;//0111

表示第4列按鍵按下。return key_column;}以上程序對應的鍵值表如下:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 矩陣鍵盤
    +關注

    關注

    7

    文章

    207

    瀏覽量

    31978
  • 矩陣鍵盤電路

    關注

    0

    文章

    4

    瀏覽量

    8278

原文標題:一種單片機矩陣鍵盤設計,實在是太實用了~~~~

文章出處:【微信號:Mouser-Community,微信公眾號:貿澤電子設計圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    HarmonyOS應用自定義鍵盤解決方案

    自定義鍵盤是一種替換系統默認鍵盤的解決方案,可實現鍵盤個性化交互。允許用戶結合業務需求與操作習慣
    的頭像 發表于 06-05 14:19 ?368次閱讀

    ADP5587移動I/O擴展器和QWERTY鍵盤控制器技術手冊

    無需監控鍵盤,從而將電流消耗降至較低,并增加了處理器帶寬。ADP5587 還配有緩沖器/FIFO 和按鍵事件計數器,借助溢出換行和中斷功能,可處理和跟蹤多達 10 未處理的按鍵或 G
    的頭像 發表于 05-22 11:08 ?135次閱讀
    ADP5587移動I/O擴展器和QWERTY<b class='flag-5'>鍵盤</b>控制器技術手冊

    基于Nordic nRF52840無線鍵盤、鼠標物聯網解決方案

    光學或激光傳感器,提供準確的指針控制和靈敏的滾輪操作,讓用戶獲得更好的操控體驗。 3、舒適設計:注重人體工程學設計,無線鍵盤提供舒適的按鍵感受和手感,減少用戶長時間操作的疲勞感。 4、
    發表于 03-25 17:44

    KEY按鍵靜電保護方案

    方案簡介 KEY按鍵是電子設備中常見的輸入設備之一,其原理簡單,常見于許多應用,包括手機、汽車和人機界面 (HMD)。KEY按鍵通常由按鍵帽、彈簧、觸點等部分組成。當
    的頭像 發表于 02-25 16:24 ?451次閱讀
    KEY<b class='flag-5'>按鍵</b>靜電保護<b class='flag-5'>方案</b>

    4按鍵,3GPIO如何實現按下指示燈閃爍

    電路如果圖,現在怎么操作才可以實現按下4按鍵有效,請大神寫一程序或者說寫按鍵檢測程序。我怎
    發表于 02-18 16:50

    AN-660:XY矩陣鍵盤與MicroConverter的接口

    電子發燒友網站提供《AN-660:XY矩陣鍵盤與MicroConverter的接口.pdf》資料免費下載
    發表于 01-13 16:02 ?0次下載
    AN-660:XY<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>與MicroConverter的接口

    開發第1LVGL程序與實現按鍵操作

    開發第1LVGL程序與實現按鍵操作
    的頭像 發表于 01-07 13:49 ?2491次閱讀
    開發第1<b class='flag-5'>個</b>LVGL程序與<b class='flag-5'>實現</b><b class='flag-5'>按鍵</b><b class='flag-5'>操作</b>

    求解答!用STC89C51系列數字秒表

    ,繼續計秒鍵,歸零鍵,通過上述按鍵,完成計秒功能 2.使用矩陣鍵盤結合8位LED數碼管和蜂鳴器,能夠實現100以內數字的加減乘除運算,顯示結果,每按下
    發表于 12-08 16:48

    矩陣4x4按鍵,如何把識別結果按編號01-16(十進制)顯示在兩七段數碼管上?

    矩陣4x4按鍵,并把識別結果按編號01-16(十進制)顯示在兩七段數碼管上,按鍵按下時顯示,
    發表于 10-31 20:43

    MATLAB中的矩陣索引

    矩陣進行索引是從矩陣中選擇或修改部分元素的一種方式。MATLAB 有幾種索引樣式,它們不僅功能強大、靈活,而且可讀性強、表現力強。矩陣是 MATLAB 用來組織和分析數據的一核心組
    的頭像 發表于 09-05 09:28 ?989次閱讀
    MATLAB中的<b class='flag-5'>矩陣</b>索引

    如何在FPGA中實現按鍵消抖

    在FPGA(現場可編程門陣列)中實現按鍵消抖是一重要的設計環節,特別是在處理用戶輸入時,由于物理按鍵的機械特性和電氣特性,按鍵在按下和釋放
    的頭像 發表于 08-19 18:15 ?3321次閱讀

    開源項目!基于 Arduino DIY 漂亮的宏機械鍵盤

    。 接下來,我們將要制作的這款鍵盤擁有 12 按鍵,你可以根據自己的喜好和需求,將這些按鍵與所需的快捷鍵進行關聯。盡管這個項目聽起來可能有些復雜,但實際上無論是電子部分還是軟件部分,
    發表于 08-19 17:02

    【xG24 Matter開發套件試用體驗】物聯網密碼柜之驅動矩陣鍵盤和OLED顯示器

    ) display_password(oled, password) time.sleep(0.01)# 防止CPU占用過高 階段性總結 本次使用circuitpython實現了對矩陣鍵盤和Oled顯示屏的驅動以及密碼校驗部
    發表于 08-04 23:04

    磁軸鍵盤霍爾開關MST-MH481霍爾磁軸機械鍵盤

    磁軸鍵盤是一種利用霍爾效應進行觸發的鍵盤,與傳統的機械鍵盤有所不同。磁軸鍵盤的軸體采用了霍爾效應技術,可以更快速、更穩定地觸發按鍵,同時也具
    的頭像 發表于 06-22 08:07 ?1247次閱讀
    磁軸<b class='flag-5'>鍵盤</b>霍爾開關MST-MH481霍爾磁軸機械<b class='flag-5'>鍵盤</b>

    鍵盤矩陣規格設計圖

    鍵盤矩陣規格設計圖
    發表于 06-19 14:29 ?0次下載
    主站蜘蛛池模板: 丁香四月婷婷 | 国产在视频线精品视频2021 | aaa免费视频 | 黄录像欧美片在线观看 | 永久免费视频网站在线观看 | 成人三级毛片 | 给我免费播放片黄色 | 在线小毛片 | 在线永久免费观看黄网站 | 亚洲1234区乱码 | 久久婷婷色 | 加勒比色综合 | 黄在线看 | 亚洲人成伊人成综合网久久 | 两性色午夜视频自由成熟的性 | 污视频18高清在线观看 | 视频黄色免费 | 免费观看欧美一级高清 | 亚洲午夜网未来影院 | 玖玖玖精品视频免费播放 | 好男人社区www的视频免费 | 成人看的一级毛片 | 国产成人精品三级在线 | 一色屋精品免费视频 视频 一色屋免费视频 | 5252a我爱haose01亚洲 | 夜夜操夜夜骑 | 女人被狂躁视频网站免费 | 毛片高清一区二区三区 | 国语一级毛片私人影院 | 特级毛片aaaa级毛片免费 | 天堂网www天堂在线资源链接 | 欧美刺激午夜性久久久久久久 | 韩国三级理论在线观看视频 | 亚洲综合色就色手机在线观看 | 一级片视频播放 | 午夜在线观看视频 | 美女在线看永久免费网址 | 男女性生动态免费视频 | 欧美一卡二卡科技有限公司 | 俺来也婷婷 | 日本一区二区在线视频 |