📄 keyscan.c
字号:
//========================================================
// 语法格式: unsigned int KeyScan(void)
// 实现功能: 获得键盘值并返回
// 参数: 无
// 返回值: 键盘值
//========================================================
# include "SPCE061A.h"
unsigned int KeyScan1(void)
{
unsigned int uiData;
unsigned int uiTemp;
uiData = *P_IOA_Data; //读取IOA端口输入
uiData = uiData&0x0003; //仅取低八位有效值
if(uiData!=0) //非零则表示有键按下
{
delay(); //延时消抖
uiTemp = *P_IOA_Data;
uiTemp = uiTemp&0x0003; //仅取低八位有效值
if(uiData != uiTemp)
uiData = 0; //两次读数不相等,则置返回值为0
}
return uiData; //返回键值
}
unsigned int KeyScan2(void)
{
unsigned int uiData;
unsigned int uiTemp;
uiData = *P_IOA_Data; //读取IOA端口输入
uiData = uiData&0x00fc; //仅取高八位有效值
if(uiData!=0) //非零则表示有键按下
{
delay(); //延时消抖
uiTemp = *P_IOA_Data;
uiTemp = uiTemp&0x00fc; //仅取高八位有效值
if(uiData != uiTemp)
uiData = 0; //两次读数不相等,则置返回值为0
}
return uiData; //返回键值
}
void delay(void)
{
unsigned int uiCount;
for(uiCount = 0;uiCount < 50; uiCount++)
{
*P_Watchdog_Clear = 0x0001; //清看门狗操作
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -