心形流水灯制作教程

合集下载

心型流水灯制作教程

心型流水灯制作教程

作为一个电子技术爱好者,先就做一个最简单的心形流水灯玩玩吧。

本教程主要特点就是简单,不要你懂原理,不要你懂编程,只要最基本的元件和材料就可以完成。

首先我们来准备和认识元件。

1、最大的一个部件,洞洞板也叫万能板,9*15cm的刚刚好.便宜的万能板1元一块,你也可以用双面喷锡的质量好的玻纤板,4元一块。

2、主角单片机。

要求用40脚的,刚好驱动32个led。

建议用STC89C52RC,最常见便宜而且不用复位电路。

3、led,5mm的颜色随你喜欢,32个,注意长脚为正极.我用的是白发蓝,你也可以用不同的颜色组合各种效果。

4、电阻,限制led的工作电流,这个严格讲要经过计算,咱们随便作就不管了,200欧姆到1K欧姆的都可以,只是led的亮度有点区别。

贴片电阻和直插的都可以,建议用贴片美观,熟练了焊起来更快,只要稍加练习就可以,实在没信心直插的也可以,反正在背面也没用什么影响.5、镊子,焊接贴片电阻要用到.6、晶振和瓷片电容。

晶振采用12MHz的,电容15pF—33pF都可以。

7、导线几根,连接电源和飞线用,当然飞线越少越好,一是美观,二是飞线容易出问题.8、焊接工具。

烙铁、焊锡、烙铁架、海绵、斜口钳等等,大家自己有啥样就用什么。

我的是坏烙铁拼凑的白菜白光,看着烂用着还可以.9、还有最好用IC座,一是保护单片机二是方便拆卸和烧录。

第一个是固定式IC座,0.2元,第二个是活体的,用的更方便,4元一个。

10、电源部分.这里可以废物利用,用废弃的手机电池,在正负极接上导线,安装XH插头,插座焊在洞洞板上。

不必在意电压,只是点亮led,手机电池标准电压3.7V,充满4。

2V这里用没问题。

可以加一个拨动开关控制电源.接下来开始焊接,注意元件的位置和极性。

先焊最小系统,ic座,晶振、电容这些,然后是led,注意正极(长脚)朝外,负极(断脚)朝向单片机.接着是led的负极用锡接过线接到单片机的io口,注意中间接电阻。

最后连上电源正负极就完成了。

心形流水灯课程设计之流水灯制作方法(含CD4017电路)

心形流水灯课程设计之流水灯制作方法(含CD4017电路)

心形流水灯课程设计之流水灯制作方法(含CD4017电路)
此作品特别适合初学者制作,其本质就是用数字芯片CD4017构成的流水灯,显示方式根据自己的喜好、创意就OK。

动手制作这样的礼物,送给ta绝对会是再好不过了。

首先,我们了解一下该作品的五脏六腑:
1. 杜邦线(若干)
2. 万能板X2
3. 电位器X2
4. 470uF电容X1
5. 二极管X4
6. 变压器X1
7. 104电容(若干)
8. LM7809芯片X1
9. 散热片X1
10. 各色LED灯(若干)
11. 100uF电容X1
12.2K电阻X1
13. 680欧电阻(若干)
14. 共阴数码管X4
15. NE555和CD4017 (各一片)
16. 芯片底座X2(有利于芯片的二次利用)
17. 木板5块加包装纸2张(尺寸大小根据自己情况而定)
所需器件如下图所示:
我把作品电路分为3个部分,这3个部分都是以我的实物为依据的,你当然可以有更好的。

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作一、引言爱心流水灯是一种常见的电子制作项目,它使用51单片机控制LED灯的亮灭顺序,形成一个流动的爱心图案。

本文将详细介绍51单片机爱心流水灯的原理及制作过程。

二、原理介绍1. 51单片机51单片机是一种非常常见的单片机,具有广泛的应用领域。

它具有强大的计算能力和丰富的外设接口,非常适合用于控制LED灯的亮灭。

2. LED灯LED灯是一种半导体发光二极管,具有低功耗、长寿命和高亮度等特点。

在爱心流水灯中,我们使用红色的LED灯来形成爱心图案。

3. 流水灯原理流水灯是一种常见的电子灯光效果,通过控制LED灯的亮灭顺序,形成一个流动的效果。

在爱心流水灯中,我们将多个LED灯按照特定的顺序亮灭,形成一个流动的爱心图案。

4. 原理图以下是51单片机爱心流水灯的原理图:(在此处插入原理图)三、制作材料准备在开始制作爱心流水灯之前,我们需要准备以下材料:1. 51单片机开发板2. LED灯(红色)3. 电阻4. 面包板5. 连接线6. 电源四、制作步骤1. 连接电路首先,将51单片机开发板和面包板连接起来。

然后,根据原理图连接LED灯、电阻和51单片机的引脚。

确保连接正确且稳固。

2. 编写程序使用C语言编写51单片机的程序。

程序的主要功能是控制LED灯的亮灭顺序,形成一个流动的爱心图案。

以下是一个简单的示例程序:(在此处插入示例程序)3. 烧录程序将编写好的程序烧录到51单片机中。

可以使用专业的烧录工具,也可以使用通用的USB转串口模块进行烧录。

4. 测试将电源接入电路,打开电源开关,观察LED灯的亮灭情况。

如果一切正常,LED灯将按照程序中设定的顺序亮灭,形成一个流动的爱心图案。

五、注意事项在制作爱心流水灯时,需要注意以下几点:1. 连接线的接触要牢固,确保电路的稳定性。

2. 程序的编写要准确无误,确保LED灯按照预期的顺序亮灭。

3. 使用适当的电阻限流,以保护LED灯和51单片机。

自制爱心流水灯

自制爱心流水灯

自制爱心流水灯每到情人节、圣诞节、恋爱纪念日等等重要的日子时,每个人都想给心爱的人最好的礼物,最能代表真心的礼物,有的人送花,有的人送巧克力,有的人带着心爱的人旅游,等等。

无论是鲜花、巧克力、旅游还是其他浪漫的活动,次数多了也就厌了,习惯了。

当你的ta对你年复一年相同的礼物已经习以为常时怎么办?你只是个学生没太多的钱买礼物怎么办?你想给ta一个独特的惊喜怎么办?不用担心,往下读,我会教你自制一个爱心流水灯,给ta最棒的礼物!这是我制作的爱心流水灯。

我已经把我制作的爱心流水灯的视频上传到土豆网:/programs/view/4gnAMZoY5rI/你们可以看看,欢迎交流,本人QQ1151195733。

这个爱心流水灯是用STC89C52单片机的32个I/O控制32个LED,实现每个LED的随意亮灭,用C语言编程,具体程序我会在后面给出。

第一步购买原件购买以下原件,总成本不到30元,相当的便宜。

1、32个6mm红色LED(多买几个以防备用)。

4元。

2、15cm*15cm万用版一个(大点小点都没事)。

5元。

3、STC89C52单片机一个。

5元。

4、DIP-40(单片机的插座)。

0.1元。

5、自锁式开关一个。

0.1元。

6、30pf电容2个,1u电容一个。

0.1元。

7、12M晶振一个。

0.1元。

8、5V电源一个,如果你用电池做电源的话就买4节1.5V 的电池,再买一个四节电池盒。

6元。

9、导线若干。

5元。

我是在我们学校的实验室里弄到这些东西的,没花一分钱。

第二步准备工具基本的电子制作工具:1、电烙铁一个。

2、焊锡丝若干。

3、松香少许,助焊剂也可以。

4、镊子(有更好,没有也行)。

第三步装配、焊接原件备齐后,就是装配焊接了,对照电路图焊接,当然,如果你会Protel或Altium Designer,你可以做个PCB板,就省去焊接工作了。

原理图如下:因为上拉电阻不够,我只有一个,所以我是这样设计的:连接P0口的LED共阳,连接P1口、P2口和P3口的LED共阴。

心形流水灯制作教程

心形流水灯制作教程

亲,感谢你的支持并购买“新生科技电子卖场”的宝贝,网店网址:心形流水灯制作教程1、制作前先用笔对焊孔进行描绘。

这时候亲会注意到最顶上的焊孔有着些数字,只要数着这些数字并在对应的格数画上点就可以了。

具体画点参照图片。

2、画完焊孔以后进行对纸板的粘贴。

撕开胶纸后粘贴在板子上面。

粘贴后的板子3、翻到板子后面,对焊孔一一进行戳破。

可以用LED灯的灯脚剪尖进行操作。

戳好的板子正面如下图4、将LED安照戳好的洞口进行排版,记住LED排放的位置都是在外围的为正极,因为最后正极是需要全部焊接在一起的。

切记了。

刚刚排好的灯会七倒八歪的,所以要进行下面一个步骤。

6、把排版好了以后的板子翻转,然后分别先给每个LED的正极点上焊点。

负极先不需要点。

点完焊点后,一只手在后面按着LED灯,一只手用焊铁融对应的焊点,这样子LED就会被按得平平的,不会七倒八歪的了。

等全部整平整了以后,剪去长出来的引脚。

并焊上负极的点,如下图:7、给单片机上焊点(注意数点即可),如图,并给板子走上正极的焊线。

走线图如下:8、给单片机焊上晶振以及电容。

如图,晶振两个脚分别串联上电容一端再分别一个接单片机的第18个脚,一个接单片机的第19个脚。

电容剩下的连接单片机负极。

