51单片机之按键(独立按键&矩阵按键)

难的东西学不会是因为简单的知识没学好

基础不牢,地动山摇

按键

1.1基础温习

(1)按键的物理结构
(2)单片机引脚有两种状态(I/O)输入【读】或者输出【写】
(3)上拉电阻的作用。通过这个电阻把这个引脚上拉到确定的高电平,但是上拉的能量扛不住地。下拉的力量比较强,接地的力量是无穷的!
(4)按键的意义:按键是一个输入设备,CPU通过按键所连接的IO引脚的电平状态可以判断我们人对按键进行了什么操作,按下还是弹起。
(5)CPU检测按键的方式:轮询式与中断式
轮询式:CPU隔一段时间就去查看有没有按键按下,如果按键按键就处理按键,如果没有就下一个轮询时间到了再来查看。
中断式:
(6)按键的分类与接法:
矩阵按键
独立按键

1.2独立按键讲解

(1)给变量key 赋值,相当于向这个IO口输出,直接使用【读】这个变量的,就相当于从这个IO引脚输入。
(2)独立按键可以同时按下多个,而矩阵按键是不可以的。
(3)可以有位定位的位变量来控制按键,也可以用端口来控制。

1.3键值检测与显示

(1)什么是键值:一个产品中有很多按键,程序对按键进行编码,每一个按键对应一个编码值,这个编码值就是键值。
(2)按键检测部分与按键处理部分通过键值连接。

1.4抖动

(1)什么是抖动:按键按下和弹起的瞬间的不确定性的电平变化。
(2)抖动的危害:干扰正常电平的判断。
(3)消斗:软件消抖与硬件消抖

1.5完整的按键检测

1.5.1一次完整的按键事件

(1)按键事件就是按键过程的不同状态(按下和弹起)的切换
(2)一个完整的按键状态包含按下事件和弹起事件(电平高低的变化与切换)
(3)一般都认为是一次完整的按键事件才是一次真正的按键,程序才会去处理按键,所以一般按键按下抬起之后才算一次有效的按键。

1.5.2代码实践

此程序的逻辑是这样的:首先检查到真的有按键按下—>在标志位为默认状态下显示按键按下要显示的内容并且把标志位置1(置1之后即使在按键按下的状态但是显示状态还是原来的状态,不会连续跳变)—–>检查按键抬起的状态(为真时),标志位复位。

1.6中断的引入

(1)主线任务与中断任务
主线任务:时间上占线长又不是很急
中断任务:时间上占线短又很急
(2)中断式比轮训时更适合处理异步事件,效率更高。

1.7 AT89C51中断

(1)中断触发方式:下降沿触发与低电平触发
(2)实战练习

1.8 矩阵键盘

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月3日
下一篇 2020年4月3日

相关推荐