?? key4x4.h
字號:
//延時
void s_ms(unsigned int t)
{
for(;t>1;t--)
{
}
}
//讀取鍵盤
//PC口作為鍵盤輸入
unsigned char key_value()
{
unsigned char tem1,tem2,rem,i ;
rem=0 ;
//不清零會返回一個不可預知的數
DDRC=0xf0 ;
//c口高四位輸出 低四位輸入
PORTC=0x0f ;
//輸入有上拉電阻
s_ms(30);
tem1=PINC ;
//讀取端口c
tem1=tem1&0x0f ;
//判斷是否有鍵被按下
if(tem1!=0x0f)
{
s_ms(800);
//延時
tem2=PINC ;
//讀取端口c
tem2=tem2&0x0f ;
//判斷是否為干擾
if(tem1==tem2)
{
DDRC=0x0f ;
//c口高四位輸入 低四位輸出
PORTC=0xf0 ;
//反相輸出
s_ms(1);
//換向后要延時
rem=PINC ;
//讀取端口c
rem=rem&0xf0 ;
//取高四位
rem=rem+tem1 ;
//合并
rem=~rem ;
//反向輸出
//判斷按鍵是否被釋放
do
{
PORTC=0xf0 ;
s_ms(3000);
}
while(PINC!=0xf0);
}
}
s_ms(6000);
s_ms(6000);
return(rem);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -