|
#include<reg51.h>
#include<intrins.h>
sbit P3_0=P3^0;
// unsigned char led[]={0x90,0x82,0xc0,0x90,0xa4,0xc0};
// unsigned char led1[]={0x90,0xc0,0xf9,0xa4,0xa4,0x92};
// unsigned char led2[]={0xff,0xff,0xff,0xff,0xff,
// 0x89,0x86,0xc7,0xc7,0xc0,0xff};
// unsigned char com[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,};
// unsigned char j,n,x;
void delay(unsigned int i)
{
unsigned int k;
for(k=0;k<i;k++);
}
void disp1()
{
unsigned char led[]={0x90,0x82,0xc0,0x90,0xa4,0xc0};
unsigned char x,w;
w=0xfe;
for(x=0;x<6;x++)
{
P1=0xff;
P2=w;
w=_crol_(w,1);
P1=led[x];
delay(100);
}
}
void disp2()
{
unsigned char led1[]={0x90,0xc0,0xf9,0xa4,0xa4,0x92};
unsigned char y,d;
d=0xfe;
for(y=0;y<6;y++)
{
P1=0xff;
P2=d;
d=_crol_(d,1);
P1=led1[y];
delay(100);
}
}
void disp3()
{
unsigned char led2[]={0xff,0xff,0xff,0xff,0xff,
0x89,0x86,0xc7,0xc7,0xc0,0xff};
unsigned char com[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,};
unsigned char i,j,n;
{for(n=0;n<6;n++) //HELLO
for(j=0;j<100;j++)
for(i=0;i<6;i++)
{
P1=0xff;
P2=com[i];
P1=led2[n+i];
delay(100);
}
}
}
void main()
{
unsigned char num;
P1=0xff;
while(1)
{
if(P3_0==0)
{
delay(10);
if(P3_0==0)
{
num++;
if(num==3)
{
num=0;
}
while(P3_0==0);
}
}
switch(num)
{
case 0:disp1();break;
case 1:disp2();break;
case 2:disp3();break;
}
}
}
|
|