27 矩阵键盘工程
本章节更多的视频案例讲解可以点击案例编号002800000251学习
本工程利用MDY的点拨开发板和MP801开发板(需另购矩阵键盘模块)实现
工程功能:
利用开发板中的数码管和矩阵键盘,实现数码管统计功能。需要用到5个数码管,复位后,数码管从右到左0~1位表示按下的按键序号,2~4表示按下按键次数的统计值。
【点拨开发板】
下面是点拨板的效果图,当按下2号键一次则如下显示。
当按下0号键2次则如下显示。
【MP801开发板】
MP801开发板需要另外购买矩阵键盘,并按如下连接。
下面是本工程基于点拨板的工程文件
下面是基于MP801的工程文件
下面是本工程的相关文档
!!!!矩阵键盘代码的的使用方法
http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=973
明德扬矩阵键盘模块的原理图
欢迎大家在此帖子里讨论跟本案例有关的问题
【问题1】row_index 会从0 加到3,整个过程中 key_out 会被三次赋值,最后Key_out的值肯定是{3,key_col_get},但是key_out应该是输出 按键是哪一个 这样行选不是 都只能是3了吗?假设我第一行第4个按下 最终Key_out的值就是{3,3} 这样就不对了 啊。答:key_out这个值还要结合key_vld信号要看的。只有当key_vld有效时,对应的key_out值才是有效。 本设计中,按下一次按键,虽然key_out赋值了4次,但是只有其中一次才会产生key_vld。例如,您所举的例子,当按下第一行第4个按键时,只有在第一次时才会产生key_vld,此时对应的值为{0,3},刚好是第一行第4个。