#include<reg51.h>
char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};
char code key_buf[]={0xde,0xbe,0x7e,0xdd,0xbd,0x7d,0xdb,0xbb,0x7b};//键值
char getkey()
{ char lie,hang,jh;
char j;
P2=0xf0;
lie=P2;
P2=0x0f;
hang=P2;
jh=lie+hang;
if(jh!=0xff)
{
for(j=0;j<9;j++)
{
if(jh==key_buf[j])
return j;
}
}
return -1;
}
void main()
{ //为什么P0=0XFF;放第一句会出错
char key=0;
P0=0xff;
while(1)
{
key=getkey();
if(key!=-1)
P0=table[key];
}
}
|