#include"reg51.h"
#define uchar unsigned char
sbit wi=P2^7;
sbit key4= P3^3;
sbit key1= P3^0;
sbit key2= P3^1;
sbit key3= P3^2;
uchar display_code[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void delay(int n) //延时
{
uchar i;
for(i=200;i>0;i--)
for(;n>0;n--);
}
void inkey()
{
key1=1;
if(key1==0)
{
delay(10);
if(key1==0)
{
while(1)
{
wi=0;
//light=0;
delay(3500);
wi=1;
//light=1;
delay(3500);
P0=display_code[1];
}
while(key1==0);
}
}
key2=1;
if(key2==0)
{
delay(10);
if(key2==0)
{
while(1)
{
P2=0Xbf;
delay(6500);
P2=0Xff;
delay(6500);
P0=display_code[2];
}
while(key2==0);
}
}
key3=1;
if(key3==0)
{
delay(10);
if(key3==0)
{
while(1)
{
P2=0Xdf;
delay(6500);
P2=0Xff;
delay(6500);
P0=display_code[3];
}
while(key3==0);
}
}
key4=1;
if(key4==0)
{
delay(10);
if(key4==0)
{
while(1)
{
P2=0Xef;
delay(6500);
P2=0Xff;
delay(6500);
P0=display_code[4];
}
while(key4==0);
}
}
}
void main()
{
while(1)
{
inkey();
}
}
/////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////
///////我觉得有问题.是因为同时按下俩个键时,就出现第1个前面的第1个程序..
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』