按键是一种常开型按钮开关,与单片机的常见接法如图所示。按键未按下时两个触点断开,单片机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,则说明该行线上的按键被按下;从而确定某行某列的按键被按下。

五、程序举例

编辑:jq
-
电阻
+关注
关注
88文章
5839浏览量
180146 -
触发器
+关注
关注
14文章
2065浏览量
63627 -
P0口
+关注
关注
1文章
16浏览量
9624 -
单机片
+关注
关注
0文章
59浏览量
12960
发布评论请先 登录
电子工程师视角下的 4X4 V/O 换挡器组件设计
探索HMC596LP4/LP4E:0.2 - 3.0 GHz SMT CMOS 4x2开关矩阵的卓越性能
探索MAX25503:4 x 24汽车LED矩阵驱动器的卓越性能
探索DS90CP04:1.5 Gbps 4x4 LVDS交叉点开关的卓越性能
解析SN65LVDS125A和SN65LVDT125A:4x4非阻塞交叉点开关的卓越性能
探索SN65LVDS125A和SN65LVDT125A:4x4非阻塞交叉点开关的卓越性能
探索SN65LVDS250和SN65LVDT250:高性能LVDS 4x4交叉点开关
深入解析SN65LVDS250与SN65LVDT250:高性能4x4 LVDS交叉点开关
探索SN65LVCP404:高性能千兆4x4交叉点开关的技术剖析
深入剖析DS10CP154A:1.5 Gbps 4x4 LVDS交叉点开关的卓越性能与应用
探索DS25CP104A/DS25CP114 3.125 Gbps 4x4 LVDS交叉点开关的奥秘
原厂 FZH1697 带键盘扫描接口的LCD驱动控制专用电路
0.25-2.15 GHz 4x2 开关矩阵,带音调/电压检测器 skyworksinc
0.25 - 2.15 GHz 4x2 开关矩阵,带音调/电压解码器 skyworksinc
4 x 2 开关矩阵,带音调/电压解码器 250 MHz–2.15 GHz skyworksinc
4x4矩阵键盘工作原理及扫描程序
评论