我是靠谱客的博主 精明溪流,最近开发中收集的这篇文章主要介绍c语言延时函数delay_单片机基础实验按键与C语言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么叫消抖

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

最后

以上就是精明溪流为你收集整理的c语言延时函数delay_单片机基础实验按键与C语言的全部内容,希望文章能够帮你解决c语言延时函数delay_单片机基础实验按键与C语言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部