#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; //将打开的锁存器关闭&#
蓝桥杯比赛板实现单机双击长按(纯代码分享)
最新推荐文章于 2025-03-19 22:44:55 发布