色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

3天內(nèi)不再提示

基于FPGA的4x4矩陣鍵盤驅(qū)動設(shè)計

CHANBAEK ? 來源:哈勒昆 ? 作者:沈長棋 ? 2023-07-23 11:41 ? 次閱讀

本次設(shè)計采用FPGA驅(qū)動4x4矩陣鍵盤,這個原理其實很簡單,但是我在做的時候曾經(jīng)理解錯了一個地方,導(dǎo)致走了一天的彎路,因為感覺比較有意思,所以想在這分享一下。

014x4矩陣鍵盤驅(qū)動原理

首先看一下矩陣鍵盤的原理圖,矩陣鍵盤的原理與獨立按鍵類似,可以將單獨的一行或一列當做一個獨立按鍵使用。圖中的row_one ~ row_four表示矩陣鍵盤的四行,col_one~col_four表示矩陣鍵盤的四列。

圖片

矩陣鍵盤的掃描識別可以通過行列掃描來完成,首先我們先將4行的I/O口(row_one、row_two、row_three、row_four)全部輸出高電平,4列的I/O口(col_one、col_two、col_three、col_four)全部輸出低電平,若是這4行按鍵里有按鍵按下,那么按鍵按下的那一行對應(yīng)的I/O口電平就會被拉低,這樣我們就能確定按下按鍵的行坐標。接下來便需要確定列坐標,獲取列坐標的方法與行坐標的方法類似,就是先讓4行的I/O口全部輸出低電平,4列的I/O口全部輸出高電平,這樣按鍵按下的那一列I/O口的電平就會被拉低,這樣我們便確定了對應(yīng)的列坐標,如此便能獲取到對應(yīng)按下按鍵的行列坐標。

02設(shè)計思路

這里需要討論的便是如何實現(xiàn)4×4矩陣鍵盤的程序,其邏輯流程圖如下圖所示。首先需要定義8個輸出端口,分別表示四行四列,然后先讓四行的I/O輸出高電平,四列的I/O輸出低電平,這是初始狀態(tài)。然后便是編寫消抖程序,當有按鍵按下時,首先便是進行消抖,利用狀態(tài)機編寫消抖程序,識別判斷當前狀態(tài)是否為抖動。確定為按鍵按下后便開始判斷4行中哪一行的電平被拉低,這樣便能確定是哪一行的按鍵被按下,這里需要定義一個表示行的標志位,用來標志是哪一行按鍵按下。隨后便將四行的I/O輸出低電平,四列的I/O輸出高電平,然后便開始逐列判斷哪一列的電平被拉低,如此便能判斷按下按鍵的列坐標。此處也需要定義一個表示列的標志位。最后便是綜合判斷,通過行的標志位和列的標志位來判斷按下按鍵的行列坐標,如此便確定具體按下的按鍵。

圖片

接下來看程序(此處分享的程序為沒有帶按鍵消抖的,只是按照矩陣鍵盤的掃描識別思路大致寫了一下),首先是端口的定義,定義四行四列,但是有一點,原理上講解的是輸出電平,在這里這四個端口先定義為輸入狀態(tài),因為這不是頂層文件,在頂層文件中再定義為輸出。然后定義的key_lock為輸出控制端,我這里是利用矩陣鍵盤設(shè)置的密碼鎖,每一個矩陣按鍵對應(yīng)一個鍵值,當按下四個按鍵對應(yīng)密碼正確時,key_lock輸出高電平。key_row_flag為行標志位,當檢測到第一行的按鍵被按下時標志位置1,當?shù)谝恍械陌存I被按下時標志位置2,同理,第三行置3第四行便置4。key_col_flag為列標志位,原理與行標志位一樣。然后row_flag與col_flag為行掃描標志位與列掃描標志位,當row_flag為1時進行行掃描,當col_flag為1時進行列掃描。key_output為輸出按下對應(yīng)按鍵的鍵值。key_row_col為當前掃描狀態(tài),為1時表示行掃描結(jié)束,為2時表示列掃描結(jié)束,標志列掃描結(jié)束后便開始獲取按鍵的鍵值。

圖片

接下來便開始看行掃描,行掃描和列掃描初始狀態(tài)為row_flag為1、col_flag為0。然后開始捕捉四行的引腳哪一行的引腳出現(xiàn)下降沿置0,若有一行的引腳被拉低置0時,行標志位立刻記下是第幾行被拉低,然后行列狀態(tài)標志位便置1,行掃描標志位row_flag清零,列掃描標志位置1,開始進入列掃描。

圖片

