集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1725|回复: 4

矩阵键盘

[复制链接]
zxw123 发表于 2021-8-22 20:57:40 | 显示全部楼层 |阅读模式
矩阵键盘电路原理:
(1):row 和 col 都作为硬件电路输入
(2):row 和 col 都作为硬件电路输出
(3):row 作为硬件电路的输入,col 作为硬件电路的输出
(4):row 作为硬件电路的输出,col 作为硬件电路的输入
1 不按按键时,row 信号就是逻辑 1,col 输入时,如果全部为 1 时,那么按下时 row
信号反馈出来也是 1,就不能区分对应的按键按下还是没按下。
2 不按按键时,row 信号依然是逻辑 1,col 输入时,如果全部给 0 时,那么按下时
row 信号反馈的是 0,但是不能够得到到底是这一行中哪一列对应的按键按下。
3 不按按键时,row 信号依然是逻辑 1,当按下按下时,采用低电平的列扫描
(col=4’b0111),如果扫描当前列时,反馈有对应的行信号不为 4 个 1,该列对应的有按键
按下,就看哪一个行信号反馈的是 0,那么就可以确保到底是哪一个按键按下了。如果扫描
当前列时,没有行信号反馈(4 个行信号都是 1),换下一列继续扫描(col=4’b1011)... 实现过程分析:
A. 如果有按键按下,行信号(ROW!=4’b1111)反馈不为 4 个 1,如果没有按键按下,那
么行信号(ROW==4’b1111)反馈为 4 个 1。
B. 对按下的按键进行消抖(软件消抖:>=10ms)
C. 先准备一个低电平列扫描(col=4’b0111),如果在当前列(col=4’b0111),行信号反馈
不是 4’b1111,那么就在当前列中,就保存当前按键所在的位置。如果不在当前列
(col=4’b0111),行信号反馈是 4’b1111,那么就不在当前列,换下一列继续扫描
(4’b1011),看行信号反馈的是 4’b1111 还是不是 4’b1111,如果不是 4’b1111,就在当
前列,就保存当前按键所在的位置(按键对应行和列).... D. 对抬起的按键进行消抖(软件消抖:>=10ms):在
dameihuaxia 发表于 2021-8-23 14:31:46 | 显示全部楼层
一种遥控式可存储的图像采集系统的设计与实现
http://www.fpgaw.com/forum.php?m ... 2&fromuid=58166
(出处: fpga论坛|fpga设计论坛)
lihongkun16 发表于 2021-8-23 15:59:04 | 显示全部楼层
矩阵键盘              
dameihuaxia 发表于 2021-9-4 15:20:25 | 显示全部楼层
Quartus II18.0破解安装教程
http://www.fpgaw.com/forum.php?m ... 9&fromuid=58166
(出处: fpga论坛|fpga设计论坛)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-1 13:39 , Processed in 0.062656 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表