#include<reg51.h>
#define p1 P1
#define uchar unsigned char
#define uint unsigned int
sbit gr0=P2^0;
sbit ye0=P2^1;
sbit re0=P2^2;
sbit gr1=P2^3;
sbit ye1=P2^4;
sbit re1=P2^5;
code unsigned shu[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
code unsigned shux[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
uchar type=1,flash=0;
uchar temp,red=10;
void delay(uint x)
{
uchar i;
while(x--)
for(i=0;i<120;i++);
}
void main()
{
switch(type)
{
case 1:
re0=0;ye0=0;gr0=1;
re1=1;ye1=0;gr1=0;
temp=red;
while(temp--)
{
P1=shu[temp];
delay(1000);
if(temp==4)break;
}
type=2;
break;
case 2:
gr0=0;
if(++flash!=6) return;
while(temp--)
{
ye0=~ye0;
P1=shu[temp];
delay(1000);
if(temp==4)
break;
}
type=3;
break;
case 3:
re0=1;ye0=0;gr0=0;
re1=0;ye1=0;gr1=1;
temp=red;
while(temp--)
{
P3=shux[temp];
delay(1000);
if(temp==4)break;
}
type=4;
case 4:
gr1=0;
if(++flash!=6)return;
while(temp--)
{
ye1=~ye1;
P3=shux[temp];
delay(1000);
}
flash=0;
type=1;
}
}
|