資料介紹
4*4矩陣鍵盤設計及源代碼
一 實驗目的
1 學習使用4X4 掃描鍵盤的設計方法;
2 實踐對比按鍵抖動對掃描鍵盤輸出的影響
二 實驗原理及說明
1、實驗原理
行信號(KEY)接到高電平,當沒有鍵按時,行線與列線(KEYSCAN)是斷開的,且行線都是高電平(1111),行信號作為FPGA的輸入端、列信號作為FPGA的輸出端。可以設置列線初始狀態為低電平(0000)。信號為從上到下的順序
當有鍵按下時,假如是K1按下,行信號與列信號接通,這時相應的行線(KEY0)變為低電平(01111),可以肯定第一行(K1,5,9,13)有鍵按下。
下面就要運用掃描的原理了:
1、因為只知道第一行有鍵按下,不知道是那個,可以設置列信號為0111,這時行信號變為(1111)(注:假設時鐘周期很短,手還沒松開,即鍵還在按下的狀態)
2、設置列信號為1011,行信號也變成(1111)
3、設置列信號為1101,行信號也變成(1111)
4、設置列信號為1110,行信號也變成(0111),這時就可以肯定是第一個鍵按下。
關鍵的工作只要調整好時鐘的頻率就可以了。
2、實驗說明
4X4掃描鍵盤只用8位數據線,可以提供16個不同的按鍵信號。這樣做的好處是:1節省FPGA管腳資源;2 系統簡單化減小電路規模;特別是在資源比較緊張,對成本要求嚴格的系統中這是一種非常流行的設計方法。在上面的實驗中同學們已經見到了掃描數碼顯示器的實用性,4X4掃描鍵盤是輸入設備,控制器來要稍微復雜一些。掌握這種程序設計方法在以后的學習工作中還是很有用武之地的。
因為一般的開關在大約20ms內信號不穩定,存在所謂的“開關抖動”,會產生多個脈沖影響電路正常工作。所以含開關輸入的設計需要做防抖動處理,在本實驗可以用20Hz的時鐘采樣實現防抖。
在設計程序時要注意時鐘的的分配;要考慮一般用手把鍵按下的時間長度等問題。如果不去抖動可以把時鐘加快,使按下鍵的時間內完成掃描處理。實際中操作與理論分析是有差別的,本實驗的目的是要下載成功而不僅是仿真通過。
三 實驗步驟
1、準備實驗前查閱本實驗相關的信息
2、構思程序設計方法
3、編寫veilog代碼同時做程序注釋
4、編譯仿真程序,與預想結果進行比較,修改程序
5、下載到實驗平臺上,觀察結果
四 實驗要求
1 輸入verilog設計文件,編譯調試通過
2 利用仿真手段進行測試
3 下載程序到實驗板,由掃描數碼管或led輸出按下的鍵盤碼
4 對比抖動的效果
五 擴展性學習
上文已說明開關防抖的必要性,在這種簡單的實際應用中做不做防抖處理沒有什么區別,但是用按鍵開關作發送串行數據的開關時就有可能出現問題。所以下文將介紹一種較實用的開關去抖方案,請同學們參考
鍵一旦被按下,deDitherCounter計數開始。計數5ms(將主時鐘分頻為小于1ms的時鐘)時將鍵盤編碼值(處理前)賦給code,計數到15ms時比較當前的鍵盤碼與10ms前的碼是否相同:如果相同,輸出keyPressed信號,如果不同不做任何處理,keyPressed信號在1ms后(計數到15)重新拉低。而輸出的鍵盤碼code在第5毫秒時就變為有效值,直到下一次按鍵后的5ms才會重新變為新的值,從而保證在keyPressed信號輸出有效時code信號是有效的。
六 管腳映射
原理圖見實驗原理
管腳映射
擴展信號名稱 PIN
Key0 Pin_44
Key1 Pin_43
Key2 Pin_45
Key3 Pin_48
Keyscan0 Pin_47
Keyscan1 Pin_64
Keyscan2 Pin_65
更多矩陣鍵盤知識請訪問http://www.1cnz.cn/zhuanti/20111025226587.html
Keyscan3 Pin_50
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- 数码管显示4X4键盘矩阵按键 PROTEUS 和51单片机教程(附仿真文件+源代码)42次下载
- 4*4矩阵键盘驱动程序7次下载
- 一种4*4矩阵键盘实现16个按键操作的设计资料下载13次下载
- 4X4矩阵键盘的应用仿真电路图和keil程序免费下载38次下载
- 数码管显示4X4键盘矩阵按键的仿真原理图免费下载49次下载
- 4×4键盘矩阵控制条形LED显示的仿真电路图合集免费下载18次下载
- 两个4×4键盘矩阵控制条形LED显示的电路原理图免费下载30次下载
- 使用单片机实现矩阵键盘的源代码和工程文件免费下载11次下载
- 使用单片机实现4x4矩阵键盘的程序免费下载12次下载
- 使用51单片机设计4X4矩阵键盘的程序免费下载16次下载
- 4×4键盘矩阵按键电路图和HEX资料免费下载35次下载
- 4个重要算法C语言实现源代码13次下载
- 基于单片机的12864图形温度计+矩阵键盘_源代码5次下载
- 4x4矩阵键盘程序及原理图PCB0次下载
- 基于51单片机对4*4矩阵键盘扫描86次下载
- 使用单片机设计实现键盘的资料和源代码概述3320次阅读
- 微雪电子4x4矩阵式按键模块小键盘简介3182次阅读
- 英创信息技术工控主板扩展4×5矩阵键盘介绍2507次阅读
- 51单片机对矩阵键盘实现16个按键操作的电路设计31425次阅读
- 51单片机对矩阵键盘实现16个按键操作的设计37163次阅读
- 基于51单片机的4*4矩阵键盘字符输入10955次阅读
- 什么是矩阵键盘?4*4键盘的原理软件设计分析40097次阅读
- 基于AT89S51的4×4 矩阵键程序设计2874次阅读
- 4*4键盘数码管显示程序解析7547次阅读
- 4x4矩阵键盘工作原理及扫描程序243873次阅读
- 矩阵式键盘使用方法26513次阅读
- 一文看懂矩阵键盘的特点及工作方式38979次阅读
- 矩阵键盘有什么用_矩阵键盘有何用途17170次阅读
- 基于FPGA的矩阵键盘控制器的设计5230次阅读
- 单片机4×4矩阵键盘设计方案24840次阅读
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1497次下載 | 免費
- 2TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 3單片機典型實例介紹
- 18.19 MB | 99次下載 | 1 積分
- 4S7-200PLC編程實例詳細資料
- 1.17 MB | 28次下載 | 1 積分
- 5筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 6開關電源原理及各功能電路詳解
- 0.38 MB | 14次下載 | 免費
- 79天練會電子電路識圖
- 5.91 MB | 6次下載 | 免費
- 8100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 6接口電路圖大全
- 未知 | 30321次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21540次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537794次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論