1、心形花样 LED 流水灯(带程序)1000146073713使用 89C52 做的,原理图如下:总共有 32 个 LED 灯,4 个 I/O 全部用上了。我在这里不加有 LED 保护电阻,用 200 的也可以晶振用 12M 的或 11.0592M 也行,C1,C2 用 30PF。PCB 图如下:作品效果录像:http:/ C 语言写的;如下:#include#include #define uint unsigned int#define uchar unsigned charuchar code table=0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; /
2、 逐个点亮 07uchar code table1=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00; / 逐个点亮 70uchar code table2=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff; / 逐个灭 07uchar code table3=0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff; / 逐个灭 70/*/void delay(uint t); /延时void zg(uint t,uchar a);/两边逐个亮void qs(uint t,uchar a);/全部闪烁void
3、zgxh(uint t,uchar a); / 逆时针逐个点亮/void zgxh1(uint t,uchar a); / 顺时针逐个点亮void djs(uint t,uchar a); /对角闪void lbzgm(uint t,uchar a);/两边逐个灭/void sszgm(uint t,uchar a); / 顺时针逐个灭void nszgm(uint t,uchar a); / 逆时针逐个灭void sztl(uint t,uchar a);/顺时逐个同步亮void nztl(uint t,uchar a);/逆时逐个同步亮void sztm(uint t,uchar a);/
4、顺时逐个同步灭void nztm(uint t,uchar a);/逆时逐个同步灭void hwzjl(uint t,uchar a); /横往中间亮void hwzjm(uint t,uchar a); /横往中间灭/void swzjl(uint t,uchar a); /竖往中间亮/void swzjm(uint t,uchar a); /竖往中间灭void nzdl(uint t,uchar a); /逆时逐段亮void nzdgl(uint t,uchar a); /逆时逐段一个点亮void jgs(uint t,uchar a); /间隔闪/*/void zg(uint t,uch
5、ar a)/两边逐个亮uchar i,j;for(j=0;j1;i-)P1=tablei-1;P3=table1i-2;delay(t);P1=0xfe;P3=0xff;delay(t);P1=0xff;P2=0x01;delay(t);for(i=7;i1;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;j0;x-)for (y=120;y0;y-);因为 89C52 的容量有限,所以还有几个方式注释掉了。