#include
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
sbit led7=P1^6;
sbit led8=P1^7;
sbit jianpan=P0;
int temp,key;
void Init()
{
led1=0;
led2=0;
led3=0;
led4=0;
led5=0;
led6=0;
led7=0;
led8=0;
jianpan=0XFF;
}
void delay()
{
int i,j;
for (i=0;i<100;i++)
for (j=0;j<100;j++)
;
}
void main()
{ Init();
while (1)
{ P0=0xfe;// µÍËÄλÖиßλ ÀµÍ
temp=P0;
temp=temp&0xf0; //¼ì²â¸ßËÄλ ÊÇ·ñ Óб»ÀµÍµÄ ÓÐÀµÍµÄ ȷʵij¸ö°´¼ü°´ÏÂ
if(temp!=0xf0) //temp ÓëÍêºó ¸ßλ ÞôÏ ¸ßλ ¿Ï¶¨²»ÊÇ f ¸ßλ¿Ï¶¨Î»Áã ²»µÈ ÓÐÞôϵÄ
{
delay(); //Ïû¶¶
temp=P0;
temp=temp&0xf0;
if(temp!=0xf0)
{
switch(temp)
{
case 0xee : key=10; break;
case 0xfe : key=11; break;
case 0xbe : key=12; break;
case 0x7e : key=13; break; //
}
}
}
//************************************************************************************************
P0=0xfd;//
temp=P0;
temp=temp&0xf0; //¼ì²â¸ßËÄλ ÊÇ·ñ Óб»ÀµÍµÄ ÓÐÀµÍµÄ ȷʵij¸ö°´¼ü°´ÏÂ
if(temp!=0xf0) //temp ÓëÍêºó ¸ßλ ÞôÏ ¸ßλ ¿Ï¶¨²»ÊÇ f ¸ßλ¿Ï¶¨Î»Áã ²»µÈ ÓÐÞôϵÄ
{
delay(); //Ïû¶¶
temp=P0;
temp=temp&0xf0;
if(temp!=0xf0)
{
switch(temp)
{
case 0xed : key=3; break;
case 0xfd : key=6; break;
case 0xbd : key=9; break;
case 0x7d : key=15; break; //#
}
}
}
//************************************************************************************************
P0=0xfb;// µÚµÍËÄλ Öиßλ ÀµÍ
temp=P0;
temp=temp&0xf0; //¼ì²â¸ßËÄλ ÊÇ·ñ Óб»ÀµÍµÄ ÓÐÀµÍµÄ ȷʵij¸ö°´¼ü°´ÏÂ
if(temp!=0xf0) //temp ÓëÍêºó ¸ßλ ÞôÏ ¸ßλ ¿Ï¶¨²»ÊÇ f ¸ßλ¿Ï¶¨Î»Áã ²»µÈ ÓÐÞôϵÄ
{
delay(); //Ïû¶¶
temp=P0;
temp=temp&0xf0;
if(temp!=0xf0)
{
switch(temp)
{
case 0xeb : key=2; break;
case 0xfb : key=5; break;
case 0xbb : key=8; break;
case 0x7b : key=0; break; //
}
}
}
//************************************************************************************************
P0=0xf7;// µÚµÍËÄλ Öиßλ ÀµÍ
temp=P0;
temp=temp&0xf0; //¼ì²â¸ßËÄλ ÊÇ·ñ Óб»ÀµÍµÄ ÓÐÀµÍµÄ ȷʵij¸ö°´¼ü°´ÏÂ
if(temp!=0xf0) //temp ÓëÍêºó ¸ßλ ÞôÏ ¸ßλ ¿Ï¶¨²»ÊÇ f ¸ßλ¿Ï¶¨Î»Áã ²»µÈ ÓÐÞôϵÄ
{
delay(); //Ïû¶¶
temp=P0;
temp=temp&0xf0;
if(temp!=0xf0)
{
switch(temp)
{
case 0xe7 : key=1; break;
case 0xf7 : key=4; break;
case 0xb7 : key=7; break;
case 0x77 : key=14; break; //*
}
}
}
//************************************************************************************************
switch(key)
{case 1:
led1=1;
led2=0;
led3=0;
led4=0;
led5=0;
led6=0;
led7=0;
led8=0;
break;
case 2:
led1=1;
led2=1;
led3=0;
led4=0;
led5=0;
led6=0;
led7=0;
led8=0;
break;
case 3:
led1=1;
led2=1;
led3=1;
led4=0;
led5=0;
led6=0;
led7=0;
led8=0;
break;
case 4:
led1=1;
led2=1;
led3=1;
led4=1;
led5=0;
led6=0;
led7=0;
led8=0;
break;
case 5:
led1=1;
led2=1;
led3=1;
led4=1;
led5=1;
led6=0;
led7=0;
led8=0;
break;
case 6:
led1=1;
led2=1;
led3=1;
led4=1;
led5=1;
led6=0;
led7=0;
led8=0;
break;
case 7:
led1=1;
led2=1;
led3=1;
led4=1;
led5=1;
led6=0;
led7=0;
led8=0;
break;
case 8:
led1=1;
led2=1;
led3=1;
led4=1;
led5=1;
led6=0;
led7=0;
led8=0;
break;
}
}