void KeyDown(); //矩阵键盘检测
void kongzhil();
void kongzhi2();
void main(void)
{ TMOD=0x01; //定时器工作状态为1
TH0=(65536-50000)/256;
TL0=(65536-50000)%6;
EA=1; //开总中断
ET0=1; //开定时器中断
TR0=1; //开启定时器
while(1)
{ int n=0;
if(k1==0)
{
Delay10ms(1);
if(k1==0)
n=1;
}
if(k3==0)
{
Delay10ms(1);
if(k3==0)
n=3;
}
if(k4==0)
{
Delay10ms(1);
if(k4==0)
n=4;
}
switch(n)
{
case 1:KeyDown();break;
case 3:kongzhil();break;
case 4:kongzhi2();break;
default:break;
}
}
}
void KeyDown(void)
{ int k=1;
while(k)
{
char a=0;
KEY=0x0f;
if(KEY!=0x0f)
{
Delay10ms(1); //延时消抖
if(KEY!=0x0f)
{
KEY=0X0F;
switch(KEY) //扫描行
{
case(0X07): KeyValue=0;break;
case(0X0b): KeyValue=4;break;
case(0X0d): KeyValue=8;break;
case(0X0e): KeyValue=12;break;
}
KEY=0XF0;
switch(KEY) //扫描列
相关推荐: