|
程序:
#include<at89x51.h>
unsigned char LED[]={0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,
0x8e,0x89,0xc7,0x8c,0xc1,
0xbf,0x7f,0xff};
void delay(void)
{
unsigned char i;
for(i=200;i>0;i--);
}
void main()
{
unsigned char k,key;
P0=0XFF;P2=1;P3=0XFF;
while(1)
{
P2=0;
P3=0XFE;k=P3;if(k==0xee){delay();key=0;}else{key=22;}
if(k==0xde){delay();key=1;}
if(k==0xbe){delay();key=2;}
if(k==0x7e){delay();key=3;}
P3=0XFd;k=P3;if(k==0xed){delay();key=4;}
if(k==0xdd){delay();key=5;}
if(k==0xbd){delay();key=6;}
if(k==0x7d){delay();key=7;}
P3=0XFb;k=P3;if(k==0xeb){delay();key=8;}
if(k==0xdb){delay();key=9;}
if(k==0xbb){delay();key=10;}
if(k==0x7b){delay();key=11;}
P3=0XF7;k=P3;if(k==0xe7){delay();key=12;}
if(k==0xd7){delay();key=13;}
if(k==0xb7){delay();key=14;}
if(k==0x77){delay();key=15;}
P0=LED[key];
}
}
仿真图:
矩阵按键
|
|