📄 key.c
字号:
//==========================================================
//文件名称:Key.c
//功能描述:初始化键盘函数和扫描键盘函数
//维护记录 2005.12.2 by hongyan.Feng
//==========================================================
#include "SPCE061A.h"
//========================================================
// 语法格式: void Key_Init(void)
// 实现功能: 键盘初始化
// 参数: 无
// 返回值: 无
//========================================================
void Key_Init(void)
{
*P_IOA_Dir &= 0xfffe; //初始化IOA0为带下拉电阻输入口
*P_IOA_Attrib &= 0xfffe;
*P_IOA_Data &= 0xfffe;
}
//========================================================
// 语法格式: void Delay(void)
// 实现功能: 延时
// 参数: 无
// 返回值: 无
//========================================================
void delay(void)
{
unsigned int uiCount;
for(uiCount = 0;uiCount <= 3000;uiCount++)
{
*P_Watchdog_Clear = 0x0001; //清看门狗
}
}
//========================================================
// 语法格式: unsigned int KeyScan(void)
// 实现功能: 获得键盘值并返回
// 参数: 无
// 返回值: 键盘值
//========================================================
unsigned int KeyScan(void)
{
unsigned int uiData;
unsigned int uiTemp;
uiData = *P_IOA_Data; //读取IOA端口输入
uiData = uiData&0x0001; //仅取最低位有效值
if(uiData!=0) //非零则表示有键按下
{
delay(); //延时消抖
uiTemp = *P_IOA_Data;
uiTemp = uiTemp&0x0001; //仅取最低位有效值
if(uiData != uiTemp)
uiData = 0; //两次读数不相等,则置返回值为0
}
return uiData; //返回键值
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -