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

📄 key.h

📁 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码
💻 H
字号:
#ifndef _KEY_H_
#define _KEY_H_
#include "SPCE061A.H"

/****************************************************************
*按键的IO端口定义,代码移植时需要根据实际的电路更改设置 
****************************************************************/
#define KEY_IO_DATA 	*((volatile unsigned int*)(Port_IOA_Data))
#define KEY_IO_DIR  	*((volatile unsigned int*)(Port_IOA_Dir))
#define KEY_IO_ATTRIB 	*((volatile unsigned int*)(Port_IOA_Attrib))
#define KEY_IO_BUFFER	*((volatile unsigned int*)(Port_IOA_Buffer))

/****************************************************************
* 按键IO初始化数据,通过宏映射 ,代码移植时根据实际情况改变相应的位 
*****************************************************************/
#define KEY_IO_DIR_INITIAL_VALUE	0x3f	/*IO使用了的位状态改变,没有用的置0*/ 
#define KEY_IO_ATTRIB_INITIAL_VALUE 0x3f	/*IO使用了的位状态改变,没有用的置0*/ 
#define KEY_IO_DATA_INITIAL_VALUE   0x00/*IO使用了的位状态改变,没有用的置0*/ 
#define KEY_IO_REG_MASK 			0x3f /*对应IO使用了的位置1,没有用的置0*/
	
#define KEY_ARRAY_W 0x04 /*键盘阵列的宽度*/
#define KEY_ARRAY_H 0x03 /*键盘阵列的高度*/ 

#define KEY_VALUE_INVALIDATE    0xff  /*非法案件值,不能与合法按键值重叠*/ 

#define KEY_STATE_VALIDATE 		0x01  /*合法按键状态*/
#define KEY_STATE_INVALIDATE  	0x00  /*非法按键状态*/

#define KEY_VALUE_SET 		0x0a 	/*设置键*/
#define KEY_VALUE_CLEAR		0x0b	/*清除键*/

/*****************************************************
*扫描按键值,并把该值保存在按键值记录区,把按键值记录
*区状态设置为KEY_STATE_VALIDATE。 该函数可以用在中断里面,
*用一全局变量保存按键值,构成定时按键扫描;也可以用在循环
*中,进行循环扫描,但这样的方式对按键的扫描存在不确定性,
*扫描的及时程度完全取决于系统的繁忙程度。建议用中断。 
******************************************************/
void vKeyScan(void);

/***************************************************************
* 获取按键值,合法时返回按键值,非法时返回KEY_VALUE_INVALIDATE 
***************************************************************/ 
unsigned char ucGetKey(void);

#endif

⌨️ 快捷键说明

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