(单片机脚的定位参照配件附带的纸片。

)正面:背面:9、贴上贴片电阻,单片机上一共要焊32个贴片电阻,每8个一组。

焊贴片电阻时,先将贴片电阻八个八个弄出来,一个个放在板子上面贴着单片机脚的焊点上,用焊铁融化焊点时,贴片会被吸入。

至于北面走线的,请按照我给的图片进行焊接,不然会出现空间不够走焊线的情况。

其中的P3.8脚采用跳线焊接。

如果你全部做好了,那么恭喜你,成功的用自己的双手做出了一个精美的心形流水灯。

亲,在制作过程中有任何不懂的地方都可以随时向我说出来的。

再次欢迎你再次光临“新生科技卖场”网店网址:本店还有LED电子沙漏提供购买。

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作引言:在现代科技发展的背景下,电子产品已经成为我们生活中不可或者缺的一部份。

而作为电子制作的入门级项目,流水灯因其简单而受到泛博爱好者的爱慕。

本文将介绍使用51单片机制作爱心流水灯的原理及制作过程。

1. 原理介绍:爱心流水灯是一种特殊的流水灯效果,通过控制LED灯的亮灭顺序和时间间隔,形成一个爱心图案在LED灯带上流动的效果。

其原理基于51单片机的GPIO (通用输入输出)口控制LED灯的亮灭,通过改变LED灯的状态来实现流动效果。

2. 材料准备:制作爱心流水灯所需的材料如下:- 51单片机开辟板- LED灯带- 面包板- 杜邦线- 电阻- 电容- 电源适配器3. 硬件连接:首先,将51单片机开辟板和面包板连接起来。

然后,将LED灯带连接到面包板上,确保正极和负极正确连接。

接下来,通过杜邦线将51单片机的GPIO口与LED灯带连接起来。

最后,将电阻和电容连接到电路中,以保护电路免受过电流和过电压的伤害。

4. 软件编程:使用Keil C编译器进行软件编程。

首先,需要定义LED灯带的控制引脚,并初始化为输出模式。

然后,编写程序来控制LED灯的亮灭顺序和时间间隔。

在本例中,我们将使用循环语句和延时函数来实现流水灯效果。

通过改变LED灯的状态和延时时间,可以形成一个爱心图案在LED灯带上流动的效果。

5. 程序调试:将编写好的程序下载到51单片机开辟板上,并连接电源适配器。

打开开关,LED灯带上的爱心流水灯效果就会开始显示出来。

如果浮现问题,可以通过调试程序和检查硬件连接来解决。

6. 制作扩展:如果你对爱心流水灯的效果满意,你还可以进一步扩展你的制作。

例如,你可以添加一个按键来控制流水灯的启停,或者通过蓝牙模块和手机APP来远程控制流水灯的效果。

这些扩展可以增加你的制作的趣味性和创造性。

结论:通过本文的介绍,我们了解了51单片机爱心流水灯的原理及制作过程。

通过硬件连接和软件编程,我们可以制作出一个具有特殊效果的流水灯。

心形流水灯课程设计

心形流水灯课程设计

心形流水灯设计摘要本课题是利用STC89C52设计了一个心形流水灯电路,该电路可以实现32个LED灯循环闪亮、依次熄灭、对角闪亮、对角熄灭、间隔闪亮、间隔熄灭等多种功能。

该电路主要由单片机芯片STC89C52、电源电路、时钟电路、复位电路和显示电路组成。

利用Keil软件编写C语言程序,并生成目标代码Hex文件。

使用Proteus软件设计仿真电路,并调入已编译好的目标代码,即可在仿真图中看到模拟实物的运行状态和过程。

使用Altium Designer软件对电路进行原理图设计和PCB设计,并对该电路行安装和调试,调试结果可以实现流水灯的多种亮灭循环的功能。

关键词:AT89C52,复位电路,时钟电路,发光二极管目录1 绪论 (1)1.1课题描述 (1)1.2基本工作原理及框图 (1)2 相关芯片及硬件电路设计 (2)2.1AT89C52芯片 (2)2.1.1AT89C52的功能特性 (2)2.1.2AT89C52的主要性能参数 (2)2.2时钟电路 (3)2.3复位电路 (4)2.4显示电路 (4)2.6总原理图设计 (5)3 系统软件设计 (6)3.1程序主要流程 (6)3.2程序设计 (7)3.4电路功能仿真 (20)总结 (21)致谢 (22)参考文献 (23)1 绪论1.1 课题描述随着现代科学技术的持续进步和发展以及人们生活水平的不断提高,以大规模、超大规模集成电路为首的电子工艺技术的使用也越来越广泛,结合单片机技术设计的电子电路也层出不穷。

LED 彩灯由于其丰富的灯光色彩、低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。

利用控制电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电。

彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉OK 包房,从节日的祝贺到日常生活中的点缀,这些不仅说明了我们对生活的要求有了质的飞跃,也说明科技在现实生活中的运用有了较大的发展。

心形花样LED流水灯(带程序)

心形花样LED流水灯(带程序)

心形花样LED 流水灯(带程序)1000146073713使用89C52做的,原理图如下:总共有32个LED灯,4个I/O全部用上了。

我在这里不加有LED保护电阻,用200的也可以晶振用12M的或11.0592M也行,C1,C2用30PF。

PCB图如下:作品效果录像:/programs/view/z0bjKg_3Cd4/程序是用C语言写的;如下:#include<reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charuchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; // 逐个点亮0~7 uchar code table1[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; // 逐个点亮7~0 uchar code table2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; // 逐个灭0~7 uchar code table3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; // 逐个灭7~0/***********************************************************/void delay(uint t); //延时void zg(uint t,uchar a);//两边逐个亮void qs(uint t,uchar a);//全部闪烁void 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);//顺时逐个同步灭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,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=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);}}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[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 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[i];delay(t);}for (i=0;i<8;i++){P1=table2[i];delay(t);}for (i=0;i<8;i++){P3=table2[i];delay(t);}for (i=0;i<8;i++){P2=table2[i];delay(t);}}}/*void zgxh1(uint t,uchar a) // 顺时针逐个点亮{for (j=0;j<a;j++){P0=P1=P2=P3=0xff;for (i=0;i<8;i++){P2=table1[i];delay(t);}for(i=0;i<8;i++){P3=table1[i];delay(t);}for(i=0;i<8;i++){P1=table1[i];delay(t);}for(i=0;i<8;i++){P0=table[i];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[i];delay(t);}for (i=0;i<8;i++){P3=table3[i];delay(t);}for (i=0;i<8;i++){P1=table3[i];delay(t);}for (i=0;i<8;i++){P0=table2[i];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=table[i-1];P3=table1[i-2];delay(t);}P1=0xfe;P3=0xff;delay(t);P1=0xff;P2=0x01;delay(t);for(i=7;i>1;i--){P0=table1[i-1];P2=table1[i-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[i];P1=P2=P3=table1[i];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[i];P1=P2=P3=table[i];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[i];P1=P2=P3=table3[i];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[i];P1=P2=P3=table2[i];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[i];P3=table[i];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[i];P3=table2[i];delay(t);}}}/*void swzjl(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=table[i];P3=table1[i];delay(t);}}}void swzjm(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=table2[i];P3=table3[i];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[i];delay(t);}P0=0xff;for(i=0;i<8;i++){P1=table[i];delay(t);}P1=0xff;for(i=0;i<8;i++){P3=table[i];delay(t);}P3=0xff;for(i=0;i<8;i++){P2=table[i];delay(t);}P2=0xff;}}void nzdgl(uint t,uchar a) //逆时逐段一个点亮{uchar i,j,k,l;for (j=0;j<a;j++){k=table1[0];P0=k;l=table[0];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 main(){uchar i;while(1){zg(100,1); //两边逐个亮lbzgm(100,1); //两边逐个灭jgs(300,10);djs(100,20); //对角闪////////////////////////////////////////////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);}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); //逆时逐段一个点亮jgs(300,10); //间隔闪for(i=0;i<3;i++){nszgm(100,1);}/*for(i=0;i<5;i++){zgxh1(100,1);sszgm(100,1);}*/nzdl(200,3); //逆时逐段亮jgs(50,100); //间隔闪/*///////////////////////////////////////////////////// P0=P1=P2=P3=0xff;for (i=0;i<8;i++){P0=table1[i];delay(200);}for (i=0;i<8;i++){P1=table[i];delay(200);}for(i=0;i<3;i++){P0=P1=0x00;delay(200);P0=P1=0xff;delay(200);}for (i=0;i<8;i++){P2=table1[i];delay(200);}for (i=0;i<8;i++){P3=table1[i];delay(200);}for(i=0;i<3;i++)P2=P3=0x00;delay(200);P2=P3=0xff;delay(200);}*///////////////////////////////////////////////////nzdgl(50,40); //逆时逐段一个点亮for(i=0;i<4;i++){zg(100,1);qs(100,10);lbzgm(100,1);}// djs(50,100); //对角闪for(i=0;i<3;i++){zgxh(100,1);nszgm(100,1);}djs(1000,10);for(i=0;i<10;i++){hwzjl(200,1); //横往中间亮hwzjm(200,1); //横往中间灭}djs(300,10); //对角闪/* for(i=0;i<10;i++){swzjl(200,1); //竖往中间亮swzjm(200,1); //竖往中间灭}*/for(i=0;i<5;i++){zgxh(100,1);nszgm(100,1);}djs(100,20); //对角闪zg(300,1);lbzgm(300,1);/*for(i=0;i<5;i++)zgxh1(100,1);sszgm(100,1);}*/for(i=0;i<5;i++){sztl(200,1); //顺时逐个同步亮nztm(200,1);nztl(200,1);sztm(200,1); //顺时逐个同步灭}djs(500,20); //对角闪djs(100,30); //对角闪djs(50,50); //对角闪// djs(10,100); //对角闪delay(1000);}}void delay(uint t){uint x,y;for (x=t;x>0;x--){for (y=120;y>0;y--);}}因为89C52的容量有限,所以还有几个方式注释掉了。

心形花样LED流水灯程序-推荐下载

心形花样LED流水灯程序-推荐下载

} 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 nszgm(uint t,uchar a) // 逆时针逐个灭 {
}
/* 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++) {
/***********************************************************/ void delay(uint t); //延时 void zg(uint t,uchar a);//两边逐个亮 void qs(uint t,uchar a);//全部闪烁 void 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);//顺时逐个同步灭 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,uchar a)//两边逐个亮 {

心形流水灯报告

心形流水灯报告

心形流水灯报告引言心形流水灯是一种独特的装饰灯,其形状呈现为一个心形,且灯光呈现流水般效果。

心形流水灯广泛应用于情人节、婚礼、生日派对等场合,成为一种浪漫且温馨的装饰方式。

本报告将介绍心形流水灯的设计原理、制作方法和一般使用情况,并提供一些建议和注意事项。

设计原理心形流水灯的核心组成部分包括LED灯珠、心形灯板、控制电路和电源。

其工作原理是通过控制电路将电源的电能转化为LED灯珠的光能,然后通过心形灯板的特殊设计,使灯光呈现出流水效果。

制作方法以下是制作心形流水灯的一般步骤:1.准备材料和工具–LED灯珠(多达数十颗)–心形灯板–控制电路(例如Arduino)–电源线和插头–电焊工具–导线–热熔胶枪2.连接LED灯珠–使用导线将LED灯珠连接到控制电路上,确保正确极性和正常电路连接。

3.连接控制电路和电源–将控制电路和电源连接起来,注意正确的极性和电压要求。

4.安装心形灯板–将心形灯板安装在适当的位置上,确保灯珠布置整齐,并由热熔胶固定灯珠和电线。

5.测试与调试–接通电源,检查心形流水灯是否正常工作,如有异常,可通过调整控制电路或检查连线来解决问题。

6.包装和完成–可以根据需要制作灯罩或装饰外壳,以增加装饰效果和保护灯具。

使用情况心形流水灯适合用于以下情况和场合:1.情人节装饰–心形流水灯作为情人节的装饰品,能够创造出浪漫的氛围,为情侣们营造出甜蜜而温馨的氛围。

2.婚礼装饰–在婚礼现场悬挂或摆放心形流水灯,能够给婚礼增添浪漫和喜庆的氛围。

3.生日派对装饰–在生日派对上使用心形流水灯,可以为寿星带来惊喜和祝福,同时也能增加派对的欢乐氛围。

4.居家装饰–安装一个心形流水灯在家中的角落,可以增加居家生活的乐趣和温馨感。

建议和注意事项在制作和使用心形流水灯时,需要注意以下事项:1.安全第一–在制作和使用心形流水灯时,务必注意安全,避免电路短路、漏电等安全问题。

2.选择合适的材料和工具–使用高质量的LED灯珠、适用的心形灯板和控制电路,以确保心形流水灯的效果和耐用性。

心形流水灯的实验报告

心形流水灯的实验报告

心形流水灯的实验报告心形流水灯的实验报告一、引言心形流水灯是一种具有艺术性和创意性的灯光装饰,它通过流动的灯光呈现出一个心形的图案。

本实验旨在探索心形流水灯的制作原理和工作原理,并通过实际搭建一个心形流水灯来验证理论。

二、实验材料和方法1. 实验材料:- Arduino开发板- LED灯珠- 面包板- 连接线- 电阻- 电池或电源2. 实验方法:- 将Arduino开发板与面包板连接,并将LED灯珠插入面包板上。

- 根据电路图连接电路,包括电阻和电源的连接。

- 编写Arduino程序,控制LED灯珠按照心形图案流动。

三、实验过程1. 搭建电路根据电路图,将Arduino开发板与面包板连接,并将LED灯珠插入面包板上。

根据需要,可以选择不同颜色的LED灯珠,以增加艺术效果。

2. 连接电路根据电路图连接电路。

首先,将Arduino开发板的数字引脚与面包板上的LED灯珠连接,以控制灯珠的亮灭。

然后,将电阻连接到面包板上的LED灯珠,以限制电流。

最后,将电源连接到电路上,为LED灯珠提供电力。

3. 编写Arduino程序使用Arduino编程软件,编写程序以控制LED灯珠按照心形图案流动。

