vs做网站连数据库,做网站的网站,网页上一页下一页代码,wordpress 更改头像按键扫描16Hz-单片机通用模板 一、按键扫描的原理1、直接检测高低电平类型2、矩阵扫描类型3、ADC检测类型二、key.c的实现1、void keyScan(void) 按键扫描函数①void FHiKey(void) 按键按下功能②void FSameKey(void) 按键长按功能③void FLowKey(void) 按键释放功能三、key.h的… 按键扫描16Hz-单片机通用模板 一、按键扫描的原理1、直接检测高低电平类型2、矩阵扫描类型3、ADC检测类型 二、key.c的实现1、void keyScan(void) 按键扫描函数①void FHiKey(void) 按键按下功能②void FSameKey(void) 按键长按功能③void FLowKey(void) 按键释放功能 三、key.h的功能和变量外部接口四、keyScan()的使用和Note 一、按键扫描的原理
1、直接检测高低电平类型 单片机的IO设置下拉读取高电平,或设置上拉读取低电平;通过判断IO的高低电平从而判断按键状态。2、矩阵扫描类型 设置3个IO上拉输入,先扫描第一列对地按键是否检测到低电平;KEY1输出低电平检测SW6是否是低电平,是低电平–KEY1设置上拉,KEY2输出低电平验证SW6是否按下;同理SW7、SW8也是正反扫判断是否按下。3、ADC检测类型 通过硬件搭建分压电阻电路,通过按键按下电阻分压读取ADC判断范围从而判断哪个按键按下。二、key.c的实现
1、void keyScan(void) 按键扫描函数
/*
* * Key Define*/
#define IO_MitKey P21
#define IO_TemKey P13
#define IO_TimeKey P14
#define IO_ModeKey P16
#define IO_StrAddKey P17
#define IO_StrDecKey P35 //自定义按键引脚IO#define MicKey 0x01
#define TemKey 0x02
#define TimeKey 0x04
#define ModeKey 0x08
#define StrAddKey 0x10
#define StrDecKey 0x20 //自定义按键标志//全局变量
bit b_KeyTone_Flag=0; //按键声标志
bit b_KeepUp_Flag=0; //按键保持标志
bit b_Skip_Flag=0; //按键非法标志
u8 keyNum