找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2110|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

心形燈的代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:147134 發(fā)表于 2016-11-9 21:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#define        uint        unsigned int
#define        uchar        unsigned char
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個(gè)亮到8個(gè)都點(diǎn)亮(從低位往高位)
uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED從1個(gè)亮到8個(gè)都點(diǎn)亮(從高位往低位)
uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED從8個(gè)全亮到一個(gè)都不亮(從低位往高位)
uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED從8個(gè)全亮到一個(gè)都不亮(從高位往低位)
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)
uchar i,j;                //定義循環(huán)變量
uint tt=70;                //定義時(shí)間指數(shù)
void delay(uint time)        //延時(shí)函數(shù)
{
         uint x,y;
         for(x=time;x>0;x--)
         for(y=110;y>0;y--);
}
void disp0()                        //狀態(tài)0 所有LED閃爍3次
{
         for(i=0;i<3;i++)
         {
                 P0=0x00; P2=0x00; P3=0x00; P1=0x00;
                 delay(300);
                 P0=0xff; P2=0xff; P3=0xff; P1=0xff;
                 delay(300);
         }
}
void disp1()                        //狀態(tài)1 LED順時(shí)針轉(zhuǎn)一圈
{
         P0=0xff;
         for(i=0;i<8;i++)
         {
                 P2=table1[i];
                 delay(300);
         }
         P2=0xff;
         for(i=0;i<8;i++)
         {
                 P3=table1[i];
                 delay(300);
         }
         P3=0xff;
         for(i=0;i<8;i++)
         {
                 P1=table1[i];        
                 delay(300);
         }
         P1=0xff;
         for(i=0;i<8;i++)
         {
                 P0=table0[i];
                 delay(300);
         }
}
void disp2()                        //狀態(tài)2 LED逆時(shí)針轉(zhuǎn)一圈
{
         for(i=0;i<8;i++)
         {
                 P0=table1[i];
                 delay(100);
         }
         P0=0xff;
         for(i=0;i<8;i++)
         {
                 P1=table0[i];
                 delay(100);
         }
         P1=0xff;
         for(i=0;i<8;i++)
         {
                 P3=table0[i];
                 delay(100);
         }
         P3=0xff;
         for(i=0;i<8;i++)
         {
                 P2=table0[i];
                 delay(100);
         }
         P2=0xff;
}
void disp3()                        //狀態(tài)3 4個(gè)LED同時(shí)順時(shí)、逆時(shí)針移動(dòng)1/4圈
{
         for(i=0;i<8;i++)
         {
                 P0=table1[i];
                 P1=table1[i];
                 P2=table1[i];
                 P3=table0[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P0=table0[i];
                 P1=table0[i];
                 P2=table0[i];
                 P3=table1[i];
                 delay(100);
         }
         P3=0xff; P0=0xff;
}
void disp4()                        //狀態(tài)4  2個(gè)LED同時(shí)順時(shí)針移動(dòng)半圈
{
         for(i=0;i<8;i++)
         {
                 P2=table1[i];
                 P1=table1[i];
                 delay(100);
         }
         P2=0xff; P1=0xff;
         for(i=0;i<8;i++)
         {
                 P3=table1[i];
                 P0=table0[i];
                 delay(100);
         }
         P3=0xff; P0=0xff;
}
void disp5()                        //狀態(tài)5  2個(gè)LED同時(shí)逆時(shí)針移動(dòng)半圈
{
         for(i=0;i<8;i++)
         {
                 P0=table1[i];
                 P3=table0[i];
                 delay(100);
         }
         P0=0xff; P3=0xff;
         for(i=0;i<8;i++)
         {
                 P1=table0[i];
                 P2=table0[i];
                 delay(100);
         }
         P1=0xff; P2=0xff;
}
void disp6()                        //狀態(tài)6 LED自上而下逐漸點(diǎn)亮(一半點(diǎn)亮一半不亮)
{
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 P2=table3[i];
                 delay(100);
         }
         P0=0xff; P2=0xff;
         for(i=0;i<8;i++)
         {
                 P1=table2[i];
                 P3=table3[i];
                 delay(100);
         }
         P1=0xff; P3=0xff;
}
void disp7()                        //狀態(tài)7 LED自下而上逐漸點(diǎn)亮(直到全部點(diǎn)亮)
{
         for(i=0;i<8;i++)
         {
                 P1=table3[i];
                 P3=table2[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P0=table2[i];
                 P2=table2[i];
                 delay(100);
         }
}
void disp8()                        //狀態(tài)8 間斷8格的4個(gè)LED亮并逆時(shí)針旋轉(zhuǎn)
{
         for(j=0;j<2;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P0=table1[i];
                         P2=table0[i];
                         P1=table0[i];
                         P3=table0[i];
                         delay(100);
                 }
                 P0=0xff; P2=0xff; P1=0xff; P3=0xff;
                 for(i=0;i<8;i++)
                 {
                         P0=table1[i];
                         P2=table0[i];
                         P1=table0[i];
                         P3=table0[i];
                         delay(100);
                 }
                 P0=0xff; P2=0xff; P1=0xff; P3=0xff;
         }
}
void disp9()                        //狀態(tài)9 間斷8格的4個(gè)LED亮,然后逆時(shí)針逐漸點(diǎn)亮(直到全部點(diǎn)亮)
{
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 P2=table2[i];
                 P1=table2[i];
                 P3=table2[i];
                 delay(100);
         }
         delay(500);        
}
void disp10()                        //狀態(tài)10 從LED全部亮到全不亮(間斷8格的4個(gè)LED開始逆時(shí)針熄滅)
{
         for(i=0;i<9;i++)
         {
                 P0=table5[i];
                 P2=table4[i];
                 P1=table4[i];
                 P3=table4[i];
                 delay(100);
         }
         delay(300);
}
void disp11()                        //狀態(tài)11 間斷8格的4個(gè)LED亮并順時(shí)針旋轉(zhuǎn)
{
         for(j=0;j<2;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P0=table0[i];
                         P2=table1[i];
                         P1=table1[i];
                         P3=table1[i];
                         delay(100);
                 }
                 P0=0xff; P2=0xff; P1=0xff; P3=0xff;
                 for(i=0;i<8;i++)
                 {
                         P0=table0[i];
                         P2=table1[i];
                         P1=table1[i];
                         P3=table1[i];
                         delay(100);
                 }
                 P0=0xff; P2=0xff; P1=0xff; P3=0xff;
         }
}
void disp12()                        //間斷8格的4個(gè)LED亮,然后順時(shí)針逐漸點(diǎn)亮(直到全部點(diǎn)亮)
{
         for(i=0;i<8;i++)
         {
                 P0=table2[i];
                 P2=table3[i];
                 P1=table3[i];
                 P3=table3[i];
                 delay(100);
         }
         delay(1000);
}
void disp13()                        //狀態(tài)13 從LED全部亮到全不亮(間斷8格的4個(gè)LED開始順時(shí)針熄滅)
{
         for(i=0;i<9;i++)
         {
                 P0=table4[i];
                 P2=table5[i];
                 P1=table5[i];
                 P3=table5[i];
                 delay(100);
         }
         delay(300);
}
void disp14()                        //狀態(tài)14 從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐步點(diǎn)亮)
{
         for(i=0;i<8;i++)
         {
                 P0=table2[i];
                 P1=table2[i];
                 P2=table2[i];
                 P3=table3[i];
                 delay(100);
         }
}
void disp15()                        //狀態(tài)15 從LED全亮到全不亮(從P0.7、P1.7、P2.7、P3.0開始逐步熄滅)
{
         for(i=0;i<9;i++)
         {
                 P0=table5[i];
                 P1=table5[i];
                 P2=table5[i];
                 P3=table4[i];
                 delay(100);
         }
         delay(300);
}
void disp16()                        //狀態(tài)16 LED燈交替閃爍(頻率有慢變快)
{
         for(i=0;i<5;i++)
         {
                 P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
                 delay(100);
                 P0=~P0; P1=~P1; P2=~P2; P3=~P3;
                 delay(100);
         }
         for(i=0;i<5;i++)
         {
                 P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
                 delay(200);
                 P0=~P0; P1=~P1; P2=~P2; P3=~P3;
                 delay(200);
         }
         for(i=0;i<5;i++)
         {
                 P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
                 delay(300);
                 P0=~P0; P1=~P1; P2=~P2; P3=~P3;
                 delay(300);
         }
         P0=0xff; P2=0xff; P1=0xff; P3=0xff;
         delay(300);
}
void disp17()                        //狀態(tài)17 LED從P0.7開始逆時(shí)針逐步點(diǎn)亮,(循環(huán)2次)并且速度會(huì)逐步提高
{
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P1=table2[i];
                 delay(100);
         }        
         for(i=0;i<8;i++)
         {
                 P3=table2[i];
                 delay(100);
         }        
         for(i=0;i<8;i++)
         {
                 P2=table2[i];
                 delay(100);
         }
         P0=0xff; P1=0xff; P3=0xff; P2=0xff;
