莂心形花样LED 流水灯(带程序)芀羈袄使用89C52做的,原理图如下:薀虿蒄总共有32个LED灯,4个I/O全部用上了。袅我在这里不加有LED保护电阻,,C1,C2用30PF。腿PCB图如下:膄蚃羁作品效果录像:grams/view/z0bjKg_3Cd4/薈袅程序是用C语言写的;螄膀羇如下:蚅螆#include<>蒂#include<>莇#define uintunsignedint莆#define ucharunsignedchar薃ucharcodetable[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//逐个点亮0~7薀ucharcodetable1[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//逐个点亮7~0肀ucharcodetable2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//逐个灭0~7膆ucharcodetable3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//逐个灭7~0蚄羃/***********************************************************/蕿voiddelay(uintt); //延时袆voidzg(uintt,uchara);//两边逐个亮蒂voidqs(uintt,uchara);//全部闪烁肁voidzgxh(uintt,uchara);//逆时针逐个点亮罿//voidzgxh1(uintt,uchara);//顺时针逐个点亮蚇voiddjs(uintt,uchara);//对角闪蒃voidlbzgm(uintt,uchara);//两边逐个灭腿//voidsszgm(uintt,uchara);//顺时针逐个灭莈voidnszgm(uintt,uchara);//逆时针逐个灭莇voidsztl(uintt,uchara);//顺时逐个同步亮薄voidnztl(uintt,uchara);//逆时逐个同步亮薂voidsztm(uintt,uchara);//顺时逐个同步灭螈voidnztm(uintt,uchara);//逆时逐个同步灭肈voidhwzjl(uintt,uchara);//横往中间亮莂voidhwzjm(uintt,uchara);//横往中间灭蚀//voidswzjl(uintt,uchara);//竖往中间亮芇//voidswzjm(uintt,uchara);//竖往中间灭袈voidnzdl(uintt,uchara);//逆时逐段亮蒃voidnzdgl(uintt,uchara);//逆时逐段一个点亮肃voidjgs(uintt,uchara);//间隔闪羀/**********************************************************/莄voidzg(uintt,uchara)//两边逐个亮蒄{膁 uchari,j;莀for(j=0;j<a;j++)肅 {节 P0=P1=P2=P3=0xff;艿 P0=0x7f;delay(t);蝿 for(i=0;i<7;i++)袅{莃 P0=table1[i+1];蚂 P2=table1[i];膈 delay(t); 薅}莅 P2=0x00;P1=0xfe;螀 delay(t);蚈芆 for(i=0;i<7;i++)膂{膂 P1=table[i+1];肇 P3=table1[i];肆 delay(t);芃}芁 P3=0x00;delay(t);螁 }螇}芅荿膀voidqs(uintt,uchara) //全部闪烁薇{肂 ucharj;螂 for(j=0;j<a;j++)蕿 {芇 P0=P1=P2=P3=0xff;膃 delay(t);袀 P0=P1=P2=P3=0x00;聿 delay(t);肈 } 芅}节蒈螈羂莁voidzgxh(uintt,uchara)//逆时针逐个点亮袇{芄 uchari,j;肄 for(j=0;j<a;j++)葿 {芇 P0=P1=P2=P3=0xff;羅 for(i=0;i<8;i++)膅{袁 P0=table1[i];羀 delay(t);螅}羂 for(i=0;i<8;i++)羀{蒀 P1=table[i];蒅 delay(t);羄}莂 for(i=0;i<8;i++)衿{芆 P3=table[i];肅 delay(t);蒁}芈 for(i=0;i<8;i++)羆{袂 P2=table[i];螃 delay(t);螈}蚇 }袄}羁膇void
心形花样LED水灯(带程序) 来自淘豆网m.daumloan.com转载请标明出处.