找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4610|回复: 0
打印 上一主题 下一主题
收起左侧

单个按键和矩阵键盘扫描学习总结

[复制链接]
跳转到指定楼层
楼主
       首先要注意的是当键盘闭合和断开的时候会产生抖动这个抖动会使你输入的数据显示的时候产生不稳定的输出,一般键盘默认为电平1,当按键闭合则输出0电平,抖动会使得电平乱跳,这时候就要在读取按键电平后多加入一段延时再重新检测一次电平如果电平还是0时候这时候才输出,延时则可跳过抖动部分,这样就形成了消抖,同理在按键断开的时候也要多加入一个松手语句,即多加入一个延时语句再重新进行一次松手判定来确定你按键是否断开了,这样就保证了按键和松键程序输出的值是稳定的。

   

消除了抖动后再看看矩阵键盘,矩阵键盘也是一个按键一个按键的扫描输入是否为0电平,为电平的按键就输出所对应的值,例如先扫描第一行则给予 P3.0端口0值其他为1,3.0到3.3方法一致,然后3.4到3.7扫描按键的电平,按键为0例如点一个按键为0,则值为0111,全部连起来则为11101110的二进制数,在判断的时候将这样的值与十六进制的0XF0进行与操作,因为0XF0转换成二进制为11110000这样得到的结果后四位都是0高4位如果有0就能利马检测到,语句中进行与操作后得到的结果与0XF0进行比较如果一样则无输入,如果不一样则检测到按键的输入,在进行读取操作。
在进行键盘扫描编程的时候要主要写好消抖,再进行扫描。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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