蓝桥杯比赛板实现单机双击长按(纯代码分享)

#include "STC15F2K60S2.H"
#include "bsp_key.h"
#include "bsp_led.h"
#include "timer.h"

#define uint8 unsigned char 
#define doublekey_time_define  60
#define longkey_time_define    200 //>255就等于255,变量只有8位

//按键的状态
#define key_up   0
#define key_down 1

//LED的位定义
sbit LED1 = P0^0;
sbit LED2 = P0^1;
sbit LED3 = P0^2;

//定时器
uint8 count = 0;
//状态变量,记录当前时刻的状态
uint8 key_state = key_up;//默认是抬起状态
//区分第一次进去key_up还是第二次
bit first_key = 0;
//存结果
bit one_key = 0;
bit double_key = 0;
bit long_key = 0;
bit total_key = 0;
//500ms倒计时
bit timer_doublekey_start = 0;
uint8 timer_doublekey_time = doublekey_time_define;
//2s倒计时
bit timer_longkey_start = 0;
uint8 timer_longkey_time = longkey_time_define;

//bit timer_start = 0
void main()
{
	P0 = 0XFF;
	P2 = P2 & 0x1F | 0x80; // 0x80,选通Y4,也就是LED的锁存器,将数据透传过去
	//P2 &= 0x1F; //将打开的锁存器关闭&#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

废话文学创始人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值