当前位置:网站首页>单片机人机交互--矩阵按键
单片机人机交互--矩阵按键
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【下方分享一些免费教程资料,大家感兴趣的可以看一下】:
边栏推荐
- web 性能提升(将持续更新……)
- 【考虫 六级英语】语法课笔记
- Is there a way out in the testing industry if it is purely business testing?
- NOR FLASH闪存芯片ID应用之软件保护场景
- HW-蓝队工作流程(1)
- 线上突然查询变慢怎么核查
- 报错:Client does not support authentication protocol requested by server; consider upgrading MySQL cli
- 10. Notes on receiving parameters
- 详解JDBC的实现与优化(万字详解)
- CF1534F2-Falling Sand (Hard Version)
猜你喜欢
Server Tips
Jvm. Profiling tools (jconsole, jvisualvm, arthas, jprofiler, mat)
sqlmap combined with dnslog fast injection
深度解析volatile关键字(保证够全面)
报错:Client does not support authentication protocol requested by server; consider upgrading MySQL cli
11. 自定义转换器
如何破坏Excel文件,让其显示文件已损坏方法
I caught a 10-year-old Ali test developer, and after talking about it, I made a lot of money...
3. 容器功能
“蔚来杯“2022牛客暑期多校训练营2 DGHJKL题解
随机推荐
【.NET Core】使用 NPOI 读写Excel 文件
SQL injection base - order by injection, limit, wide byte
rhel7.0解决yum无法使用(system is not registered to Red Hat Subscription Management)
Based on the SSM to reach the phone sales mall system
② 关系数据库标准语言SQL 数据定义(创建、修改基本表)、数据更新(增删改)
软件测试证书(1)—— 软件评测师
【js】获取当前时间的前后n天或前后n个月(时分秒年月日都可)
SAS data processing technology (1)
深度解析volatile关键字(保证够全面)
虚拟电厂可视化大屏,深挖痛点精准减碳
Introduction to Qt (6) - Implementation of the lottery system
Lens filter---about day and night dual-pass filter
WebView2 通过 PuppeteerSharp 实现RPA获取壁纸 (案例版)
百战RHCE(第四十八战:运维工程师必会技-Ansible学习3-构建Ansible清单)
Jvm.分析工具(jconsole,jvisualvm,arthas,jprofiler,mat)
复制带随机指针的链表——LeetCode
sqlmap combined with dnslog fast injection
两个数组的交集
ArcGIS Pro 创建tpk
The Missing Semester of Your CS Education