51单片机——按键控制

1、按键介绍

轻触按键:相当于是一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。

2、按键的抖动

对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动。

3、按键原理图

首先查看按键原理图,发现按键一个引脚接GND,一个引脚接MCU。MCU接出来的引脚默认都是高电平,一般情况下表示正极。

4、优化寄存器按字节操作改成按位操作

利用头文件<REGX52.H>里面的按位操作变量来实现

5、按键控制LED点亮和熄灭

通过按键K2来控制LED的亮灭,当按键按下时,按键形成通路,一段接GND,一端接MCU的P31引脚,MCU输出为高电平,通过GND下拉为低电平即0,当检测到按键状态为0时,此时LED点亮。

6、按键抖动优化

因为按键弹片是金属薄片,按下和弹起时会随着惯性上下起伏。根据金属薄片的特性,我们选择不在金属薄片抖动的时间去采集按键状态,通过延时函数来避开抖动时间。

每次采集按键状态时,延时20ms。

7、按下按键按照二进制的形式显示

数据运算符

逻辑语句

相关推荐
开-悟19 分钟前
嵌入式编程-使用AI查找BUG的启发
c语言·人工智能·嵌入式硬件·bug
许白掰2 小时前
【stm32】HAL库开发——CubeMX配置RTC,单片机工作模式和看门狗
stm32·单片机·嵌入式硬件·学习·实时音视频
DIY机器人工房3 小时前
0.96寸OLED显示屏 江协科技学习笔记(36个知识点)
笔记·科技·stm32·单片机·嵌入式硬件·学习·江协科技
国科安芯4 小时前
【AS32系列MCU调试教程】SPI调试的常见问题解析
单片机·嵌入式硬件·性能优化·硬件架构·硬件工程
LS_learner4 小时前
同步(Synchronization)和互斥(Mutual Exclusion)关系
嵌入式硬件
Natsume17105 小时前
嵌入式开发:GPIO、UART、SPI、I2C 驱动开发详解与实战案例
c语言·驱动开发·stm32·嵌入式硬件·mcu·架构·github
MeshddY6 小时前
(超详细)数据库项目初体验:使用C语言连接数据库完成短地址服务(本地运行版)
c语言·数据库·单片机
m0_555762906 小时前
STM32常见外设
stm32·单片机·嵌入式硬件
森焱森7 小时前
无人机三轴稳定化控制(1)____飞机的稳定控制逻辑
c语言·单片机·算法·无人机
循环过三天7 小时前
3-1 PID算法改进(积分部分)
笔记·stm32·单片机·学习·算法·pid