然后就是列掃描,在列掃描中與行掃描原理一樣,檢測每一列引腳的電平,若其中一列的電平被拉低,則列標志位立刻記錄被拉低的列數(shù)為第幾列,然后恢復(fù)行掃描標志位準備進入下一輪掃描,同時將列掃描標志位清零,行列狀態(tài)標志位置2,準備進入判斷按下按鍵鍵值模式。

圖片

接下來便是開始判斷按下按鍵的鍵值,因為我這里只需要0~9這十個數(shù)字,而矩陣鍵盤有16個按鍵,所以寫的稍微簡單一點。從第一行第一列開始為1,第一行第二列為2,后面的依次類推。將第四列和第四行的鍵值全部設(shè)置的為0。這里進入判斷鍵值的條件為行列標志位key_row_col置2,也就是必須在列掃描完成之后才能進入判斷。

圖片

這里在鍵值判斷完成之后便是將當前獲取的鍵值存儲起來。這里因為行列標志位key_row_col比按鍵輸出鍵值key_output差了一個時鐘周期,所以賦值錯誤,然后我便重新定義了一個寄存器key_row_col_r用來過渡一下。下面定義的one起初是為了在key_row_col為2時不重復(fù)賦值才寫的,是為了避免賦值后面輸出的按鍵鍵值,也就是20ns的周期中只進去賦值一次,但是后面發(fā)現(xiàn)了時序相差一個時鐘周期便在else中加入了那段,還未解決便定義了寄存器key_row_col_r,這才得以解決。

圖片

圖片

圖片

最后便是設(shè)置密碼,輸出控制部分。此處將密碼設(shè)置為2653。

圖片

接下來便是波形仿真部分,在這里寫入2653每一個鍵值對應(yīng)按鍵的行列坐標便可。仿真腳本文件寫好之后便可導(dǎo)入仿真。

圖片

圖片

圖片

圖片

03仿真波形

在仿真波形圖中根據(jù)寫入的對應(yīng)鍵值來觀察行、列標志位中的行列坐標是否正確,然后根據(jù)行列坐標來觀察按鍵輸出鍵值key_output是否一致,key_temp系列的值為存儲的四位密碼,當每一位與設(shè)置的密碼一致時,key_lock輸出高電平。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21954

    瀏覽量

    613884
  • 原理圖
    +關(guān)注

    關(guān)注

    1321

    文章

    6404

    瀏覽量

    238996
  • 矩陣鍵盤
    +關(guān)注

    關(guān)注

    7

    文章

    207

    瀏覽量

    31929
  • 驅(qū)動設(shè)計
    +關(guān)注

    關(guān)注

    1

    文章

    111

    瀏覽量

    15479
