/*==================================
时间:2021-01-06
版本:V1.0
作者:语言与存在的顶点.
说明:
(1)针对单片机机械按键周期扫描,
(2)多按键可同时检测,
(3)注:变量定义中“xdata”是针对51内核单片机特意加的
==================================*/
/*注释:
1. IO口对应表
2. 函数说明调用
3. 程序调试修改说明
*/
//数据 宏定义
//数据 结构体
//数据 各种变量
//函数 各种函数声明及定义
#ifndef __KEY_H_
#define __KEY_H_
#include "config.h"
//#define KEEP_1S 100 //按键计时 :与采样周期保持一致(默认 X*10ms)
#define keepWait 50 //等待处理 :与采样周期保持一致(默认 X*10ms)
#define keyLock 13 //按键锁定 :与采样周期保持一致(默认 X*10ms) 防止重复触发信号分析为150ms
#define KEEP_KEY_OK 1 //按键处理 :使用状态机方式
#define KEY_COUNT_RSET 0 //按键处理 :计数复位
typedef struct __KEY_TEMP //按键相关参数
{
short keepMs; //按键保持时间
char status; //按键状态指示
char keepFlag; //按键保持标志 位
char waitDeal; //按键等待处理周期 用于按键超时未处理复位
char lock; //按键锁定
char count; //按键有效次数(支持连续累加) 计数或按键有效标志
char sChange; //保持按键快速响应
}KEY_TEMP;
char fastNumber(KEY_TEMP *keyN
STM STC NXP单片机 按键扫描
最新推荐文章于 2022-07-23 16:29:52 发布