单片机LED点阵流水灯的制作及电路设计[含视频]╭★肉丁网

单片机LED点阵流水灯的制作及电路设计

生活DIY | 电子 / 2016-05-14 / ky166268 / 6282℃
下面是单片机 LED视频,在视频广告时间你可以浏览后面的图文资料哦~

图1是单片机最小系统电路;图2是驱动电路。共10路光源DS1~DS10,分别由AT89S52的P0口、P2的高两位驱动;每一路光源由14只高亮LED并联。图2中的D1、D2起到给光源部分降压的作用,这样LED可以不加限流电阻,因为VCC(5V)减去D1、D2、三极管的压降之和后可以保证LED安全地工作。

图1  AT89S52单片机最小系统

图2  驱动与光源电路

单片机最小系统板是以前做的直接拿来用了,自己做了驱动板:

为了不改动单片机最小系统板于是在驱动板上焊上排座,巧妙地实现两块板子间的电气连接:

拆开彩灯的外壳,掏空原先的电路,只留下电源部分:

将电路板固定在上面:

换个角度看,铝散热片上固定的是LM7805稳压块:

再将那10路光源也就是显示面板连接至驱动电路板:

软件设计

        对于此作品,软件上除了实现流水灯的功能就没有其他技巧,但为了尽量使彩灯好看一些,不得不挖空心思想一些新花样。既便如此,一个51芯片也绰绰有余。



/***************************************************程序名称:单片机流水灯简要说明:P0口、P2.0、P2.1输出10路彩灯信号编 写:JiangX.net***************************************************/#include<AT89X52.h>#define uchar unsigned char#define uint unsigned intsbit lie1=P0^6;sbit lie2=P0^5;sbit lie3=P0^4;sbit lie4=P0^3;sbit lie5=P0^2;sbit lie6=P0^1;/*****(n)ms延时子程序*****/void delayms(uint n){while(n--){uchar i;for(i=0;i<125;i++);}}/*****开机画面*****/void kaiji(void){P0=P2=0xff;delayms(2000);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);}/*****流水显示*****/void liushui1(void){uchar temp0,i;temp0=0x01;for(i=0;i<7;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui2(void){uchar temp0,i;temp0=0x03;for(i=0;i<6;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui3(void){uchar temp0,i;temp0=0x07;for(i=0;i<5;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui4(void){uchar temp0,i;temp0=0x0f;for(i=0;i<4;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui5(void){uchar temp0,i;temp0=0x1f;for(i=0;i<3;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui6(void){uchar temp0,i;temp0=0x3f;for(i=0;i<2;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui7(void){uchar temp0,i;temp0=0x7f;for(i=0;i<1;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui8(void){uchar temp0,i;temp0=0x05;for(i=0;i<5;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui9(void){uchar temp0,i;temp0=0x15;for(i=0;i<3;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui10(void){uchar temp0,i;temp0=0x55;for(i=0;i<1;i++){P0=temp0;delayms(200);temp0=temp0*2;}}/*****闪烁1*****/void shanshuo1(void){uchar i;for(i=0;i<5;i++){P2=0xff;P0=0x80;delayms(200);P0=0x7f;P2=0x00;delayms(200);}delayms(500);P0=P2=0x00;delayms(200);}/*****跑马显示*****/void paoma(uchar sudu){uchar i,j;uchar temp1=0x01;uchar temp2=0x40;for(i=0;i<6;i++){P0=temp1;delayms(sudu);temp1=temp1*2;}for(j=0;j<6;j++){P0=temp2;delayms(sudu);temp2=temp2/2;}}/*****闪烁2*****/void shanshuo2(void){uchar i;for(i=0;i<7;i++){P2=0xff;P0=0x80;delayms(200);P2=0x00;P0=0x00;delayms(200);}delayms(500);}/*****堆积显示子程序*****/void duiji1(void){uchar temp0=0x01,i;for(i=0;i<7;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void duiji2(void){uchar temp0=0x01,i;for(i=0;i<6;i++){P0=temp0;lie1=1;delayms(200);temp0=temp0*2;}}void duiji3(void){uchar temp0=0x01,i;for(i=0;i<5;i++){P0=temp0;lie1=1;lie2=1;delayms(200);temp0=temp0*2;}}void duiji4(void){uchar temp0=0x01,i;for(i=0;i<4;i++){P0=temp0;lie1=1;lie2=1;lie3=1;delayms(200);temp0=temp0*2;}}void duiji5(void){uchar temp0=0x01,i;for(i=0;i<3;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;delayms(200);temp0=temp0*2;}}void duiji6(void){uchar temp0=0x01,i;for(i=0;i<2;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;lie5=1;delayms(200);temp0=temp0*2;}}void duiji7(void){uchar temp0=0x01,i;for(i=0;i<1;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;lie5=1;lie6=1;delayms(200);temp0=temp0*2;}}/*****闪烁3*****/void shanshuo3(void){uchar i;for(i=0;i<7;i++){P0=0x55;delayms(200);P0=0x7f;delayms(200);}delayms(500);}/*****主程序*****/void main(void){P0=P2=0x00;while(1){kaiji();liushui1();liushui2();liushui3();liushui4();liushui5();liushui6();liushui7();delayms(500);shanshuo1(); paoma(200);paoma(150);paoma(100);paoma(80);paoma(50);paoma(40);paoma(40);paoma(30);paoma(30);paoma(30);paoma(30);paoma(20);paoma(20);paoma(20);paoma(20);paoma(20);paoma(20);P0=0x41;delayms(1000);shanshuo2();duiji1();duiji2();duiji3();duiji4();duiji5();duiji6();duiji7();delayms(500);liushui8();liushui8();liushui8();liushui9();liushui9();liushui9();liushui10();liushui10();liushui10();shanshuo3();}}

→ 肉丁网微信公众号:【肉丁网】 ←
上一篇: LOVE生日彩灯祝福盒子的制作方法及线路图
下一篇:用电子废品自制DIY充电式台灯的详细教程
相关推荐

作者

名字:花香调

来自:陕西 汉中

微信:1795648562

QQ:1795648562

邮箱:1795648562@qq.com

大家好,我是花香调,希望肉丝们喜欢我的作品,欢迎加我QQ一起交流。


花香调的其它作品

美国名字的起名方式 美国人怎样给孩子起名字
老外取名的从众心理 排名最前20位英语名字
跟美国人学起名字:20个最受欢迎的美国常用名
美国人名最受欢迎的20个名字 有的重名高达500万
纹身遮盖疤痕集锦,化腐朽为神奇
纹身怎么收费 纹身价格这样算

最热

教你用铜板diy一个高上大的u盘壳详细做法图解
DIY帅气的夜光自行车-UFO一样有型
教你自己动手为收音机配一个USB电源线
矿石收音机制作-不要电的收音机
金属罐底部粘贴散热片做成的手机充电装置
手工DIY超酷的隐私显示器
简洁清爽的爱迪生吊灯手工创意制作图片教程
鞋盒+放大镜+手机制作简易投影仪DIY图解