c语言延时函数delay_单片机基础实验按键与C语言

本文介绍了按键消抖的基本概念及其重要性,并详细解释了独立按键和矩阵按键的消抖方法与检测流程。同时,文章还提供了具体的实现步骤,帮助读者理解如何在实际应用中消除按键抖动。
AI助手已提取文章相关产品:

什么叫消抖

按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。

d7d9c5db6c5306ef57458ea173ad25e6.png
按键在闭合和断开时,触点会存在抖动现象

if语句

if的一般形式:if(表达式){语句;} 先判断表达式是否为真,若为真则执行语句一,若不为真则跳出if语句。

if嵌套语句的一般形式:if(表达式1){语句1; if(表达式2){语句2;} } 先判断表达式1是否为真,若为假则直接结束if语句,若为真则执行语句1,然后判断表达式2是否为真,若为真则执行语句2,若为假跳出if语句。

如何判断按键是否按下

c3bb9d5b179b9c1df5f34ced3e904b5e.png
独立按键——由四个io口控制

原理:将四个io口都输入高电平1,当按键按下时,电路导通,io口接GND,所以io口的电平变成0

具体过程:1、先将四个io口赋值为1,P3=0x0f 2、如果要按下第一按键k1,则需判断P3.0是否变成低电平0,if(k1==0)//提前定义sbit k1=P3^0 3、 延迟十毫秒进行消抖delay(10)//这里的10是由delay函数决定的 4、再次判断k1是否仍然为0,若k1仍然为0,则说明不是干扰信号,而是按键被按下 5、点亮一个LED灯,直观的看出按键被按下的征兆。6、再判断一次按键是否被被松开

#include 

矩阵按键

d35f3bc2112bd209e55fd31d7a122b4e.png
矩阵按键——由8个io口控制

用扫描原理控制矩阵按键:通过行列扫描,我们可以先将P1.0~P1.3输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,P1.4~P1.7输出高电平,然后根据接收到的的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。

#include 

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值