#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit K1=P3^2;
sbit K2=P3^3;
sbit K3=P3^4;
sbit K4=P3^5;
void Delay_ms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
{
for(j=115;j>0;j--);
}
}
void main()
{
int j,a[28]={
0xE7,0xDB,0xBD,0x7E, //从中间开始亮
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//依次逐个点亮
0x7e,0x3c,0x18,0x00,0x00,0x18,0x3c,0x7e,//两边叠加后增减
0x00,0xff}; //全亮全灭
if(K1==0)
{ while(1)
{
if(K2||K3||K4==0)
break;
else
{
for(j=0;j<4;j++)
{
P2=a[j];
Delay_ms(500);
}
}
}
}
if(K2=0)
{ while(1)
{if(K1||K3||K4==0)
break;
else
{
for(q=4;q<12;q++)
P2=a[q];
Delay_ms(500);
}
}
}
if(K3=0)
{ while(1)
{if(K1||K2||K4==0)
break;
else
{
for(w=12;w<20;w++)
P2=a[w];
Delay_ms(500);
}
}
}
if(K4=0)
{
while(1)
{if(K1||K2||K3==0)
break;
else
{
for(e=12;e<20;e++)
P2=a[e];
Delay_ms(500);
}
}
}
} |