独立按键的奇偶数检测

这篇博客介绍了如何使用51单片机进行按键奇偶数检测。作者通过设置变量记录按键次数并进行取模运算,判断按下次数为奇数或偶数。为了避免误判,还引入了时间变量。代码分为主函数和对外接口,旨在保持简单清晰。对于初学者来说,理解这些基本思路有助于简化按键处理问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

51单片机按键奇偶数检测

前言
1.写按键奇偶数的一些思路我会以我的理解在这里分析给大家,而且我也是一个小白,如果有什么不对的地方,有大佬看见了还希望给我指出来,并且这也算是我的一片笔记,以后有时间的时候也会回顾一下。


前言

提示:想法

想法:单片机按键写法非常多,而且我也看了很多前辈写的按键,感觉都没有达到我自己想的效果,而且前辈们写的都普遍比较复杂,为了按键的稳定性,看了头皮发麻,对于我们这种新手,非常的不友好,所以我就想想自己写,干好最近遇到了一个按键的问题,就是要判断按键按下是奇数还是偶数,写的不好,希望大家能指出不足。


一、按键奇偶数的思路

思路:首先我们要判断按键按下了几次,这个我们就需要一个变量把按下的次数都记下来,然后对这个按键进行取模(%)的操作,因为,取模就只有两种情况,为0的话就代表按下的次数是一个偶数嘛,不然就是奇数,这个非常好理解,然后还需要一个时间的变量,因为我们手松开了嘛,那就代表不需要按了,定义一个时间的变量,如果到了一定的时间,就代表我们已经结束这个操作了,就好让我们来判断按了几次,这里为什么是定义的时间变量,没有用定时器,是因为单片机里面的定时器是非常宝贵的,用一个就少一个,对我们非常的不友好,所以就定义了时间变量,没用定时器

二、按键的主函数

1.

代码如下:

#include "reg52.h"
extern unsigned int timer;
extern unsigned char flag;//按键的状态
extern unsigned char</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值