/*******************************/
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 delay(50);
         }
         for(i=0;i<8;i++)
         {
                 P1=table2[i];
                 delay(50);
         }        
         for(i=0;i<8;i++)
         {
                 P3=table2[i];
                 delay(50);
         }        
         for(i=0;i<8;i++)
         {
                 P2=table2[i];
                 delay(50);
         }
         P0=0xff; P1=0xff; P3=0xff; P2=0xff;        
}
void disp18()                        //狀態(tài)18 LED從P0.7開始逆時(shí)針逐步點(diǎn)亮(每亮8位后就熄滅)
{
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 delay(100);
         }
         P0=0xff;
         for(i=0;i<8;i++)
         {
                 P1=table2[i];
                 delay(100);
         }        
         P1=0xff;
         for(i=0;i<8;i++)
         {
                 P3=table2[i];
                 delay(100);
         }
         P3=0xff;        
         for(i=0;i<8;i++)
         {
                 P2=table2[i];
                 delay(100);
         }
         P2=0xff;        
}
void disp19()                        //狀態(tài)19 LED從P2.7開始順時(shí)針逐步點(diǎn)亮,(循環(huán)2次)并且速度會(huì)逐步提高
{
         for(i=0;i<8;i++)
         {
                 P2=table3[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P3=table3[i];
                 delay(100);
         }        
         for(i=0;i<8;i++)
         {
                 P1=table3[i];
                 delay(100);
         }        
         for(i=0;i<8;i++)
         {
                 P0=table2[i];
                 delay(100);
         }
         P0=0xff; P1=0xff; P3=0xff; P2=0xff;
/*******************************/
         for(i=0;i<8;i++)
         {
                 P2=table3[i];
                 delay(50);
         }
         for(i=0;i<8;i++)
         {
                 P3=table3[i];
                 delay(50);
         }        
         for(i=0;i<8;i++)
         {
                 P1=table3[i];
                 delay(50);
         }        
         for(i=0;i<8;i++)
         {
                 P0=table2[i];
                 delay(50);
         }
         P0=0xff; P1=0xff; P3=0xff; P2=0xff;        
}
void disp20()                        //狀態(tài)20 LED從P2.7開始順時(shí)針逐步點(diǎn)亮(每亮8位后就熄滅)
{
         for(i=0;i<8;i++)
         {
                 P2=table3[i];
                 delay(100);
         }
         P2=0xff;
         for(i=0;i<8;i++)
         {
                 P3=table3[i];
                 delay(100);
         }        
         P3=0xff;
         for(i=0;i<8;i++)
         {
                 P1=table3[i];
                 delay(100);
         }
         P1=0xff;        
         for(i=0;i<8;i++)
         {
                 P0=table2[i];
                 delay(100);
         }
         P0=0xff;               
}
void disp21()                        //狀態(tài)21 2個(gè)LED開始上下移動(dòng)半圈
{
         for(i=0;i<8;i++)
         {
                 P0=table1[i];
                 P2=table1[i];
                 delay(100);
         }
         P0=0xff; P2=0xff;
         for(i=0;i<8;i++)
         {
                 P1=table0[i];
                 P3=table1[i];
                 delay(100);
         }
         
         for(i=0;i<8;i++)
         {
                 P1=table1[i];
                 P3=table0[i];
                 delay(100);
         }
         P1=0xff; P3=0xff;
         for(i=0;i<8;i++)
         {
                 P0=table0[i];
                 P2=table0[i];
                 delay(100);
         }
}
void disp22()                        //裝態(tài)22 2個(gè)LED自上而下移動(dòng)(循環(huán)5次,且頻率漸快,到最快時(shí)持續(xù)循環(huán)16次,然后循環(huán)5次頻率再逐漸降低)
{        
         for(j=0;j<5;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P0=table1[i];
                         P2=table1[i];
                         delay(tt);
                 }
                 P0=0xff; P2=0xff;
                 for(i=0;i<8;i++)
                 {
                         P1=table0[i];
                         P3=table1[i];
                         delay(tt);
                 }
                 P1=0xff; P3=0xff;
                 tt=tt-10;
         }
         for(j=0;j<16;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P0=table1[i];
                         P2=table1[i];
                         delay(20);
                 }
                 P0=0xff; P2=0xff;
                 for(i=0;i<8;i++)
                 {
                         P1=table0[i];
                         P3=table1[i];
                         delay(20);
                 }
                 P1=0xff; P3=0xff;
         }
         tt=20;
         for(j=0;j<5;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P0=table1[i];
                         P2=table1[i];
                         delay(tt);
                 }
                 P0=0xff; P2=0xff;
                 for(i=0;i<8;i++)
                 {
                         P1=table0[i];
                         P3=table1[i];
                         delay(tt);
                 }
                 P1=0xff; P3=0xff;
                 tt=tt+10;
         }
         tt=70;        
                 
}
void disp23()                        //狀態(tài)23 LED上下交替閃爍
{
         for(i=0;i<2;i++)
         {
                 P0=0x00; P2=0x00;
                 delay(1000);
                 P0=0xff; P2=0xff;
                 P1=0x00; P3=0x00;
                 delay(1000);
                 P1=0xff; P3=0xff;
         }
}
void disp24()                        //狀態(tài)24 LED左右交替閃爍
{
         P1=0xff; P3=0xff; P0=0xff; P2=0xff;
         for(i=0;i<2;i++)
         {
                 P0=0x00; P1=0x00;
                 delay(1000);
                 P0=0xff; P1=0xff;
                 P2=0x00; P3=0x00;
                 delay(1000);
                 P2=0xff; P3=0xff;
         }
}
void disp25()                        //狀態(tài)25 LED交替閃爍
{
         for(i=0;i<5;i++)
         {
                 P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
                 delay(1000);
                 P0=~P0; P1=~P1; P2=~P2; P3=~P3;
                 delay(1000);               
         }
}
void disp26()                        //狀態(tài)26 2個(gè)LED開始上下移動(dòng)半圈(LED不亮流水)
{
         P0=0x00;P1=0x00;P2=0x00;P3=0x00;
         for(i=0;i<8;i++)
         {
                 P0=~table1[i];
                 P2=~table1[i];
                 delay(200);
         }
         P0=0x00; P2=0x00;
         for(i=0;i<8;i++)
         {
                 P1=~table0[i];
                 P3=~table1[i];
                 delay(200);
         }
         
         for(i=0;i<8;i++)
         {
                 P1=~table1[i];
                 P3=~table0[i];
                 delay(200);
         }
         P1=0x00; P3=0x00;
         for(i=0;i<8;i++)
         {
                 P0=~table0[i];
                 P2=~table0[i];
                 delay(200);
         }
}
void disp27()                        //狀態(tài)27 逐步順時(shí)針點(diǎn)亮P2、P1的LED,熄滅后,再順時(shí)針點(diǎn)亮P0、P3的LED
{
         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
         for(j=0;j<2;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P2=table3[i];
                         P1=table3[i];
                         delay(100);
                 }
                 P2=0xff; P1=0xff;
                 for(i=0;i<8;i++)
                 {
                         P0=table2[i];
                         P3=table3[i];
                         delay(100);
                 }
                 P0=0xff; P3=0xff;
         }
}
                        
void disp28()                        //狀態(tài)28 P1、P2和P0、P3交替閃爍
{        
         for(i=0;i<2;i++)
         {
                 P1=0x00; P2=0x00; P0=0xff; P3=0xff;
                 delay(1000);
                 P1=0xff; P2=0xff; P0=0x00; P3=0x00;
                 delay(1000);
         }
         P1=0xff; P2=0xff; P0=0xff; P3=0xff;
}
void disp29()                        //狀態(tài)29 逐步順時(shí)針點(diǎn)亮P2、P1的LED,再順時(shí)熄滅后,再順時(shí)針點(diǎn)亮P0、P3的LED,再順時(shí)熄滅
{        
         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
         for(j=0;j<2;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P2=table3[i];
                         P1=table3[i];
                         delay(100);
                 }
                 for(i=0;i<9;i++)
                 {
                         P2=table5[i];
                         P1=table5[i];
                         delay(100);
                 }
                 for(i=0;i<8;i++)
                 {
                         P0=table2[i];
                         P3=table3[i];
                         delay(100);
                 }
                 for(i=0;i<9;i++)
                 {
                         P0=table4[i];
                         P3=table5[i];
                         delay(100);
                 }
         }
         delay(200);        
}
void disp30()                        //狀態(tài)30 逐步逆時(shí)針點(diǎn)亮P2、P1的LED,熄滅后,再逆時(shí)針點(diǎn)亮P0、P3的LED
{
         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
         for(j=0;j<2;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P2=table2[i];
                         P1=table2[i];
                         delay(100);
                 }
                 P2=0xff; P1=0xff;
                 for(i=0;i<8;i++)
                 {
                         P0=table3[i];
                         P3=table2[i];
                         delay(100);
                 }
                 P0=0xff; P3=0xff;
         }
}
void disp31()                        //狀態(tài)31 逐步逆時(shí)針點(diǎn)亮P2、P1的LED,再逆時(shí)熄滅后,再逆時(shí)針點(diǎn)亮P0、P3的LED,再逆時(shí)熄滅
{
         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
         for(j=0;j<2;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P2=table2[i];
                         P1=table2[i];
                         delay(100);
                 }
                 for(i=0;i<9;i++)
                 {
                         P2=table4[i];
                         P1=table4[i];
                         delay(100);
                 }
                 for(i=0;i<8;i++)
                 {
                         P0=table3[i];
                         P3=table2[i];
                         delay(100);
                 }
                 for(i=0;i<9;i++)
                 {
                         P0=table5[i];
                         P3=table4[i];
                         delay(100);
                 }
         }
         delay(200);        
}
void disp32()                        //狀態(tài)32 LED自上而下逐步點(diǎn)亮,然后從下往上逐步熄滅
{
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 P2=table3[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P1=table2[i];
                 P3=table3[i];
                 delay(100);
         }
         for(i=0;i<9;i++)
         {
                 P1=table5[i];
                 P3=table4[i];
                 delay(100);
         }
         for(i=0;i<9;i++)
         {
                 P0=table4[i];
                 P2=table4[i];
                 delay(100);
         }
}
void disp33()                        //狀態(tài)33 LED從左往右開始點(diǎn)亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅)
{
         for(i=0;i<8;i++)
         {
                 P0=table2[i];
                 P1=table2[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P2=table3[i];
                 P3=table2[i];
                 delay(100);
         }
         delay(500);
         for(i=0;i<9;i++)
         {
                 P2=table4[i];
                 P3=table5[i];
                 P1=table4[i];
                 P0=table4[i];
                 delay(100);
         }
         delay(300);
}
void disp34()                        //狀態(tài)34 LED從左往右開始點(diǎn)亮(直到全亮),然后從中間往左右邊熄滅
{
         for(i=0;i<8;i++)
         {
                 P2=table2[i];
                 P3=table3[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 P1=table3[i];
                 delay(100);
         }
         delay(500);
         for(i=0;i<9;i++)
         {
                 P2=table5[i];
                 P3=table4[i];
                 P1=table5[i];
                 P0=table5[i];
                 delay(100);
         }
         delay(300);        
}
void disp35()                        //狀態(tài)35  從P2.7、P1.7開始同時(shí)順時(shí)針旋轉(zhuǎn),直到LED全亮
{
         for(i=0;i<8;i++)
         {
                 P2=table3[i];
                 P1=table3[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P3=table3[i];
                 P0=table2[i];
                 delay(100);
         }
}
void disp36()                        //狀態(tài)36  從P0.7、P3.1開始同時(shí)逆時(shí)針旋轉(zhuǎn),直到LED全亮
{
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 P3=table2[i];
                 delay(100);
         }
         for(i=0;i<8;i++)
         {
                 P1=table2[i];
                 P2=table2[i];
                 delay(100);
         }
}
void disp37()                        //狀態(tài)37 2個(gè)LED自上而下移動(dòng),并點(diǎn)亮最下2個(gè)LED,然后2個(gè)LED再自下而上回去,同時(shí)4個(gè)LED(上下各2個(gè)LED)再來回移動(dòng)一次
{
         for(i=0;i<8;i++)
         {
                 P0=table1[i];
                 P2=table1[i];
                 delay(100);
         }
         P0=0xff; P2=0xff;
         for(i=0;i<8;i++)
         {
                 P1=table0[i];
                 P3=table1[i];
                 delay(100);
         }
         
         for(i=0;i<8;i++)
         {
                 P1=table7[i];
                 P3=table6[i];
                 delay(100);
         }
         P1=0x7f; P3=0xfe;
         for(i=0;i<8;i++)
         {
                 P0=table0[i];
                 P2=table0[i];
                 delay(100);
         }
         
         for(i=0;i<8;i++)
         {
                 P0=table1[i];
                 P2=table1[i];
                 P1=table1[i];
                 P3=table0[i];
                 delay(200);
         }
         
         for(i=0;i<8;i++)
         {
                 P0=table0[i];
                 P1=table0[i];
                 P2=table0[i];
                 P3=table1[i];
                 delay(200);
         }        
         P0=0xff;P1=0xff; P2=0xff;P3=0xff;
}
void disp38()                        //狀態(tài)38 逐步順時(shí)針點(diǎn)亮P2、P1的LED,熄滅后,再順時(shí)針點(diǎn)亮P0、P3的LED
{
         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
         for(j=0;j<2;j++)
         {
                 for(i=0;i<8;i++)
                 {
                         P2=table3[i];
                         P1=table3[i];
                         delay(100);
                 }
                 P2=0xff; P1=0xff;
                 for(i=0;i<8;i++)
                 {
                         P0=table2[i];
                         P3=table3[i];
                         delay(100);
                 }
                 P0=0xff; P3=0xff;
         }        
}
void disp39()                        //狀態(tài)39 P1、P3LED(下半部分)一直亮,上半部分LED向外擴(kuò)張亮,然后閃爍3次
{
         P1=0x00; P3=0x00;
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 P2=table3[i];
                 delay(150);
         }
         for(i=0;i<8;i++)
         {
                 P0=table3[i];
                 P2=table3[i];
                 delay(300);
         }
         for(i=0;i<4;i++)
         {
                 P0=~P0; P2=~P2;
                 delay(300);
         }
         delay(1000);
}
void disp40()                        //狀態(tài)40 LED從P3.0、P0.7開始逆時(shí)針同時(shí)熄滅,直到LED全部熄滅
{
         for(i=0;i<9;i++)
         {
                 P3=table4[i];
                 P0=table5[i];
                 delay(100);
         }
         for(i=1;i<9;i++)
         {
                 P2=table4[i];
                 P1=table4[i];
                 delay(100);
         }
         delay(300);        
}
void disp41()                        //狀態(tài)41 LED從P2.7、P1.7開始順時(shí)針同時(shí)熄滅,直到全部熄滅
{
         for(i=0;i<9;i++)
         {
                 P2=table5[i];
                 P1=table5[i];
                 delay(100);
         }
         for(i=1;i<9;i++)
         {
                 P0=table4[i];
                 P3=table5[i];
                 delay(100);
         }
         delay(300);               
}
void main()
{        
         while(1)
         {               
                 disp0();                 //狀態(tài)0 所有LED閃爍3次
                disp1();                 //狀態(tài)1 LED順時(shí)針轉(zhuǎn)一圈
                disp2();                 //狀態(tài)2 LED逆時(shí)針轉(zhuǎn)一圈
                disp3();                 //狀態(tài)3 4個(gè)LED同時(shí)順時(shí)、逆時(shí)針移動(dòng)1/4圈
                disp4();                 //狀態(tài)4  2個(gè)LED同時(shí)順時(shí)針移動(dòng)半圈
                disp5();                 //狀態(tài)5  2個(gè)LED同時(shí)逆時(shí)針移動(dòng)半圈
                disp6();                 //狀態(tài)6 LED自上而下逐漸點(diǎn)亮(一半點(diǎn)亮一半不亮)
                 disp7();                 //狀態(tài)7 LED自下而上逐漸點(diǎn)亮(直到全部點(diǎn)亮)
                 disp0();                 //狀態(tài)0 所有LED閃爍3次
                disp8();                 //狀態(tài)8 間斷8格的4個(gè)LED亮并逆時(shí)針旋轉(zhuǎn)
                disp9();                 //狀態(tài)9 間斷8格的4個(gè)LED亮,然后逆時(shí)針逐漸點(diǎn)亮(直到全部點(diǎn)亮)
                 disp10();                //狀態(tài)10 從LED全部亮到全不亮(間斷8格的4個(gè)LED開始逆時(shí)針熄滅)
                 disp11();                //狀態(tài)11 間斷8格的4個(gè)LED亮并順時(shí)針旋轉(zhuǎn)
                disp12();                //間斷8格的4個(gè)LED亮,然后順時(shí)針逐漸點(diǎn)亮(直到全部點(diǎn)亮)
                 disp13();                //狀態(tài)13 從LED全部亮到全不亮(間斷8格的4個(gè)LED開始順時(shí)針熄滅)
                 disp14();                //狀態(tài)14 從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐布點(diǎn)亮)   
                 disp15();                //狀態(tài)15 從LED全亮到全不亮(從P0.7、P1.7、P2.7、P3.0開始逐步熄滅)
                 disp16();                //狀態(tài)16 LED燈交替閃爍(頻率有慢變快)
                 disp17();                //狀態(tài)17 LED從P0.7開始逆時(shí)針逐步點(diǎn)亮,并且速度會(huì)逐步提高
                disp18();                //狀態(tài)18 LED從P0.7開始逆時(shí)針逐步點(diǎn)亮(每亮8位后就熄滅)
                 disp19();                //狀態(tài)19 LED從P2.7開始順時(shí)針逐步點(diǎn)亮,(循環(huán)2次)并且速度會(huì)逐步提高
                disp20();                //狀態(tài)20 LED從P2.7開始順時(shí)針逐步點(diǎn)亮(每亮8位后就熄滅)
                 disp21();                //狀態(tài)21 2個(gè)LED開始上下移動(dòng)半圈
                disp22();                //裝態(tài)22 2個(gè)LED自上而下移動(dòng)(循環(huán)5次,且頻率漸快,到最快時(shí)持續(xù)循環(huán)16次,然后循環(huán)5次頻率再逐漸降低
                disp23();                //狀態(tài)23 LED上下交替閃爍
                disp39();                //狀態(tài)39 P1、P3LED(下半部分)一直亮,上半部分LED向外擴(kuò)張亮,然后閃爍3次
                disp24();                //狀態(tài)24 LED左右交替閃爍
                disp25();                //狀態(tài)25 LED交替閃爍  
                 disp8();                 //狀態(tài)8 間斷8格的4個(gè)LED亮并逆時(shí)針旋轉(zhuǎn)
                disp9();                 //狀態(tài)9 間斷8格的4個(gè)LED亮,然后逆時(shí)針逐漸點(diǎn)亮(直到全部點(diǎn)亮)
                 disp10();                //狀態(tài)10 從LED全部亮到全不亮(間斷8格的4個(gè)LED開始逆時(shí)針熄滅)
                 disp26();                //狀態(tài)26 2個(gè)LED開始上下移動(dòng)半圈(LED不亮流水)
                 disp27();                //狀態(tài)27 逐步順時(shí)針點(diǎn)亮P2、P1的LED,熄滅后,再順時(shí)針點(diǎn)亮P0、P3的LED
                 disp28();                //狀態(tài)28 P1、P2和P0、P3交替閃爍
                disp38();                //狀態(tài)38 逐步順時(shí)針點(diǎn)亮P2、P1的LED,熄滅后,再順時(shí)針點(diǎn)亮P0、P3的LED
                 disp29();                //狀態(tài)29 逐步順時(shí)針點(diǎn)亮P2、P1的LED,再順時(shí)熄滅后,再順時(shí)針點(diǎn)亮P0、P3的LED,再順時(shí)熄滅
                disp30();                //狀態(tài)30 逐步逆時(shí)針點(diǎn)亮P2、P1的LED,熄滅后,再逆時(shí)針點(diǎn)亮P0、P3的LED
                 disp31();                //狀態(tài)31 逐步逆時(shí)針點(diǎn)亮P2、P1的LED,再逆時(shí)熄滅后,再逆時(shí)針點(diǎn)亮P0、P3的LED,再逆時(shí)熄滅
                disp32();                //狀態(tài)32 LED自上而下逐步點(diǎn)亮,然后從下往上逐步熄滅
                disp33();                //狀態(tài)33 LED從左往右開始點(diǎn)亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅)
                 disp37();                //狀態(tài)37 2個(gè)LED自上而下移動(dòng),并點(diǎn)亮最下2個(gè)LED,然后2個(gè)LED再自下而上回去,同時(shí)4個(gè)LED(上下各2個(gè)LED)再來回移動(dòng)一次
                disp36();                //狀態(tài)36  從P0.7、P3.0開始同時(shí)逆時(shí)針旋轉(zhuǎn),直到LED全亮
                disp40();                //狀態(tài)40 LED從P3.0、P0.7開始逆時(shí)針同時(shí)熄滅,直到LED全部熄滅
                disp35();                //狀態(tài)35  從P2.7、P1.7開始同時(shí)順時(shí)針旋轉(zhuǎn),直到LED全亮
                disp41();                //狀態(tài)41 LED從P2.7、P1.7開始順時(shí)針同時(shí)熄滅,直到全部熄滅
                disp34();                //狀態(tài)34 LED從左往右開始點(diǎn)亮(直到全亮),然后從中間往左右邊熄滅
                disp28();                //狀態(tài)28 P1、P2和P0、P3交替閃爍
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表