可以使用Arduino的编程语言,通过控制数字引脚的高低电平来控制LED灯珠的亮灭。

通过循环和延时函数,可以实现LED灯珠按照一定的频率和顺序流动,形成心形图案。

四、实验结果经过实验,我们成功搭建了一个心形流水灯,并通过Arduino程序控制LED灯珠按照心形图案流动。

当灯珠流动时,形成一个明亮的心形图案,给人一种浪漫和温馨的感觉。

五、实验分析心形流水灯的制作原理是通过控制LED灯珠的亮灭和流动顺序,形成一个心形图案。

通过Arduino开发板和编程软件,我们可以方便地控制LED灯珠的亮灭和流动,实现心形流水灯的效果。

在实验过程中,我们还可以对实验进行一些改进和扩展。

例如,可以增加更多LED灯珠,以增加心形图案的亮度和效果。

实验1七彩炫丽心形彩灯

实验1七彩炫丽心形彩灯

实验一七彩炫丽心形彩灯一、实验目的1、掌握Keil C软件的使用方法;2、掌握程序下载及调试方法;3、掌握IO口控制发光二极管亮灭的方法;4、熟悉C51IO口控制程序、延时程序、函数等的编写方法。

二、实验设备1、计算机;2、心形彩灯电路板;3、电源线;4、下载线。

三、设计任务设计一款心形流水灯,可按照不同顺序点亮和闪烁。

四、设计要求1、基本要求(1)点亮P0.0、P1.0、P2.0、P3.0发光管.(2)让P1.0发光管闪烁(3)设计P1口流水灯效果(4)设计心形流水灯效果2、扩展要求(1)顺时针依次点亮;(2)逆时针依次点亮;(3)从中心依次左右点亮。

五、实验电路及连线1、USB电源线接到计算机USB口;2、下载线连接如表所示;六、实验步骤1、启动Keil C软件:双击桌面上图标,;2、新建工程:Project→New →uVision Project.. ,输入工程名字,不加后缀,保存;3、选择单片机型号:左侧选项卡中的“Atmel”→“A T89C52”,然后点击“确定”;4、新建文件:File →New, 输入程序内容,保存**.C;5、添加文件到工程:左侧Project Workspace→Target 1→Source Group 1→鼠标右键点击Source Group 1 →选择选项卡中Add Files to Group …Source Group 1;6、编译:Project→Rebuild all target files;7、Hex文件的输出:Project→Options for Target …Target 1‟→Output,8、将“Creat Hex Files”前面对话框内选择“√”,点击“确定”;9、下载程序:启动下载软件。

七、实验报告要求1、按照创新实验报告模板要求撰写;2、写清设计方案、工作原理;3、画出硬件电路图;4、画出流程图;5、给出相应的代码。

八、相关知识1、了解单片机引脚功能;2、学习单片机最小系统的构成;3、学习C51的基本语法;4、学习基本IO口的操作,即高低电平的输入输出方法;5、学习单片机延时语句程序的编写,例如for、while语句的使用;。

爱心灯

爱心灯

爱心灯第一步购买元件爱心流水灯部分:1. 6mm红色LED(可以再多买几个备用)24个2.15cm*20cm万用板2个3.STC89C52单片机1片4.单片机插座DIP-40 1个5.自锁式开关1个6.30pF 电容2个7.10uF电解电容1个8.12M晶振(或者11.0592M晶振)1个9. 三节电池盒一个10.按键2个11.1K电阻24个12.10K上拉电阻1个13.导线若干电子音乐部分:1.MSP430G2553 单片机1个2.1N4001二极管2个(或者用ams1117-3.3V稳压芯片)3.10K电阻1个4.喇叭一个5.10uF电解电容第二步准备工具基本的电子制作工具:1、电烙铁一个。

2、焊锡丝若干。

3、松香少许,助焊剂也可以。

4、镊子第三步焊接第一步,在万用板上排好要焊接的LED正面图如下:第二步,在背面焊接上1k限流电阻:在这里采用贴片电阻,占用地方少。

焊接好好后的的样子如下第三步,就是把所有的正极连起来,如下:第三步,就是把所有的正极连起来,如下:正面如下:反面如下:第五步,将24个led的阴极连接到单片机引脚上(原理图如下)。

第七步:焊接msp430g3553(电子音乐部分)。

至此,大部分已经焊接完成,最后再焊接两个按键和三个个跳线帽和一个音频接口。

其中一个按键的作用是启动流水灯,另一个备用,三个跳线帽其中两个跳线帽可以选择控制两个绿色的led的亮灭(拔掉跳线帽就是是绿色led不发光),另外一个控制喇叭能否发声。

下面贴上几幅焊接完成的图片:为了好看,可以将电路板背面的导线遮挡住,在此处采用再加一个空板子放在下面。

