#include "reg52.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit lesa=P2^2;
sbit lesb=P2^3;
sbit lesc=P2^4;
u8 code shuma[]={0x01,0x40,0x08};
void delay(u16 i)
{
while(i--);
}
void code display(u8 j)
{
u8 i;
if(j==0||j==2)
{
for(i=0;i<8;i++)
{
switch(i)
{
case(0):
lesa=0;lesb=0;lesc=0;break;
case(1):
lesa=1;lesb=0;lesc=0;break;
case(2):
lesa=0;lesb=1;lesc=0;break;
case(3):
lesa=1;lesb=1;lesc=0;break;
case(4):
lesa=0;lesb=0;lesc=1;break;
case(5):
lesa=1;lesb=0;lesc=1;break;
case(6):
lesa=0;lesb=1;lesc=1;break;
case(7):
lesa=1;lesb=1;lesc=1;break;
}
P0=shuma[j];
delay(50000);
P0=0x00;
} }
else if(j==1){
for(i=7;i>=0;i--)
{
switch(i)
{
case(0):
lesa=0;lesb=0;lesc=0;break;
case(1):
lesa=1;lesb=0;lesc=0;break;
case(2):
lesa=0;lesb=1;lesc=0;break;
case(3):
lesa=1;lesb=1;lesc=0;break;
case(4):
lesa=0;lesb=0;lesc=1;break;
case(5):
lesa=1;lesb=0;lesc=1;break;
case(6):
lesa=0;lesb=1;lesc=1;break;
case(7):
lesa=1;lesb=1;lesc=1;break;
}
P0=shuma[j];
delay(50000);
P0=0x00;
} }
}
void main ()
{
u8 j;
while(1){
j=0;
display(j);
lesa=1;lesb=1;lesc=1;
P0=0x02;
delay(50000);
P0=0x00;
j=1;
display(j);
lesa=0;lesb=0;lesc=0;
P0=0x10;
delay(50000);
P0=0x00;
j=2;
display(j);
lesa=1;lesb=1;lesc=1;
P0=0x04;
delay(50000);
P0=0x00;
j=1;
display(j);
lesa=0;lesb=0;lesc=0;
P0=0x20;
delay(50000);
P0=0x00;
}
}
|