2009年2月13日 星期五

按鈕穩壓

void KeyScan(void)
{
KeyStatus = *((volatile unsigned char *)( 0x8000000 + 0xB00)) ; // read from the sw_key

if( KeyStatus != 0xFF ) // 按下按鍵
{
unpressed = 0;
if( KeyTemp != KeyStatus ) //按鍵值 是否同上次一樣
{
KeyTemp = KeyStatus; // 不一樣
pressed = 1;
}
else
{
pressed = pressed + 1; // 一樣 pressed 按下按鍵 的數量 +1
if( pressed == intKeyTot ) // 判斷 是否為 穩態 了 #define intKeyTot 1500
KeyData = KeyTemp; // 取 按鍵值
}
}
unpressed++;

if( unpressed == intKeyTot )
{
pressed = 0;
unpressed = 0;
KeyTemp = 0xff;
KeyData = 0xff;
}
}

沒有留言:

張貼留言