第四步程序分析#include"reg52.h"#include"intrins.h"#define uint unsigned int#define uchar unsigned charuchar f=0;bit ff=0;sbit P10=P1^0;sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P00=P0^0;sbit P01=P0^1;sbit P02=P0^2;sbit P03=P0^3;sbit P04=P0^4;sbit P05=P0^5;sbit P06=P0^6;sbit P07=P0^7;sbit P24=P2^4;sbit key1=P3^2;sbit key2=P3^3;void delay_ms(uint ms)void offall()//close all ledvoid onall()//open all ledvoid ss(uint a)//闪烁a为闪烁间隔void jgss(uint a)//间隔闪烁void bbss(uint a)//半边交替闪烁void sxss(uint a)//上下交替闪烁void func1(uint a)//等时流水灯void func1_1()//等时流水灯void func2(uint a)//反向等时流水灯void func2_1()//反向等时流水灯void func3(uint a)//半双边流水由上至下void func3_1()//半双边流水由上至下void func4(uint a)//半双边流水右下至上void func4_1()//半双边流水右下至上void func5(uint a)//正向生长void func5_11()//正向生长void func6(uint a)//反向生长void func6_11()//反向生长void func5_1(uint a)//两边同时向下生长void func5_12()//两边同时向下生长void func6_1(uint a)//两边从下往上同时生长void func6_12()//两边从下往上同时生长void func7(uint a)//不亮的灯流水顺时针void func7_1()//不亮的灯流水顺时针void func8(uint a)//不亮的灯流水逆时针void func8_1()//不亮的灯流水逆时针void func9(uint a)//正向死亡void func9_1()//正向死亡void func10(uint a)//逆向消亡void func10_1()//逆向消亡void func12(uint a)//流水灯,留下每4位的第1,2,3个led亮void func12_1()//流水灯,留下每4位的第1,2,3个led亮void func13(uint a)//自下而上依次填满void func13_1()//自下而上依次填满void func14(uint a)//自上而下依次填满void func14_1()//自上而下依次填满void func15(uint a)//P0,P1,P2同时循环左移void func16(uint a)//P0,P1,P2同时循环左移void func17(uint a)//P0,P1,P2同时左移void func18(uint a)//P0,P1,P2同时右移void func19(uint a)//逐个熄灭void func20(uint a)//逐个变亮以上只给出了函数名,具体函数见附录。

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作爱心流水灯是一种常见的电子制作项目,它利用51单片机控制LED灯的亮灭顺序,形成一个动态的爱心图案。

下面将详细介绍爱心流水灯的原理及制作过程。

一、原理介绍1. 51单片机:51单片机是一种常用的微控制器,具有较强的控制能力和广泛的应用领域。

2. LED灯:LED灯是一种半导体发光器件,具有低功耗、长寿命和丰富的颜色选择等特点。

3. 流水灯原理:流水灯是利用多个LED灯按照一定的顺序依次亮灭,形成一个动态的流动效果。

二、制作材料准备1. 51单片机开发板:用于编写和烧录控制程序。

2. LED灯:选择红色LED灯,数量根据实际需要确定。

3. 电阻:用于限流,根据LED灯的工作电流和电压确定合适的电阻值。

4. 连接线:用于连接单片机和LED灯。

三、制作步骤1. 连接电路:将LED灯按照心形的形状连接在面包板上,每个LED灯之间通过连接线连接。

2. 连接单片机:将51单片机开发板与面包板上的电路连接,确保每个LED灯的正极连接到单片机的输出引脚。

3. 编写程序:使用C语言编写控制LED灯亮灭的程序,并将程序烧录到51单片机中。

4. 供电测试:将电路连接到电源上,通过控制程序使LED灯按照设定的顺序亮灭,观察是否形成了爱心流水灯效果。

5. 优化调整:根据实际效果对程序进行优化和调整,使得爱心流水灯效果更加流畅和美观。

四、注意事项1. 电路连接:在连接LED灯的过程中,注意正负极的连接,确保LED灯正极连接到单片机的输出引脚。

2. 电阻选择:根据LED灯的工作电流和电压确定合适的电阻值,以保护LED 灯不受过电流的损坏。

3. 程序编写:编写程序时,注意控制LED灯的亮灭顺序和时间间隔,以达到预期的流水灯效果。

4. 安全用电:在进行供电测试时,确保使用稳定可靠的电源,并注意电路的绝缘和防触电措施。

五、扩展应用1. 调节亮度:通过调整LED灯的亮度,可以改变爱心流水灯的效果,使其更加柔和或明亮。

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作

电路原理图:原件清单:1、51单片机x1、40Pin 座x12、LED x32(建议用5mm 七彩的)3、电阻470Ωx334、晶振12MHz x15、10uf 电解电容x1、谐振瓷片电容30pf x26·其他的可以看自己的爱好去加7、其实也可以不用那么多的电阻,用几个排阻就OK了。

