心形流水灯的电路设计代码大全
void zg(uint t,uchar a)/两边逐个亮uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;P0=0x7f;delay(t);for(i=0;i<7;i+)P0=table1i+1;P2=table1; delay(t); P2=0x00;P1=0xfe; delay(t); for(i=0;i<7;i+) P1=tablei+1; P3=table1;delay(t);P3=0x00;delay(t);#include<reg52.h>void qs(uint t,uchar a) /全部闪烁uchar j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;delay(t);P0=P1=P2=P3=0x00;delay(t);void zgxh(uint t,uchar a) / 逆时针逐个点亮uchar i,j;for (j=0;j<a;j+)P0=P1=P2=P3=0xff;for (i=0;i<8;i+)P0=table1; delay(t); for(i=0;i<8;i+) P1=table;delay(t);for(i=0;i<8;i+)P3=table; delay(t); for(i=0;i<8;i+) P2=table;delay(t);void nszgm(uint t,uchar a) / 逆时针逐个灭uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0x00;for (i=0;i<8;i+)P0=table3;delay(t); for (i=0;i<8;i+) P1=table2;delay(t);for (i=0;i<8;i+)P3=table2;delay(t); for (i=0;i<8;i+) P2=table2;delay(t);void djs(uint t,uchar a) /对角闪uchar j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;P0=P3=0x00;delay(t);P0=P1=P2=P3=0xff;P1=P2=0x00;delay(t);void lbzgm(uint t,uchar a)/两边逐个灭uchar i,j;for (j=0;j<a;j+)P0=P2=0x00;P3=0x01;delay(t);for(i=7;i>1;i-)P1=tablei-1;P3=table1i-2;delay(t);P1=0xfe;P3=0xff;delay(t);P1=0xff;P2=0x01;delay(t);for(i=7;i>1;i-)P0=table1i-1;P2=table1i-2;delay(t);P0=0x7f;P2=0xff;delay(t);P0=0xff;delay(t);void sztl(uint t,uchar a)/顺时逐个同步亮uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=table; P1=P2=P3=table1;delay(t);void nztl(uint t,uchar a)/逆时逐个同步亮uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=table1; P1=P2=P3=table;delay(t);void sztm(uint t,uchar a)/顺时逐个同步灭uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0x00;for(i=0;i<8;i+)P0=table2; P1=P2=P3=table3;delay(t);void nztm(uint t,uchar a)/逆时逐个同步灭uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=table3; P1=P2=P3=table2;delay(t);void hwzjl(uint t,uchar a) /横往中间亮uchar i,j;for (j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=P2=P1=table1; P3=table;delay(t);void hwzjm(uint t,uchar a) /横往中间灭uchar i,j;for (j=0;j<a;j+)P0=P1=P2=P3=0x00;for(i=0;i<8;i+)P0=P2=P1=table3; P3=table2;delay(t);void nzdl(uint t,uchar a) /逆时逐段亮uchar i,j;for (j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=table1; delay(t); P0=0xff; for(i=0;i<8;i+) P1=table;delay(t);P1=0xff;for(i=0;i<8;i+)P3=table; delay(t); P3=0xff; for(i=0;i<8;i+) P2=table;delay(t);P2=0xff;void nzdgl(uint t,uchar a) /逆时逐段一个点亮uchar i,j,k,l;for (j=0;j<a;j+)k=table10;P0=k;l=table0;P1=P2=P3=l;delay(t);for(i=0;i<8;i+)k=_crol_(k,-1);P0=k;l=_crol_(l,1);P1=P2=P3=l;delay(t);void jgs(uint t,uchar a) /间隔闪uchar j;for (j=0;j<a;j+)P0=0x55;P1=P2=P3=0xaa;delay(t);P0=0xaa;P1=P2=P3=0x55;delay(t);void sszgm(uint t,uchar a) / 顺时针逐个灭uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0x00;for (i=0;i<8;i+)P2=table3;delay(t); for (i=0;i<8;i+) P3=table3;delay(t);for (i=0;i<8;i+)P1=table3;delay(t); for (i=0;i<8;i+) P0=table2;delay(t);void zgxh1(uint t,uchar a) /顺时针逐个亮uchar i,j;for (j=0;j<a;j+)P0=P1=P2=P3=0xff;for (i=0;i<8;i+)P2=table1; delay(t); for(i=0;i<8;i+) P3=table1;delay(t);for(i=0;i<8;i+)P1=table1; delay(t); for(i=0;i<8;i+) P0=table;delay(t);void delayms(uint ms) /延时子程序uint k;while(ms-)for(k = 0; k <100; k+);void delay(uint t)uint x,y;for (x=t;x>0;x-)for (y=120;y>0;y-);/*/void main()uint g,i;while(1)zg(100,1); /两边逐个亮lbzgm(100,1); /两边逐个灭jgs(300,10);djs(100,20); /对角闪for(g=0;g<546; g+) /积点效果P2 =display_P2g;P3 =display_P3g;P1 =display_P1g;P0 =display_P0g;delayms(40);P1=P2=P3=0xff;for(i=0;i<3;i+)P0=0x00;delay(800);P0=0xff;delay(800);P0=0x00;for(i=0;i<3;i+)P1=0x00;delay(800);P1=0xff;delay(800);P1=0x00;for(i=0;i<3;i+)P3=0x00;delay(800);P3=0xff;delay(800);P3=0x00;for(i=0;i<3;i+)P2=0x00;delay(800);P2=0xff;delay(800);qs(500,3);for(i=0;i<6;i+)zgxh(50,1);nszgm(50,1);djs(100,20); /对角闪for(i=0;i<3;i+)zg(100,1); /两边逐个亮lbzgm(100,1); /两边逐个灭qs(200,10);djs(100,50);for(i=0;i<5;i+)sztl(200,1); /顺时逐个同步亮nztm(200,1); /逆时针同步灭nztl(200,1);sztm(200,1); /顺时逐个同步灭djs(300,10); /对角闪nzdgl(300,10); /逆时逐