void delayms(uchar x)//延时函数 { uchar y; while(x--)
{for(y=0;y<100;y++);} }
//**************************************************// uchar Ajcx()//按键处理程序 { uchar Key;// Key=P1;
if(Key==0xff)//判断否则返回0 return(0); delayms(10); Key=P1;
if(Key==0xff) return(0);
return(Key); //带回按键数据 }
void Ajcxcl(Key)//根据按键值选择处理程序 {
if((Key&0x01)==0) P0=0xc0;
else if((Key&0x02)==0) P0=0xf9;
else if((Key&0x04)==0) P0=0xa4;
else if((Key&0x08)==0) P0=0xb0;
else if((Key&0x10)==0) P0=0x99;
else if((Key&0x20)==0) P0=0x92;
else if((Key&0x40)==0) P0=0x82;
else if((Key&0x80)==0) P0=0xf8;
else if((Key&0xff)==0) P0=0x8c; }
void main() {
while(1) {P2=0xfd;
Key=Ajcx();//判断按键并带回数据
if(Key)//返回不是0说明有按键按下 Ajcxcl(Key);//按键处理程序 else P0=0x8c;//没按下显示P }
}
因篇幅问题不能全部显示,请点此查看更多更全内容