效果展示:作品程序:#include<reg52.h>#define uchar unsigned charuchar flag=200;///////////////////////////////////////////////////////////////////////uchar code Tab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};//暗中左移向下uchar code Tab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};//暗中右移向上uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//亮中左移向下uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//亮中右移向上uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};//暗中左移向下uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff};////////////////////////////////////////////////////////////////////uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff};uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff};uchar code Tab6[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff};uchar code Tab7[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar code Tab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; ////////////////////////////////////////////////////////////////void shansuo();void xl();///////////////////////////////////////////////////////////////void delay(void){unsigned char m,n;for(m=0;m<flag;m++)for(n=0;n<250;n++);}///////////////////////////////////void hy1(void) //点亮状态逆时针旋转90度(一个一个灭){unsigned char i;for(i=0;i<8;i++){P0=Tab11[i];P1=Tab22[i];P2=Tab11[i];P3=Tab22[i];delay();}for(i=0;i<8;i++){P0=Tab44[i];P1=Tab55[i];P2=Tab44[i];P3=Tab55[i];delay();}}///////////////////////////////////////////void hy2(void) //暗中逆时针转360。

心形流水灯 STC89C52电子制作焊接套件单片机程序设计0(DOC)

心形流水灯 STC89C52电子制作焊接套件单片机程序设计0(DOC)
sbit x14=P1^5;
sbit x15=P1^6;
sbit x16=P1^7;
sbit x17=P3^0;
sbit x18=P3^1;
sbit x19=P3^3;
sbit x20=P3^4;
sbit x21=P3^5;
sbit x22=P3^6;
sbit x23=P3^7;
sbit x24=P2^0;
P0=0;
P1=0;
P2=0;
P3=0;
delay2ms();
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x1 =0; delay2ms();
x2 =0; delay2ms();
x3 =0; delay2ms();
x4 =0; delay2ms();
x5 =0; delay2ms();
x24 =0; delay2ms();
x23 =0; delay2ms();
x22 =0; delay2ms();
x21 =0; delay2ms();
x20 =0; delay2ms();
x19 =0; delay2ms();
x18 =0; delay2ms();
x17 =0; delay2ms();
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x1 =0; delay2ms();
x2 =0; delay2ms();
x3 =0; delay2ms();
x4 =0; delay2ms();
x5 =0; delay2ms();
x6 =0; delay2ms();
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、翻到板子后面,对焊孔一一进行戳破。可以用LED灯的灯脚剪尖进行操作。戳好的板子正面如下图
4、将LED安照戳好的洞口进行排版,记住LED排放的位置都是在外围的为正极,因为最后正极是需要全部焊接在一起的。切记了。刚刚排好的灯会七倒八歪的,所以要进行下面一个步骤。
6、把排版好了以后的板子翻转,然后分别先给每个LED的正极点上焊点。负极先不需要点。点完焊点后,一只手在后面按着LED灯,一只手用焊铁融对应的焊点,这样子LED就会被按得平平的,不会七倒八歪的了。等全部整平整了以后,剪去长出来的引脚。并焊上负极的点,如下图:
亲,感谢你的支持并购买“新生科技电子卖场”的宝贝,网店网址:http:\\,欢迎你的再次光临。
心形流水灯制作教程
1、制作前先用笔对焊孔进行描绘。这时候亲会注意到最顶上的焊孔有着些数字,只要数着这些数字并在对应的格数画上点就可以了。具体画点参照图片。
2、画完焊孔以后进行对纸板的粘贴。撕开胶纸后粘贴在板子上面。 粘贴后的板子
7、给单片机上焊点(注意数点即可),如图,并给板子走上正极的焊线。走线图如下:
8、给单片机焊上晶振以及电容。如图,晶振两个脚分别串联上电容一端再分别一个接单片机的第18个脚,一个接单片机的第19个脚。电容剩下的连接单片机负极。(单片机脚的定位参照配件附带的纸片。)
正面:
背面:
9、贴上贴片电阻,单片机上一共要焊32个贴片电阻,每8个一组。焊贴片电阻时,先将贴片电阻八个八个弄出来,一个个放在板子上面贴着单片机脚的焊点上,用焊铁融化焊点时,贴片会被吸入。至于北面走线的,请按照我给的图片进行焊接,不然会出现空间不够走焊线的情况。其中的P3.8脚采用跳线焊接。
如果你全部做好了,那么恭喜你,成功的用自己的双手做出了一个精美的心形流水灯。亲,在制作过程中有任何不懂的地方都可以随时向我说出来的。再次欢迎你再次光临“新生科技卖场”网店网址:http:\\
本店还LED电子沙漏提供购买。
相关文档
最新文档