1、单片机流水灯c语言源代码#include#include#define uint unsigned int #define uchar unsigned charuchar z=50,e=0x00,f=0xff;uchar code table1= 0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;uchar code table2=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;uchar code table3=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;uchar code table4=0
2、xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff;uchar code table5=0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff;uchar code table6=0x7e,0x3c,0x18,0x00,0x18,0x3c,0x7e,0xff;void delay(uchar); void lsd1(); void lsd2(); void lsd3();void lsd4(); void lsd5();void lsd6();void lsd7(); void lsd8();void lsd9(); void lsd10();
3、 void lsd11();void lsd12();main() while(1) lsd1(); lsd2(); lsd3(); lsd4(); lsd5(); lsd6(); lsd7(); lsd8(); lsd9(); lsd10(); lsd11(); lsd12(); void delay(uchar x) /延时函数 uint i,j; for(i=x;i0;i-) for(j=250;j0;j-); void lsd1() /lsd1 单个流水灯双程模式1 uchar a,i,j,k,l,l1,k1,j1,i1; a=0xfe; P0=a; delay(z); for(i=0
4、;i7;i+) /仅单个灯亮从上往下流 a=_crol_(a,1); P0=a; delay(z); P0=0xff; a=0xfe; P2=a; delay(z); for(j=0;j7;j+) a=_crol_(a,1); P2=a; delay(z); P2=0xff; a=0xfe; P3=a; delay(z); for(k=0;k7;k+) a=_crol_(a,1); P3=a; delay(z); P3=0xff; a=0xfe; P1=a; delay(z); for(l=0;l7;l+) a=_crol_(a,1); P1=a; delay(z); a=0xbf; P1=a
5、; delay(z); for(l1=0;l16;l1+) /l1=6 仅单个灯亮从下往上流 a=_cror_(a,1); P1=a; delay(z); P1=0xff; a=0x7f; P3=a; delay(z); for(k1=0;k17;k1+) a=_cror_(a,1); P3=a; delay(z); P3=0xff; a=0x7f; P2=a; delay(z); for(j1=0;j17;j1+) a=_cror_(a,1); P2=a; delay(z); P2=0xff; a=0x7f; P0=a; delay(z); for(i1=0;i17;i1+) a=_cror
6、_(a,1); P0=a; delay(z); P0=0xff; void lsd2() /lsd2 两个灯流水双程模式1 uchar a,i,j,k,l,l1,k1,j1,i1; a=0xfe; P0=a; delay(z); a=a1; P0=a; delay(z); for(i=0;i6;i+) a=_crol_(a,1); P0=a; delay(z); P0=0x7f; P2=0xfe; delay(z); P0=0xff; a=0xfc; P2=a; delay(z); for(j=0;j6;j+) a=_crol_(a,1); P2=a; delay(z); P2=0x7f; P
7、3=0xfe; delay(z); P2=0xff; a=0xfc; P3=a; delay(z); for(k=0;k6;k+) a=_crol_(a,1); P3=a; delay(z); P3=0x7f; P1=0xfe; delay(z); P3=0xff; a=0xfc; P1=a; delay(z); for(l=0;l1; P1=a; delay(z); for(l1=0;l16;l1+) a=_cror_(a,1); P1=a; delay(z); P1=0xfe; P3=0x7f; delay(z); P1=0xff; a=0x3f; P3=a; delay(z); for(
8、k1=0;k16;k1+) a=_cror_(a,1); P3=a; delay(z); P3=0xfe; P2=0x7f; delay(z); P3=0xff; a=0x3f; P2=a; delay(z); for(j1=0;j16;j1+) a=_cror_(a,1); P2=a; delay(z); P2=0xfe; P0=0x7f; delay(z); P2=0xff; a=0x3f; P0=a; delay(z); for(i1=0;i16;i1+) a=_cror_(a,1); P0=a; delay(z); P0=0xfe; delay(z); P0=0xff; delay(z
9、); void lsd3() /lsd3 两个灯流水双程模式2 uchar a,i,j,k,l,l1,k1,j1,i1; a=0xfe; P0=a; delay(z); a=a1; P0=a; delay(z); for(i=0;i1; P2=a; delay(z); for(j=0;j6;j+) a=_cror_(a,1); P2=a; delay(z); P2=0xfe; a=0xfe; P3=a; delay(z); P2=f; a=a1; P3=a; delay(z); for(k=0;k1; P1=a; delay(z); for(l=0;l6;l+) a=_cror_(a,1);
10、P1=a; delay(z); P1=0xfe; delay(z); P1=f; delay(z); a=0xfe; P1=a; delay(z); a=a1; P1=a; delay(z); for(l1=0;l11; P3=a; for(k1=0;k16;k1+) a=_cror_(a,1); P3=a; delay(z); P3=0xfe; a=0xfe; P2=a; delay(z); P3=f; a=a1; P2=a; delay(z); for(j1=0;j11; P0=a; delay(z); for(i1=0;i16;i1+) a=_cror_(a,1); P0=a; dela
11、y(z); P0=0xfe; delay(z); P0=f; delay(z); void lsd4() /lsd4 uchar a,i,j,k,l,l1,k1,j1,i1; a=0xfe; P0=a; delay(z); for(i=0;i7;i+) a=a1; /单个灯依次点亮所有灯,从上往下 P0=a; delay(z); a=0xfe; P2=a; delay(z); for(j=0;j7;j+) a=a1; P2=a; delay(z); a=0xfe; P3=a; delay(z); for(k=0;k7;k+) a=a1; P3=a; delay(z); a=0xfe; P1=a
12、; delay(z); for(l=0;l7;l+) a=a1; P1=a; delay(z); for(l1=0;l18;l1+) /l1=8 P1=table1l1; /单个灯依次熄灭所有灯,从下往上 delay(z); for(k1=0;k18;k1+) P3=table1k1; delay(z); for(j1=0;j18;j1+) P2=table1j1; delay(z); for(i1=0;i18;i1+) P0=table1i1; delay(z); void lsd5() /lsd5 uchar a,i,j,k,l,l1,k1,j1,i1; a=0xfe; P0=a; del
13、ay(z); for(i=0;i7;i+) a=a1; P0=a; delay(z); for(j=0;j8;j+) /单个灯依次点亮所有灯,从下往上 P2=table2j; delay(z); a=0xfe; P3=a; delay(z); for(k=0;k7;k+) a=a1; P3=a; delay(z); for(l=0;l8;l+) P1=table2l; delay(z); for(l1=0;l18;l1+) /单个灯依次熄灭所有灯,从上往下 P1=table3l1; delay(z); for(k1=0;k18;k1+) P3=table1k1; delay(z); for(j
14、1=0;j18;j1+) /单个灯依次熄灭所有灯,从上往下 P2=table3j1; delay(z); for(i1=0;i18;i1+) P0=table1i1; delay(z); void lsd6() /每组为单位同亮同灭从左向右再向左 P0=0x00; delay(z); P0=0xff; P2=0x00; delay(z); P2=0xff; P3=0x00; delay(z); P3=0xff; P1=0x00; delay(z); P3=0x00; P1=0xff; delay(z); P2=0x00; P3=0xff; delay(z); P0=0x00; P2=0xff;
15、 delay(z); P0=0xff; delay(z); void lsd7() /lsd7 全亮全灭 uchar i; for(i=0;i2;i+) P0=0x00; P1=0x00; P2=0x00; P3=0x00; delay(z); P0=0xff; P1=0xff; P2=0xff; P3=0xff; delay(z); void lsd8() /每组仅两个灯,从中间往两边再往中间 uchar i; for(i=0;i8;i+) P0=table4i; P1=table4i; P2=table4i; P3=table4i; delay(z); void lsd9() /每组两个灯
16、引亮所有灯再引灭,从中间带两边再到中间 uchar i; for(i=0;i8;i+) P0=table5i; P1=table5i; P2=table5i; P3=table5i; delay(z); void lsd10() uchar a,i,j; a=0xfe; P0=a; P1=a; P2=a; P3=a; delay(z); for(i=0;i7;i+) /仅单个灯亮从上往下流 a=_crol_(a,1); P0=a; P1=a; P2=a; P3=a; delay(z); for(j=0;j7;j+) /仅单个灯亮从上往下流 a=_cror_(a,1); P0=a; P1=a;
17、P2=a; P3=a; delay(z); P0=f; P1=f; P2=f; P3=f; delay(z); void lsd11() uchar a,i,j; a=0xfe; P0=a; P1=a; P2=a; P3=a; delay(z); for(i=0;i7;i+) a=a1; P0=a; P1=a; P2=a; P3=a; delay(z); for(j=0;j8;j+) P0=table1j; P1=table1j; P2=table1j; P3=table1j; delay(z); void lsd12() uchar a,i,j,k,l; a=0xfe; P0=a; P1=a; delay(z); for(i=0;i7;i+) a=a1; P0=a; P1=a; delay(z); a=0x7f; P2=a; P3=a; delay(z); for(j=0;j1; P2=a; P3=a; delay(z); for(k=0;k8;k+) P2=table3k; P3=table3k; delay(z); for(l=0;l8;l+) P0=table1l; P1=table1l; delay(z); while(1);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1