?? key.c
字號:
//==========================================================
//文件名稱:Key.c
//功能描述:初始化鍵盤函數(shù)和掃描鍵盤函數(shù)
//維護(hù)記錄 2005.12.2 by hongyan.Feng
//==========================================================
#include "SPCE061A.h"
//========================================================
// 語法格式: void Key_Init(void)
// 實(shí)現(xiàn)功能: 鍵盤初始化
// 參數(shù): 無
// 返回值: 無
//========================================================
void Key_Init(void)
{
*P_IOA_Dir &= 0xfffb; //初始化IOA2為帶下拉電阻輸入口
*P_IOA_Attrib &= 0xfffb;
*P_IOA_Data &= 0xfffb;
}
//========================================================
// 語法格式: void Delay(void)
// 實(shí)現(xiàn)功能: 延時
// 參數(shù): 無
// 返回值: 無
//========================================================
void delay(void)
{
unsigned int uiCount;
for(uiCount = 0;uiCount <= 3000;uiCount++)
{
*P_Watchdog_Clear = 0x0001; //清看門狗
}
}
//========================================================
// 語法格式: unsigned int KeyScan(void)
// 實(shí)現(xiàn)功能: 獲得鍵盤值并返回
// 參數(shù): 無
// 返回值: 鍵盤值
//========================================================
unsigned int KeyScan(void)
{
unsigned int uiData;
unsigned int uiTemp;
uiData = *P_IOA_Data; //讀取IOA端口輸入
uiData = uiData&0x0004; //僅取低八位有效值
if(uiData!=0) //非零則表示有鍵按下
{
delay(); //延時消抖
uiTemp = *P_IOA_Data;
uiTemp = uiTemp&0x0004; //僅取低八位有效值
if(uiData != uiTemp)
uiData = 0; //兩次讀數(shù)不相等,則置返回值為0
}
return uiData; //返回鍵值
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -