?? key_value.h.081105210130
字號:
//讀鍵盤值 鍵盤在端口B
uchar key_value()
{
uchar tem1,tem2,rem,i;
rem=0; //不清零會返回一個不可預(yù)知的值
DDRB=0xf0; //B口高四位輸出 低四位輸入
PORTB=0x0f; //輸入有上拉電阻 輸出低電平
s_ms(1);
tem1=PINB; //讀取端口B
tem1=tem1&0x0f;
if(tem1!=0x0f) //判斷是否有鍵被按下
{
s_ms(200); //延時
tem2=PINB; //讀取端口B
tem2=tem2&0x0f;
if(tem1==tem2) //判斷是否為干擾
{
DDRB=0x0f; //B口高四位輸入 低四位輸出
PORTB=0xf0; //反相輸出
s_ms(50); //換向后要延時
rem=PINB; //讀取端口B
rem=rem&0xf0; //取高四位
rem=rem+tem1; //合并
rem=~rem; //反向輸出
//do //判斷按鍵是否被釋放
//{
// PORTB=0xf0;
//s_ms(200);
//}
//while(PINB!=0xf0);
}
}
return(rem);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -