当前位置:网站首页>单片机人机交互--矩阵按键
单片机人机交互--矩阵按键
2022-08-11 00:23:00 【an520_】
按键是一种常开型按钮开关,与单片机的常见接法如图所示。按键未按下时两个触点断开,单片机I/O口输入高电平;当按键闭合时,I/O口输入低电平。
一、按键讲解
当I/O口为P0口时,由于没有内部上拉电阻,所以必须外接上拉电阻,当I/O口为P1、P2和P3口时,由于内部已有上拉电阻,因此可省略外接的上拉电阻。

二、按键消抖
单片机系统中所使用的键盘都是机械式的弹性按键,因为存在机械触点的弹性作用,在按键闭合和弹起的瞬间都会出现抖动,如图所示。按键抖动一般会持续5~10ms,为使一次按键仅被处理一次,必须消除按键抖动。消除按键抖动可以采用软件消抖或硬件消抖。

软件消抖指在检测到有按键闭合时,延时一小段时间之后再次检测,如果仍然检测到按键闭合,则认为按键真正闭合。
硬件消抖方法
1.R-S触发器
一旦有键按下,触发器立即反转,触点的抖动便不会再对输出产生影响,按键释放时也一样。

2.电容滤波
将电容并联在按键的两端,利用电容放电的延时特性,将产生抖动的电平通过电容吸收掉,从而达到消抖的作用;

三、独立按键
独立键盘指每个按键都占据一个独立的引脚。

四、矩阵按键
同一行上的所有按键都连接到一个引脚,同一列上的所有按键都连接到一个引脚。

(1)列扫描方式
所有行线都输出高电平,列线依次输出低电平;查询该列上行的值,若为0,则说明该行上的按键被按下;若该列上所有行的值都为1,则进行下一列行值的查询;循环往复。

(2)反转法
所有行线都输出0,查询列线上的值,若某列线上的值为0,则说明该列线上的按键被按下;然后所有列线都输出0,查询行线上的值,若某行线上的值为0,则说明该行线上的按键被按下;从而确定某行某列的按键被按下。

五、程序举例






【学习技术大群:197416462】
【网盘免费资料包,大家需要的自行领取】:
嵌入式物联网 22个STM32项目、大赛作品,【华清远见发放资料包】
http://makerschool.mikecrm.com/f4wjYBB【下方分享一些免费教程资料,大家感兴趣的可以看一下】:
边栏推荐
猜你喜欢
![[Excel知识技能] 将数值格式数字转换为文本格式](/img/fb/79d6928456f090d47f0fe7a5074979.png)
[Excel知识技能] 将数值格式数字转换为文本格式

Design and Realization of Employment Management System in Colleges and Universities

“蔚来杯“2022牛客暑期多校训练营2 DGHJKL题解

线上突然查询变慢怎么核查

web 性能提升(将持续更新……)

7. yaml

Kunpeng compilation and debugging and basic knowledge of native development tools

【考虫 六级英语】语法课笔记

Lens filter---about day and night dual-pass filter

SQL注入基础
随机推荐
Mysql.慢Sql
详谈二叉搜索树
“蔚来杯“2022牛客暑期多校训练营4 ADHK题解
力扣------使用最小花费爬楼梯
input输入框超出部分用省略号表示以及判断内容是否有超出(PC端)
微信小程序内部A页面向内嵌H5页面跳转,并且传参
"NIO Cup" 2022 Nioke Summer Multi-School Training Camp 4 ADHK Problem Solving
Call activity of Activiti7 sub-process
① 数据库介绍 及 关系型数据库的关系代数表达式
16. 文件上传
12. Handling JSON
力扣------值相等的最小索引
[21天学习挑战赛——内核笔记](五)——devmem读写寄存器调试
关于编程本质那些事
Dump file generation, content, and analysis
【考虫 六级英语】语法课笔记
HW-常见攻击方式和漏洞原理(2)
SQL injection base
百战RHCE(第四十八战:运维工程师必会技-Ansible学习3-构建Ansible清单)
CF1286E-Fedya the Potter Strikes Back【KMP,RMQ】