普中51单片机:独立按键的工作原理与应用详解(三)

引言

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

实物图

在这里插入图片描述

开发板IO连接图

请添加图片描述

J19与P2相连,JP1与J20相连,可根据自己的开发板来进行选择,代码也要做适当修改

按键原理图

在这里插入图片描述

在这里插入图片描述

工作原理

从上图可以看到,当单片机上电时,与JP1相连的寄存器的IO口默认是高电平。当按键按下时,IO口接GND(地)。当寄存器写入一个值,它就会输送到IO口中,同时寄存器会检测这个IO口的电平,并读取到寄存器中,此时我们可以通过代码进行检测是否被按下。

按键抖动

在按键检测中需要加入延时,其主要目的是为了消除按键抖动。按键抖动是指在按键按下或松开的瞬间,电路中会产生一系列快速的高低电平变化。这种抖动会导致单片机误判按键的状态,从而引发错误的操作。通过在检测到按键按下后加入一个短暂的延时,可以让按键抖动的影响消失,再次检测按键状态时,如果仍然是按下状态,才认为按键确实被按下了。这种方法可以有效地提高按键检测的可靠性。
在这里插入图片描述

代码演示1

#include <REGX52.H>

void DelayXms(unsigned int xms)	//@12.000MHz
{
   
	unsigned char data i, j;
	
	while(xms)
	{
   
		i = 2;
		j = 239;
		do
		{
   
			while (--j);
		} while (--i);
		xms--;
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨辰JC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值