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、按下按键按照二进制的形式显示

数据运算符

逻辑语句

相关推荐
物随心转2 小时前
RTC驱动原理
嵌入式硬件
BAGAE2 小时前
MODBUS 通信协议详细介绍
linux·嵌入式硬件·物联网·硬件架构·iot·嵌入式实时数据库·rtdbs
风_峰3 小时前
Petalinux相关配置——ZYNQ通过eMMC启动
嵌入式硬件·ubuntu·fpga开发
风_峰3 小时前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
月阳羊4 小时前
【硬件-笔试面试题-95】硬件/电子工程师,笔试面试题(知识点:RC电路中的时间常数)
java·经验分享·单片机·嵌入式硬件·面试
芜狄6 小时前
UCOSIII移植——学习笔记1
笔记·嵌入式硬件·学习·stm32f103rct6·ucosiii实时操作系统
小莞尔7 小时前
【51单片机】【protues仿真】基于51单片机数控直流稳压电源系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小莞尔7 小时前
【51单片机】【protues仿真】基于51单片机密码锁系统
c语言·stm32·单片机·嵌入式硬件·51单片机
黑不拉几的小白兔7 小时前
stm32教程:USART串口通信
stm32·单片机·嵌入式硬件
sheepwjl10 小时前
《嵌入式硬件(十二):基于IMX6ULL的时钟操作》
汇编·arm开发·单片机·嵌入式硬件·时钟·.s编译