收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載19:4X4矩陣按鍵電路

    `勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載19:4X4矩陣按鍵電路特權(quán)同學,版權(quán)所有配套例程和更多資料下載鏈接:http://pan.baidu.com/s/1i5LMUUD FPGA
    發(fā)表于 11-03 18:46

    基于FPGA4x4鍵盤矩陣

    基于FPGA4x4鍵盤矩陣
    發(fā)表于 12-14 01:26

    【案例分享】基于FPGA4x4矩陣鍵盤驅(qū)動調(diào)試

    首先找了本書看了下矩陣鍵盤驅(qū)動原理,一般來說4x4矩陣鍵盤的原理圖如下,有四根行線和四根列線,
    發(fā)表于 07-09 08:30

    如何接口矩陣4x4鍵盤接口與spartan 3e fpga

    嗨,請幫我接口矩陣4x4鍵盤接口與spartan 3e fpga,描述fpga上要使用的引腳和要寫入的代碼。
    發(fā)表于 11-11 11:51

    帶有stm32的宏鍵盤4x4矩陣

    描述帶有stm32的宏鍵盤4x4矩陣
    發(fā)表于 08-16 06:48

    4X4鍵盤程序

    4X4鍵盤程序 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key
    發(fā)表于 10-17 15:15 ?1387次閱讀

    4x4矩陣鍵盤程序及原理圖PCB

    4x4矩陣鍵盤程序及原理圖PCB,供大家下載。
    發(fā)表于 12-21 18:25 ?0次下載

    4x4矩陣鍵盤工作原理及掃描程序

    矩陣鍵盤的動態(tài)掃描確實略顯復(fù)雜,不可能就是讀一個端口數(shù)據(jù),然后馬上就出來結(jié)果。這需要對依次每一行的按鍵進行掃描、判斷,然后得出結(jié)果。本文主要介紹了矩陣鍵盤掃描以及
    的頭像 發(fā)表于 02-24 15:30 ?24.4w次閱讀
    <b class='flag-5'>4x4</b><b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>工作原理及掃描程序

    使用單片機實現(xiàn)4x4矩陣鍵盤的程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)4x4矩陣鍵盤的程序免費下載。
    發(fā)表于 08-20 17:31 ?12次下載
    使用單片機實現(xiàn)<b class='flag-5'>4x4</b><b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的程序免費下載

    使用51單片機實現(xiàn)4x4矩陣鍵盤的程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機實現(xiàn)4x4矩陣鍵盤的程序免費下載。
    發(fā)表于 07-04 17:41 ?11次下載
    使用51單片機實現(xiàn)<b class='flag-5'>4x4</b><b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的程序免費下載

    使用51單片機設(shè)計4X4矩陣鍵盤的程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機設(shè)計4X4矩陣鍵盤的程序免費下載。
    發(fā)表于 06-27 17:42 ?16次下載
    使用51單片機設(shè)計<b class='flag-5'>4X4</b><b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的程序免費下載

    微雪電子4x4矩陣式按鍵模塊小鍵盤簡介

    4x4矩陣式按鍵模塊 16個按鍵 占用8個IO接口 提供測試程序 原理圖 型號 4x4 Keypad
    的頭像 發(fā)表于 12-30 09:27 ?3169次閱讀
    微雪電子<b class='flag-5'>4x4</b><b class='flag-5'>矩陣</b>式按鍵模塊小<b class='flag-5'>鍵盤</b>簡介

    數(shù)碼管顯示4X4鍵盤矩陣按鍵的仿真原理圖免費下載

    本文檔的主要內(nèi)容詳細介紹的是數(shù)碼管顯示4X4鍵盤矩陣按鍵的仿真原理圖免費下載。
    發(fā)表于 12-31 10:04 ?49次下載
    數(shù)碼管顯示<b class='flag-5'>4X4</b><b class='flag-5'>鍵盤</b><b class='flag-5'>矩陣</b>按鍵的仿真原理圖免費下載

    4X4矩陣鍵盤的應(yīng)用仿真電路圖和keil程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是4X4矩陣鍵盤的應(yīng)用仿真電路圖和keil程序免費下載。
    發(fā)表于 05-14 17:31 ?38次下載
    <b class='flag-5'>4X4</b><b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的應(yīng)用仿真電路圖和keil程序免費下載

    帶有stm32的宏鍵盤4x4矩陣

    電子發(fā)燒友網(wǎng)站提供《帶有stm32的宏鍵盤4x4矩陣.zip》資料免費下載
    發(fā)表于 07-28 14:19 ?5次下載
    帶有stm32的宏<b class='flag-5'>鍵盤</b><b class='flag-5'>4x4</b><b class='flag-5'>矩陣</b>
    主站蜘蛛池模板: 久久精品国产欧美成人 | 国产欧美一区二区精品仙草咪 | 我半夜摸妺妺的奶C了她软件 | 伊人久久电影院 | 免费毛片视频网站 | 一级淫片bbbxxx| 国产AV综合手机在线观看 | 国产精品一区二区亚瑟不卡 | 恋夜秀场支持安卓版全部视频国产 | 国产高清砖码区 | 色AV色婷婷96人妻久久久 | 亚洲精品久久99蜜芽尤物TV | 久久电影精品久久99久久 | 999在线观看精品免费 | 欧美人与禽ZOZO性伦交视频 | 亚洲你我色 | 成年人视频在线免费 | 厕所xxxxx| 免费撕开胸罩吮胸视频 | 年轻夫妇韩剧中文版免费观看 | 总裁呻吟双腿大开男男H | 热热久久超碰精品中文字幕 | 国产精品日本不卡一区二区 | 贵妃高h荡肉呻吟np杨玉环 | 麻婆豆腐传媒视频免费 | 777精品久无码人妻蜜桃 | 国产欧美一区二区精品仙草咪 | 在线观看国产小视频 | 麻豆精品一卡2卡三卡4卡免费观看 | 色久久久综合88一本道 | 古代又黄又肉到湿的爽文 | 久久毛片视频 | 王晶三级作品 | 嘟嘟嘟在线视频免费观看高清中文 | 陈红下面又紧又小好爽 | 在线电影一区二区 | 中文有码中文字幕免费视频 | 精品国产国产综合精品 | 国产精品热久久高潮AV袁孑怡 | 国产亚洲精品久久久久久线投注 | 欧美精品成人久久网站 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品