⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.h

📁 NT68617源程序代码集合
💻 H
字号:
/*
********************************************************************************
*
*	                                LCD控制程序
*
*	                          这是按键处理模块的头文件
*
*	文件名	: KEY.H
*	设计者	: Terry
********************************************************************************
*                                   功 能 描 述
*
*	要使用按键模块必须包含此头文件
*
*   这里包含了按键模块的配置,按键扫描码的宏定义,公共变量和接口函数
*
********************************************************************************
*/

#ifndef __KEY_H__
#define __KEY_H__
/*
********************************************************************************
*	键盘模块的配置
********************************************************************************
*/
#define KEY_BUF_SIZE			10			// 键盘缓冲区大小,根据需要改变,代表字节数
#define KEY_RPT_START_DLY		10			// 启动按键重复的启示时间,单位是按键扫描的时间间隔
#define KEY_RPT_DLY			2			// 按键重复的时间间隔,单位是按键扫描的时间间隔


/*
********************************************************************************
*	按键扫描码的宏定义,根据不同的应用程序需要更改,这个按键模块处理的是6个简单
*   的I/O按键输入,多过6个键的需要更改KEY.C中的按键输入处理程序
********************************************************************************
*/
typedef enum {
	KEYCODE_NOPRESS = 0,
	KEYCODE_DECREASE,
	KEYCODE_MENU,
	KEYCODE_INCREASE,
	KEYCODE_SELECT,
	KEYCODE_AUTO,
	KEYCODE_EXIT,
	KEYCODE_POWER,
	KEYCODE_POWERMENU,
	KEYCODE_INCDEC	,
}INPUTCODE;


/*
********************************************************************************
*	公共变量的声明
********************************************************************************
*/
extern bit Flg_KeyOnePress;				// 在没有按键按下(硬件)时,该标志被清零

/*
********************************************************************************
*	对外的接口函数声明
*	1. KeyInit
*		按键处理模块的初始化,包括硬件端口,键盘缓冲区和公共变量等
*
*	2. KeyGetKey
*		从按键缓冲区获取按键的扫描码
*
*	3. KeyGetKeyDownTime
*		获取按键按下的时间,单位是按键扫描的时间间隔。这可以用在有长按键处理需求
*	以及不需要连续按键输入的场合中
*
*	4. KeyHit
*		检查键盘缓冲区中有没有按键,有才进行相应的处理
*
*	5. KeyScan
*		这是整个按键处理模块的核心,采用了一个状态机来对按键进行处理,这个接口
*	函数需要被周期性地调用,因此一般我们会启用一个定时器,周期性地执行这个函数
*	定时的时间间隔约50mS左右,这样能避开按键的抖动期
********************************************************************************
*/
void   KeyInit(void);
uint8  KeyGetKey(void);
uint8  KeyGetKeyCode(void);
uint16 KeyGetKeyDownTime(void);
bit    KeyHit(void);
void   KeyScan(void);
#endif
/*
********************************************************************************
*                                文 件 结 束                                   *
********************************************************************************
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -