久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
雙色心型LED流水燈原理圖、程序、仿真
[打印本頁]
作者:
小白不乖
時間:
2017-6-8 13:54
標題:
雙色心型LED流水燈原理圖、程序、仿真
自己閑得無聊,畫的心型led流水燈!
仿真圖如下(proteus仿真工程可到本帖附件中下載)
0.png
(24.18 KB, 下載次數: 49)
下載附件
2017-6-8 17:11 上傳
0.png
(48.42 KB, 下載次數: 91)
下載附件
2017-6-8 17:11 上傳
單片機雙色心形花樣燈源程序如下:
#include <REGX52.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個亮到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)
uchar i,j; //定義循環變量
uint tt=70; //定義時間指數
void delay(uint time) //延時函數
{
uint x,y;
for(x=time;x>0;x--)
for(y=110;y>0;y--);
}
void disp0() //狀態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() //狀態1 LED順時針轉一圈
{
for(i=0;i<8;i++)
{
P2=table1[i];
delay(1000);
}
P2=0xff;
for(i=0;i<8;i++)
{
P3=table1[i];
delay(1000);
}
P3=0xff;
for(i=0;i<8;i++)
{
P1=table1[i];
delay(1000);
}
P1=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
delay(1000);
}
P0=0xff;
}
void disp2() //狀態2 LED逆時針轉一圈
{
for(i=0;i<8;i++)
{
P0=table1[i];
delay(1000);
}
P0=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
delay(1000);
}
P1=0xff;
for(i=0;i<8;i++)
{
P3=table0[i];
delay(1000);
}
P3=0xff;
for(i=0;i<8;i++)
{
P2=table0[i];
delay(1000);
}
P2=0xff;
}
void disp3() //狀態3 4個LED同時順時、逆時針移動1/4圈
{
for(i=0;i<8;i++)
{
P0=table1[i];
P1=table1[i];
P2=table1[i];
P3=table0[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P0=table0[i];
P1=table0[i];
P2=table0[i];
P3=table1[i];
delay(1000);
}
P3=0xff; P0=0xff;
}
void disp4() //狀態4 2個LED同時順時針移動半圈
{
for(i=0;i<8;i++)
{
P2=table1[i];
P1=table1[i];
delay(1000);
}
P2=0xff; P1=0xff;
for(i=0;i<8;i++)
{
P3=table1[i];
P0=table0[i];
delay(1000);
}
P3=0xff; P0=0xff;
}
void disp5() //狀態5 2個LED同時逆時針移動半圈
{
for(i=0;i<8;i++)
{
P0=table1[i];
P3=table0[i];
delay(1000);
}
P0=0xff; P3=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
P2=table0[i];
delay(1000);
}
P1=0xff; P2=0xff;
}
void disp6() //狀態6 LED自上而下逐漸點亮(一半點亮一半不亮)
{
for(i=0;i<8;i++)
{
P0=table3[i];
P2=table3[i];
delay(1000);
}
P0=0xff; P2=0xff;
for(i=0;i<8;i++)
{
P1=table2[i];
P3=table3[i];
delay(1000);
}
P1=0xff; P3=0xff;
}
void disp7() //狀態7 LED自下而上逐漸點亮(直到全部點亮)
{
for(i=0;i<8;i++)
{
P1=table3[i];
P3=table2[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P0=table2[i];
P2=table2[i];
delay(1000);
}
}
void disp8() //狀態8 間斷8格的4個LED亮并逆時針旋轉
{
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(1000);
}
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(1000);
}
P0=0xff; P2=0xff; P1=0xff; P3=0xff;
}
}
void disp9() //狀態9 間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮)
{
for(i=0;i<8;i++)
{
P0=table3[i];
P2=table2[i];
P1=table2[i];
P3=table2[i];
delay(1000);
}
delay(500);
}
void disp10() //狀態10 從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅)
{
for(i=0;i<9;i++)
{
P0=table5[i];
P2=table4[i];
P1=table4[i];
P3=table4[i];
delay(1000);
}
delay(300);
}
void disp11() //狀態11 間斷8格的4個LED亮并順時針旋轉
{
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(1000);
}
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(1000);
}
P0=0xff; P2=0xff; P1=0xff; P3=0xff;
}
}
void disp12() //間斷8格的4個LED亮,然后順時針逐漸點亮(直到全部點亮)
{
for(i=0;i<8;i++)
{
P0=table2[i];
P2=table3[i];
P1=table3[i];
P3=table3[i];
delay(1000);
}
delay(1000);
}
void disp13() //狀態13 從LED全部亮到全不亮(間斷8格的4個LED開始順時針熄滅)
{
for(i=0;i<9;i++)
{
P0=table4[i];
P2=table5[i];
P1=table5[i];
P3=table5[i];
delay(1000);
}
delay(300);
}
void disp14() //狀態14 從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐步點亮)
{
for(i=0;i<8;i++)
{
P0=table2[i];
P1=table2[i];
P2=table2[i];
P3=table3[i];
delay(1000);
}
}
void disp15() //狀態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(1000);
}
delay(300);
}
void disp16() //狀態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(1000);
}
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() //狀態17 LED從P0.7開始逆時針逐步點亮,(循環2次)并且速度會逐步提高
{
for(i=0;i<8;i++)
{
P0=table3[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P1=table2[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P3=table2[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P2=table2[i];
delay(1000);
}
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() //狀態18 LED從P0.7開始逆時針逐步點亮(每亮8位后就熄滅)
{
for(i=0;i<8;i++)
{
P0=table3[i];
delay(1000);
}
P0=0xff;
for(i=0;i<8;i++)
{
P1=table2[i];
delay(1000);
}
P1=0xff;
for(i=0;i<8;i++)
{
P3=table2[i];
delay(1000);
}
P3=0xff;
for(i=0;i<8;i++)
{
P2=table2[i];
delay(1000);
}
P2=0xff;
}
void disp19() //狀態19 LED從P2.7開始順時針逐步點亮,(循環2次)并且速度會逐步提高
{
for(i=0;i<8;i++)
{
P2=table3[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P3=table3[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P1=table3[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P0=table2[i];
delay(1000);
}
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() //狀態20 LED從P2.7開始順時針逐步點亮(每亮8位后就熄滅)
{
for(i=0;i<8;i++)
{
P2=table3[i];
delay(1000);
}
P2=0xff;
for(i=0;i<8;i++)
{
P3=table3[i];
delay(1000);
}
P3=0xff;
for(i=0;i<8;i++)
{
P1=table3[i];
delay(1000);
}
P1=0xff;
for(i=0;i<8;i++)
{
P0=table2[i];
delay(1000);
}
P0=0xff;
}
void disp21() //狀態21 2個LED開始上下移動半圈
{
for(i=0;i<8;i++)
{
P0=table1[i];
P2=table1[i];
delay(1000);
}
P0=0xff; P2=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
P3=table1[i];
delay(1000);
}
for(i=0;i<8;i++)
{
P1=table1[i];
P3=table0[i];
delay(1000);
}
P1=0xff; P3=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
P2=table0[i];
delay(1000);
}
}
void disp22() //裝態22 2個LED自上而下移動(循環5次,且頻率漸快,到最快時持續循環16次,然后循環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() //狀態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() //狀態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() //狀態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() //狀態26 2個LED開始上下移動半圈(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() //狀態27 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮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() //狀態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() //狀態29 逐步順時針點亮P2、P1的LED,再順時熄滅后,再順時針點亮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);
}
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() //狀態30 逐步逆時針點亮P2、P1的LED,熄滅后,再逆時針點亮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() //狀態31 逐步逆時針點亮P2、P1的LED,再逆時熄滅后,再逆時針點亮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);
}
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() //狀態32 LED自上而下逐步點亮,然后從下往上逐步熄滅
{
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() //狀態33 LED從左往右開始點亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅)
{
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() //狀態34 LED從左往右開始點亮(直到全亮),然后從中間往左右邊熄滅
{
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() //狀態35 從P2.7、P1.7開始同時順時針旋轉,直到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() //狀態36 從P0.7、P3.1開始同時逆時針旋轉,直到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() //狀態37 2個LED自上而下移動,并點亮最下2個LED,然后2個LED再自下而上回去,同時4個LED(上下各2個LED)再來回移動一次
{
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() //狀態38 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮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() //狀態39 P1、P3LED(下半部分)一直亮,上半部分LED向外擴張亮,然后閃爍3次
{
P1=0x00; P3=0x00;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
心型LED燈.rar
(97.26 KB, 下載次數: 50)
2017-6-8 13:53 上傳
點擊文件名下載附件
黃綠紅藍四色LED燈
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日一区二区
|
在线观看中文字幕视频
|
久久久精品一区二区三区
|
国产麻豆一区二区三区
|
能看的av
|
亚洲色片网站
|
成年人精品视频在线观看
|
www成年人视频
|
精品九九九
|
久久久999免费视频 999久久久久久久久6666
|
亚洲精品欧美一区二区三区
|
成人精品一区亚洲午夜久久久
|
国产一区二区三区四区
|
国产 欧美 日韩 一区
|
久久精品
|
欧美日韩视频在线播放
|
亚洲一区久久
|
狠狠操狠狠操
|
久久久久久国产精品久久
|
国产欧美日韩在线观看
|
国产精品视频久久久
|
欧美日韩一区精品
|
www.日韩欧美
|
成人福利片
|
日韩手机在线视频
|
久草精品视频
|
色网在线播放
|
国产精品久久久久永久免费观看
|
欧美精品一区二区三区四区五区
|
日韩精品一区在线
|
91精品观看
|
国产成人精品一区二区
|
国产三区四区
|
99国产精品一区二区三区
|
亚洲精品68久久久一区
|
欧美亚洲国产日韩
|
亚洲在线免费
|
国产精品久久久久久久久久久久冷
|
欧美不卡网站
|
国产日韩欧美一区二区在线播放
|
日韩在线精品视频
|