#include <reg52.h>
#define ON=0;
#define OFF=1;
uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED從低位往高位移
uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED從高位往低位移
uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED從1個亮到8個都點亮(從低位往高位)
uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED從1個亮到8個都點亮(從高位往低位)
uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED從8個全亮到一個都不亮(從低位往高位)
uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED從8個全亮到一個都不亮(從高位往低位)
uchar code table6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED從低位往高位移(最低位始終為0)
uchar code table7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED從高位往低位移(最高位始終為0)
sbit LED0=P0^0;
sbit LED1=P0^1;
sbit LED2=P0^2;
sbit LED3=P0^3;
sbit LED4=P0^4;
sbit LED5=P0^5;
sbit LED6=P0^6;
sbit LED7=P0^7;
sbit LED8=P1^0;
sbit LED9=P1^1;
unsigned char x,y;
unsigned int tt=70;
void delay (unsigned int xms)
{
unsigned int i,j;
for(i=xms,i>0,i--)
for(j=112,j>0,J--);
}
void main()
{
void disp0() //狀態(tài)1 ,300ms間隔2次。
{
for(x=0;x<3;x++)
{
P0=0X00; P1^0=0; P1^1=0;
delay(300);
P0=0Xff; P1^0=1; P1^1=1;
delay(300);
}
}
void disp1() //狀態(tài)2,左
{
for(x=0;x<1;x++)
{
P0^0=0; P0^1=0;
delay(100);
P0^0=1; P0^1=1;
delay(100);
}
}
void disp2() //狀態(tài)3,右
{
for(x=0;x<1;x++)
{
P0^2=0; P0^3=0;
delay(100);
P0^2=1; P0^3=1;
delay(100);
}
}
void disp3() //狀態(tài)4;嘴巴。
{
for(x=0;x<1;x++)
{
P0^4=0;P0^5=0;P0^6=0;P0^7=0;
delay(100)
P0^4=1;P0^5=1;P0^6=1;P0^7=1;
delay(100)
}
}
void disp4() //狀態(tài)5,順時針一圈
{
for(i=0;i<8;i++)
{
P0=table1[i];
delay(100);
}
P0=0X00;
delay(1000);;
for(i=0;i<8;i++)
{
P1=table1[i];
delay(100);
}
P1^0=0;
P1^1=0;
delay(1000);
}
void disp5() //狀態(tài)6,逆時針一圈
{
for(i=0;i<8;i++)
{
P0=table0[i];
delay(100);
}
P0=0X00;
delay(1000);
for(i=0;i<8;i++)
{
P1=table0[i];
delay(100);
}
P1^0=0;
P1^1=0;
delay(1000);
}
void disp6() //自下而上燈亮。
{
while(1)
{
LED5=ON;
LED6=ON;
delay(300);
LED4=ON;
LED7=ON;
delay(300);
LED1=ON;
LED3=ON;
delay(300);
LED0=ON;
LED2=ON;
delay(300);
LED8=ON;
LED9=ON;
delay(300);
}
}
void disp7() //狀態(tài)8,燈常亮。
{
for(x=0;x<1;x++)
{
P0=0X00; P1^0=0; P1^1=0;
}
}
}
|