標(biāo)題:
51單片機(jī)4*4矩陣鍵盤程序
[打印本頁]
作者:
笨米達(dá)
時(shí)間:
2021-5-31 22:48
標(biāo)題:
51單片機(jī)4*4矩陣鍵盤程序
接線: R1 --- P1.3 C1 --- P1.7
R2 --- P1.2 C1 --- P1.6
R3 --- P1.1 C1 --- P1.5
R4 --- P1.0 C1 --- P1.4
按鍵分布:
0 4 8 12
1 5 9 13
2 5 10 14
3 7 11 1
單片機(jī)源程序如下:
/*------------------------------------------------
延時(shí)函數(shù)
------------------------------------------------*/
void DelayMs(int ms)
{
int i;
while(ms--)for(i=0;i<120;i++);
}
/*------------------------------------------------
按鍵值掃描函數(shù),返回掃鍵值
------------------------------------------------*/
unsigned char KeyScan()
{
unsigned char value=20;
key=0x0f;
if(key!=0x0f)
{
DelayMs(50);
if(key!=0x0f)
{
key=0x0f; //測試哪列按下
switch(key)
{
case 0x07:value=0;break; //0列按下
case 0x0b:value=1;break; //1列按下
case 0x0d:value=2;break; //2列按下
case 0x0e:value=3;break; //3列按下
}
}
}
key=0xf0;
if(key!=0xf0)
{
DelayMs(50);
if(key!=0xf0)
{
key=0xf0; //測試哪行按下
switch(key)
{
case 0x70:value=value;break; //0行按下
case 0xb0:value=value+4;break; //1行按下
case 0xd0:value=value+8;break; //2行按下
case 0xe0:value=value+12;break; //3行按下
}
}
}
return value;//返回按下的按鍵值
}
復(fù)制代碼
作者:
cn_zhx
時(shí)間:
2021-6-1 18:35
這個(gè)通用性不強(qiáng),一旦改了鍵盤的分布或者增加數(shù)量后,就得算一遍值。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1