📄 key.c
字号:
//======================================================
// 文件名称: Key.c
// 功能描述: 键盘初始化,键盘扫描,获取键值
// 维护记录: 2007-8-10 v1.0
//======================================================
#include "spce061a.h"
#include "picture.h"
static int result; // 当键盘按下时用于存储键值.
static char down; // 有键盘按下时置1
//=============================================================
// 语法格式: void Key_Init(void)
// 实现功能: 键盘初始化
// 参数: 无
// 返回值: 无
//=============================================================
void Init_Key(void)
{
*P_IOA_Dir |= 0x000; // IOA0,1,2下拉输入
*P_IOA_Attrib |= 0x0000;
*P_IOA_Buffer |= 0x0000;
}
//=============================================================
// 语法格式: void Key_ServiceLoop(void)
// 实现功能: 键盘扫描函数
// 参数: 无
// 返回值: 无
//=============================================================
int Key_ServiceLoop(void)
{
int temp1,temp2 ;
temp1 = *P_IOA_Data;
temp1 = temp1&0x7; // 去抖
if (temp1 == 0)
return -1;
delay(0xffff);
temp2=*P_IOA_Data;
temp2=temp2 & 0x7;
if(temp2 == temp1)
{
down = 1;
result = temp2;
return temp2;
}
else
{
down = 0;
return -1;
}
}
//=============================================================
// 语法格式: int Key_GetValue(void)
// 实现功能: 得到键值函数
// 参数: 无
// 返回值: 按下返回键值,没有按下返回-1
//=============================================================
int Key_GetValue(void)
{
if(down == 1)
{
down = 0;
return result;
}
else
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -