欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機心形花樣流水燈000入門級DIY小作品
[打印本頁]
作者:
梁光陽
時間:
2017-5-16 14:13
標題:
單片機心形花樣流水燈000入門級DIY小作品
51單片機做的心形花樣流水燈,DIY小作品必備
數字心形.png
(9.94 KB, 下載次數: 81)
下載附件
2017-5-16 14:12 上傳
電路原理圖如下:
0.png
(122.57 KB, 下載次數: 54)
下載附件
2017-5-16 17:24 上傳
單片機源程序如下:
/******************************************************************************************
*說明:將32個LED分成4組LED_P0,LED_P1,LED_P3,LED_P2,每一組代表8個LED燈,也就是講心形分成4個部分,
* 如下圖所示,這樣,我們只需操作這些值,然后將這些值對應到相應的IO口上就可以了
*
* LED_P0.2 LED_P2.5
* LED_P0.3 LED_P0.1 LED_P2.6 LED_P2.4
* LED_P0.4 LED_P0.0 LED_P2.7 LED_P2.3
* LED_P0.5 LED_P2.2
* LED_P0.6 LED_P2.1
* LED_P0.7 LED_P2.0
* LED_P1.0 LED_P3.7
* LED_P1.1 LED_P3.6
* LED_P1.2 LED_P3.5
* LED_P1.3 LED_P3.4
* LED_P1.4 LED_P3.3
* LED_P1.5 LED_P3.2
* LED_P1.6 LED_P3.1
* LED_P1.7 LED_P3.0
*
***********************************************************************************************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define FOSC 12000000L //晶振設置,使用11.0592M Hz 6T雙速倍模式
volatile uchar LED_P0 = 0xff;
volatile uchar LED_P1 = 0xff;
volatile uchar LED_P2 = 0xff;
volatile uchar LED_P3 = 0xff;
#define SCENE_COUNT 20//定義循環播放發的數量
//可自定義場景,按場景順序播放多種狀態
uchar scene[SCENE_COUNT] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
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 Delayms(uint ms)
{
uint x,y;
for(x=ms;x>0;x--)
for(y=125;y>0;y--);
}
//將LED_P0,LED_P1,LED_P3,LED_P2的值的對應到具體IO口上,并延時
void Display(uint time)
{
P0 = ((LED_P0 & 0xfe)>>1) + ((LED_P1 & 0x01)<<7);
P1 = ((LED_P1 & 0xfe)>>1) + ((LED_P3 & 0x01)<<7);
P3 = ((LED_P3 & 0xfe)>>1) + ((LED_P2 & 0x01)<<7);
P2 = ((LED_P2 & 0xfe)>>1) + ((LED_P0 & 0x01)<<7);
Delayms(time);
}
//狀態0 所有LED閃爍3次
void disp0()
{
for(i=0;i<3;i++)
{
LED_P0=0x00; LED_P2=0x00; LED_P3=0x00; LED_P1=0x00;
Display(300);
LED_P0=0xff; LED_P2=0xff; LED_P3=0xff; LED_P1=0xff;
Display(300);
}
}
//狀態1 LED順時針轉一圈
void disp1()
{
for(i=0;i<8;i++)
{
LED_P2=table1[i];
Display(100);
}
LED_P2=0xff;
for(i=0;i<8;i++)
{
LED_P3=table1[i];
Display(100);
}
LED_P3=0xff;
for(i=0;i<8;i++)
{
LED_P1=table1[i];
Display(100);
}
LED_P1=0xff;
for(i=0;i<8;i++)
{
LED_P0=table1[i];
Display(100);
}
LED_P0=0xff;
}
//狀態2 LED逆時針轉一圈
void disp2()
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
Display(100);
}
LED_P0=0xff;
for(i=0;i<8;i++)
{
LED_P1=table0[i];
Display(100);
}
LED_P1=0xff;
for(i=0;i<8;i++)
{
LED_P3=table0[i];
Display(100);
}
LED_P3=0xff;
for(i=0;i<8;i++)
{
LED_P2=table0[i];
Display(100);
}
LED_P2=0xff;
}
//狀態3 4個LED同時順時、逆時針移動1/4圈
void disp3()
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P1=table1[i];
LED_P2=table1[i];
LED_P3=table0[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P0=table1[i];
LED_P1=table0[i];
LED_P2=table0[i];
LED_P3=table1[i];
Display(100);
}
LED_P3=0xff; LED_P0=0xff;
}
//狀態4 2個LED同時順時針移動半圈
void disp4()
{
for(i=0;i<8;i++)
{
LED_P2=table1[i];
LED_P1=table1[i];
Display(100);
}
LED_P2=0xff; LED_P1=0xff;
for(i=0;i<8;i++)
{
LED_P3=table1[i];
LED_P0=table1[i];
Display(100);
}
LED_P3=0xff; LED_P0=0xff;
}
//狀態5 2個LED同時逆時針移動半圈
void disp5()
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P3=table0[i];
Display(100);
}
LED_P0=0xff; LED_P3=0xff;
for(i=0;i<8;i++)
{
LED_P1=table0[i];
LED_P2=table0[i];
Display(100);
}
LED_P1=0xff; LED_P2=0xff;
}
//狀態6 LED自上而下逐漸點亮(一半點亮一半不亮)
void disp6()
{
for(i=0;i<8;i++)
{
LED_P0=table2[i];
LED_P2=table3[i];
Display(100);
}
LED_P0=0xff; LED_P2=0xff;
for(i=0;i<8;i++)
{
LED_P1=table2[i];
LED_P3=table3[i];
Display(100);
}
LED_P1=0xff; LED_P3=0xff;
}
//狀態7 LED自下而上逐漸點亮(直到全部點亮)
void disp7()
{
for(i=0;i<8;i++)
{
LED_P1=table3[i];
LED_P3=table2[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P0=table2[i];
LED_P2=table2[i];
Display(100);
}
}
//狀態8 間斷8格的4個LED亮并逆時針旋轉
void disp8()
{
for(j=0;j<2;j++)
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P2=table0[i];
LED_P1=table0[i];
LED_P3=table0[i];
Display(100);
}
LED_P0=0xff; LED_P2=0xff; LED_P1=0xff; LED_P3=0xff;
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P2=table0[i];
LED_P1=table0[i];
LED_P3=table0[i];
Display(100);
}
LED_P0=0xff; LED_P2=0xff; LED_P1=0xff; LED_P3=0xff;
}
}
//狀態9 間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮)
void disp9()
{
for(i=0;i<8;i++)
{
LED_P0=table2[i];
LED_P2=table2[i];
LED_P1=table2[i];
LED_P3=table2[i];
Display(100);
}
Display(500);
}
//狀態10 從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅)
void disp10()
{
for(i=0;i<9;i++)
{
LED_P0=table4[i];
LED_P2=table4[i];
LED_P1=table4[i];
LED_P3=table4[i];
Display(100);
}
Display(300);
}
//狀態11 間斷8格的4個LED亮并順時針旋轉
void disp11()
{
for(j=0;j<2;j++)
{
for(i=0;i<8;i++)
{
LED_P0=table1[i];
LED_P2=table1[i];
LED_P1=table1[i];
LED_P3=table1[i];
Display(100);
}
LED_P0=0xff; LED_P2=0xff; LED_P1=0xff; LED_P3=0xff;
for(i=0;i<8;i++)
{
LED_P0=table1[i];
LED_P2=table1[i];
LED_P1=table1[i];
LED_P3=table1[i];
Display(100);
}
LED_P0=0xff; LED_P2=0xff; LED_P1=0xff; LED_P3=0xff;
}
}
//間斷8格的4個LED亮,然后順時針逐漸點亮(直到全部點亮)
void disp12()
{
for(i=0;i<8;i++)
{
LED_P0=table3[i];
LED_P2=table3[i];
LED_P1=table3[i];
LED_P3=table3[i];
Display(100);
}
Display(1000);
}
//狀態13 從LED全部亮到全不亮(間斷8格的4個LED開始順時針熄滅)
void disp13()
{
for(i=0;i<9;i++)
{
LED_P0=table5[i];
LED_P2=table5[i];
LED_P1=table5[i];
LED_P3=table5[i];
Display(100);
}
Display(300);
}
//狀態14 從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐步點亮)
void disp14()
{
for(i=0;i<8;i++)
{
LED_P0=table3[i];
LED_P1=table2[i];
LED_P2=table2[i];
LED_P3=table3[i];
Display(100);
}
}
//狀態15 從LED全亮到全不亮(從P0.7、P1.7、P2.7、P3.0開始逐步熄滅
void disp15()
{
for(i=0;i<9;i++)
{
LED_P0=table4[i];
LED_P1=table5[i];
LED_P2=table5[i];
LED_P3=table4[i];
Display(100);
}
Display(300);
}
//狀態16 LED燈交替閃爍(頻率有慢變快)
void disp16()
{
for(i=0;i<5;i++)
{
LED_P0=0xaa; LED_P1=0xaa; LED_P2=0xaa; LED_P3=0xaa;
Display(100);
LED_P0=~LED_P0; LED_P1=~LED_P1; LED_P2=~LED_P2; LED_P3=~LED_P3;
Display(100);
}
for(i=0;i<5;i++)
{
LED_P0=0xaa; LED_P1=0xaa; LED_P2=0xaa; LED_P3=0xaa;
Display(200);
LED_P0=~LED_P0; LED_P1=~LED_P1; LED_P2=~LED_P2; LED_P3=~LED_P3;
Display(200);
}
for(i=0;i<5;i++)
{
LED_P0=0xaa; LED_P1=0xaa; LED_P2=0xaa; LED_P3=0xaa;
Display(300);
LED_P0=~LED_P0; LED_P1=~LED_P1; LED_P2=~LED_P2; LED_P3=~LED_P3;
Display(300);
}
LED_P0=0xff; LED_P2=0xff; LED_P1=0xff; LED_P3=0xff;
Display(300);
}
//狀態17 LED從P0.7開始逆時針逐步點亮,(循環2次)并且速度會逐步提高
void disp17()
{
for(i=0;i<8;i++)
{
LED_P0=table2[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P1=table2[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P3=table2[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P2=table2[i];
Display(100);
}
LED_P0=0xff; LED_P1=0xff; LED_P3=0xff; LED_P2=0xff;
/*******************************/
for(i=0;i<8;i++)
{
LED_P0=table2[i];
Display(50);
}
for(i=0;i<8;i++)
{
LED_P1=table2[i];
Display(50);
}
for(i=0;i<8;i++)
{
LED_P3=table2[i];
Display(50);
}
for(i=0;i<8;i++)
{
LED_P2=table2[i];
Display(50);
}
LED_P0=0xff; LED_P1=0xff; LED_P3=0xff; LED_P2=0xff;
}
//狀態18 LED從P0.7開始逆時針逐步點亮(每亮8位后就熄滅)
void disp18()
{
for(i=0;i<8;i++)
{
LED_P0=table2[i];
Display(100);
}
LED_P0=0xff;
for(i=0;i<8;i++)
{
LED_P1=table2[i];
Display(100);
}
LED_P1=0xff;
for(i=0;i<8;i++)
{
LED_P3=table2[i];
Display(100);
}
LED_P3=0xff;
for(i=0;i<8;i++)
{
LED_P2=table2[i];
Display(100);
}
LED_P2=0xff;
}
//狀態19 LED從P2.7開始順時針逐步點亮,(循環2次)并且速度會逐步提高
void disp19()
{
for(i=0;i<8;i++)
{
LED_P2=table3[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P3=table3[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P1=table3[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P0=table3[i];
Display(100);
}
LED_P0=0xff; LED_P1=0xff; LED_P3=0xff; LED_P2=0xff;
/*******************************/
for(i=0;i<8;i++)
{
LED_P2=table3[i];
Display(50);
}
for(i=0;i<8;i++)
{
LED_P3=table3[i];
Display(50);
}
for(i=0;i<8;i++)
{
LED_P1=table3[i];
Display(50);
}
for(i=0;i<8;i++)
{
LED_P0=table3[i];
Display(50);
}
LED_P0=0xff; LED_P1=0xff; LED_P3=0xff; LED_P2=0xff;
}
//狀態20 LED從P2.7開始順時針逐步點亮(每亮8位后就熄滅)
void disp20()
{
for(i=0;i<8;i++)
{
LED_P2=table3[i];
Display(100);
}
LED_P2=0xff;
for(i=0;i<8;i++)
{
LED_P3=table3[i];
Display(100);
}
LED_P3=0xff;
for(i=0;i<8;i++)
{
LED_P1=table3[i];
Display(100);
}
LED_P1=0xff;
for(i=0;i<8;i++)
{
LED_P0=table3[i];
Display(100);
}
LED_P0=0xff;
}
//狀態21 2個LED開始上下移動半圈
void disp21()
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P2=table1[i];
Display(100);
}
LED_P0=0xff; LED_P2=0xff;
for(i=0;i<8;i++)
{
LED_P1=table0[i];
LED_P3=table1[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P1=table1[i];
LED_P3=table0[i];
Display(100);
}
LED_P1=0xff; LED_P3=0xff;
for(i=0;i<8;i++)
{
LED_P0=table1[i];
LED_P2=table0[i];
Display(100);
}
}
//裝態22 2個LED自上而下移動(循環5次,且頻率漸快,到最快時持續循環16次,然后循環5次頻率再逐漸降低)
void disp22()
{
for(j=0;j<5;j++)
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P2=table1[i];
Display(tt);
}
LED_P0=0xff; LED_P2=0xff;
for(i=0;i<8;i++)
{
LED_P1=table0[i];
LED_P3=table1[i];
Display(tt);
}
LED_P1=0xff; LED_P3=0xff;
tt=tt-10;
}
for(j=0;j<16;j++)
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P2=table1[i];
Display(20);
}
LED_P0=0xff; LED_P2=0xff;
for(i=0;i<8;i++)
{
LED_P1=table0[i];
LED_P3=table1[i];
Display(20);
}
LED_P1=0xff; LED_P3=0xff;
}
tt=20;
for(j=0;j<5;j++)
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P2=table1[i];
Display(tt);
}
LED_P0=0xff; LED_P2=0xff;
for(i=0;i<8;i++)
{
LED_P1=table0[i];
LED_P3=table1[i];
Display(tt);
}
LED_P1=0xff; LED_P3=0xff;
tt=tt+10;
}
tt=70;
}
//狀態23 LED上下交替閃爍
void disp23()
{
for(i=0;i<2;i++)
{
LED_P0=0x00; LED_P2=0x00;
Display(1000);
LED_P0=0xff; LED_P2=0xff;
LED_P1=0x00; LED_P3=0x00;
Display(1000);
LED_P1=0xff; LED_P3=0xff;
}
}
//狀態24 LED左右交替閃爍
void disp24()
{
LED_P1=0xff; LED_P3=0xff; LED_P0=0xff; LED_P2=0xff;
for(i=0;i<2;i++)
{
LED_P0=0x00; LED_P1=0x00;
Display(1000);
LED_P0=0xff; LED_P1=0xff;
LED_P2=0x00; LED_P3=0x00;
Display(1000);
LED_P2=0xff; LED_P3=0xff;
}
}
//狀態25 LED交替閃爍
void disp25()
{
for(i=0;i<5;i++)
{
LED_P0=0xaa; LED_P1=0xaa; LED_P2=0xaa; LED_P3=0xaa;
Display(1000);
LED_P0=~LED_P0; LED_P1=~LED_P1; LED_P2=~LED_P2; LED_P3=~LED_P3;
Display(1000);
}
}
//狀態26 2個LED開始上下移動半圈(LED不亮流水)
void disp26()
{
LED_P0=0x00;LED_P1=0x00;LED_P2=0x00;LED_P3=0x00;
for(i=0;i<8;i++)
{
LED_P0=~table0[i];
LED_P2=~table1[i];
Display(200);
}
LED_P0=0x00; LED_P2=0x00;
for(i=0;i<8;i++)
{
LED_P1=~table0[i];
LED_P3=~table1[i];
Display(200);
}
for(i=0;i<8;i++)
{
LED_P1=~table1[i];
LED_P3=~table0[i];
Display(200);
}
LED_P1=0x00; LED_P3=0x00;
for(i=0;i<8;i++)
{
LED_P0=~table1[i];
LED_P2=~table0[i];
Display(200);
}
}
//狀態27 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
void disp27()
{
LED_P0=0xff; LED_P1=0xff; LED_P2=0xff; LED_P3=0xff;
for(j=0;j<2;j++)
{
for(i=0;i<8;i++)
{
LED_P2=table3[i];
LED_P1=table3[i];
Display(100);
}
LED_P2=0xff; LED_P1=0xff;
for(i=0;i<8;i++)
{
LED_P0=table3[i];
LED_P3=table3[i];
Display(100);
}
LED_P0=0xff; LED_P3=0xff;
}
}
//狀態28 P1、P2和P0、P3交替閃爍
void disp28()
{
for(i=0;i<2;i++)
{
LED_P1=0x00; LED_P2=0x00; LED_P0=0xff; LED_P3=0xff;
Display(1000);
LED_P1=0xff; LED_P2=0xff; LED_P0=0x00; LED_P3=0x00;
Display(1000);
}
LED_P1=0xff; LED_P2=0xff; LED_P0=0xff; LED_P3=0xff;
}
//狀態29 逐步順時針點亮P2、P1的LED,再順時熄滅后,再順時針點亮P0、P3的LED,再順時熄滅
void disp29()
{
LED_P0=0xff; LED_P1=0xff; LED_P2=0xff; LED_P3=0xff;
for(j=0;j<2;j++)
{
for(i=0;i<8;i++)
{
LED_P2=table3[i];
LED_P1=table3[i];
Display(100);
}
for(i=0;i<9;i++)
{
LED_P2=table5[i];
LED_P1=table5[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P0=table3[i];
LED_P3=table3[i];
Display(100);
}
for(i=0;i<9;i++)
{
LED_P0=table5[i];
LED_P3=table5[i];
Display(100);
}
}
Display(200);
}
//狀態30 逐步逆時針點亮P2、P1的LED,熄滅后,再逆時針點亮P0、P3的LED
void disp30()
{
LED_P0=0xff; LED_P1=0xff; LED_P2=0xff; LED_P3=0xff;
for(j=0;j<2;j++)
{
for(i=0;i<8;i++)
{
LED_P2=table2[i];
LED_P1=table2[i];
Display(100);
}
LED_P2=0xff; LED_P1=0xff;
for(i=0;i<8;i++)
{
LED_P0=table2[i];
LED_P3=table2[i];
Display(100);
}
LED_P0=0xff; LED_P3=0xff;
}
}
//狀態31 逐步逆時針點亮P2、P1的LED,再逆時熄滅后,再逆時針點亮P0、P3的LED,再逆時熄滅
void disp31()
{
LED_P0=0xff; LED_P1=0xff; LED_P2=0xff; LED_P3=0xff;
for(j=0;j<2;j++)
{
for(i=0;i<8;i++)
{
LED_P2=table2[i];
LED_P1=table2[i];
Display(100);
}
for(i=0;i<9;i++)
{
LED_P2=table4[i];
LED_P1=table4[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P0=table2[i];
LED_P3=table2[i];
Display(100);
}
for(i=0;i<9;i++)
{
LED_P0=table4[i];
LED_P3=table4[i];
Display(100);
}
}
Display(200);
}
//狀態32 LED自上而下逐步點亮,然后從下往上逐步熄滅
void disp32()
{
for(i=0;i<8;i++)
{
LED_P0=table2[i];
LED_P2=table3[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P1=table2[i];
LED_P3=table3[i];
Display(100);
}
for(i=0;i<9;i++)
{
LED_P1=table5[i];
LED_P3=table4[i];
Display(100);
}
for(i=0;i<9;i++)
{
LED_P0=table5[i];
LED_P2=table4[i];
Display(100);
}
}
//狀態33 LED從左往右開始點亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅)
void disp33()
{
for(i=0;i<8;i++)
{
LED_P0=table3[i];
LED_P1=table2[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P2=table3[i];
LED_P3=table2[i];
Display(100);
}
Display(500);
for(i=0;i<9;i++)
{
LED_P2=table4[i];
LED_P3=table5[i];
LED_P1=table4[i];
LED_P0=table5[i];
Display(100);
}
Display(300);
}
//狀態34 LED從左往右開始點亮(直到全亮),然后從中間往左右邊熄滅
void disp34()
{
for(i=0;i<8;i++)
{
LED_P2=table2[i];
LED_P3=table3[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P0=table2[i];
LED_P1=table3[i];
Display(100);
}
Display(500);
for(i=0;i<9;i++)
{
LED_P2=table5[i];
LED_P3=table4[i];
LED_P1=table5[i];
LED_P0=table4[i];
Display(100);
}
Display(300);
}
//狀態35 從P2.7、P1.7開始同時順時針旋轉,直到LED全亮
void disp35()
{
for(i=0;i<8;i++)
{
LED_P2=table3[i];
LED_P1=table3[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P3=table3[i];
LED_P0=table3[i];
Display(100);
}
}
//狀態36 從P0.7、P3.1開始同時逆時針旋轉,直到LED全亮
void disp36()
{
for(i=0;i<8;i++)
{
LED_P0=table2[i];
LED_P3=table2[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P1=table2[i];
LED_P2=table2[i];
Display(100);
}
}
//狀態37 2個LED自上而下移動,并點亮最下2個LED,然后2個LED再自下而上回去,同時4個LED(上下各2個LED)再來回移動一次
void disp37()
{
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P2=table1[i];
Display(100);
}
LED_P0=0xff; LED_P2=0xff;
for(i=0;i<8;i++)
{
LED_P1=table0[i];
LED_P3=table1[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P1=table7[i];
LED_P3=table6[i];
Display(100);
}
LED_P1=0x7f; LED_P3=0xfe;
for(i=0;i<8;i++)
{
LED_P0=table1[i];
LED_P2=table0[i];
Display(100);
}
for(i=0;i<8;i++)
{
LED_P0=table0[i];
LED_P2=table1[i];
LED_P1=table1[i];
LED_P3=table0[i];
Display(200);
}
for(i=0;i<8;i++)
{
LED_P0=table1[i];
LED_P1=table0[i];
LED_P2=table0[i];
LED_P3=table1[i];
Display(200);
}
LED_P0=0xff;LED_P1=0xff; LED_P2=0xff;LED_P3=0xff;
}
//狀態38 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
void disp38()
{
LED_P0=0xff; LED_P1=0xff; LED_P2=0xff; LED_P3=0xff;
for(j=0;j<2;j++)
{
for(i=0;i<8;i++)
{
LED_P2=table3[i];
LED_P1=table3[i];
Display(100);
}
LED_P2=0xff; LED_P1=0xff;
for(i=0;i<8;i++)
{
LED_P0=table3[i];
LED_P3=table3[i];
Display(100);
}
LED_P0=0xff; LED_P3=0xff;
}
}
//狀態39 P1、P3LED(下半部分)一直亮,上半部分LED向外擴張亮,然后閃爍3次
void disp39()
{
LED_P1=0x00; LED_P3=0x00;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
心形花樣流水燈.zip
(408.8 KB, 下載次數: 32)
2017-5-16 14:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
jie951
時間:
2017-6-3 19:29
學習用用,感謝你
作者:
faridzled
時間:
2018-10-18 20:07
thanks for sharing
作者:
小三花瓶
時間:
2018-10-19 08:40
發現新大陸,感謝感謝。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1