一、矩陣按鍵的原理矩陣鍵盤一般是4*4的按鍵組成,當然也有其他的按鍵組合,這里我們分析4*4的按鍵,其他組合原理類似。4*4的按鍵采用的行列掃描方式,也就是先預(yù)設(shè)端口的狀態(tài),然后掃描行的狀態(tài),檢測到掃描行的狀態(tài)以后,再次檢測掃描列的狀態(tài)。
本文引用地址:http://m.butianyuan.cn/article/201611/322006.htm下面這段程序是4*4的行列按鍵的掃描程序
void scankey(void)//16路熱鍵掃描
{char a=0;
P1=0x0F;
if(P1!=0x0F)//讀取按鍵是否按下
{
delay_ms(150);//延時150ms進行消抖
if(P1!=0x0F)//再次檢測鍵盤是否按下
{
switch(P1)//測試列
{
case(0X07):Keynum=0;break;
case(0X0b):Keynum=1;break;
case(0X0d): Keynum=2;break;
case(0X0e):Keynum=3;break;
}
P1=0XF0;//測試行
switch(P1)
{
case(0X70):Keynum=Keynum;break;
case(0Xb0):Keynum=Keynum+4;break;
case(0Xd0): Keynum=Keynum+8;break;
case(0Xe0):Keynum=Keynum+12;break;
}
while((a<200)&&(P1!=0xF0))//檢測按鍵松手檢測
{
delay_ms(100);
a++;
}
}
}
}
評論