单片机自制DIY-32心形流水灯,十几种效果,带源码和仿真

时间:2023-03-27来源:佚名

昨天后台有人给我留言说,惹女朋友生气了,买东西哄太没有新意,所以想亲自用个单片机小程序来博得美人原谅,但是自己单片机学的又不怎么样,所以程序还不能太复杂,我思来想去觉得也只有这个DIY心形流水灯适合他了,所以就借用PROTEUS来做了一个,效果还不错,希望他女朋友可以原谅他。

因为程序比较简单,我以前也分享过类似的程序,所以在这里就放两个仿真图和参考源代码,有兴趣的小伙伴可以试一下,老鸟就飘过吧!

废话不多说先上实物图

单片机自制DIY-32心形流水灯,十几种效果,带源码和仿真

单片机控制的心形流水灯原理图:

单片机自制DIY-32心形流水灯,十几种效果,带源码和仿真

单片机控制的心形流水灯仿真图:

单片机自制DIY-32心形流水灯,十几种效果,带源码和仿真

单片机控制的心形流水灯PCB图:

单片机自制DIY-32心形流水灯,十几种效果,带源码和仿真

次醒能任意设定方向和频率点亮,大家还可以换上不同颜色的灯,达到不同的显示效果。

单片机参考源代码如下:

/******************第一个参数为次数n,第二个为时间t(ms)************

qbsszgl 全部顺时逐个亮; qbsszgm 全部顺时逐个灭;

lbtbls(n,t)两边同步流水;

ygnsls 一个逆时流水;

ygssls 一个顺时流水;

tbnsls 同步逆时流水

tbssls 同步顺时流水;

tbsszgl 同步顺时逐个亮;

tbnszgl 同步逆时逐个亮;

tbsszgm 同步顺时逐个灭;

tbnszgm 同步逆时逐个灭;

yslbtbzgl 由上两边同步逐个亮;

yslbtbzgm 由上两边同步逐个灭;

lbtbdj 两边同步叠加;

bgssls 八个顺时流水;

bgnsls 八个逆时流水;

llbgssls 两路八个顺时流水;

zjxlbwf 中间向两边往返;

zxytbzg 左向右同步逐个;

zsyxzgl 左上右下逐个亮;

zxyszgl 左下右上逐个亮;

xiaolian 笑脸;

**********************************************************************/

下面是叠加效果的代码,大家可以看看是不是不一样;

void lbtbdj(uchar n,uint t)两边同步叠加;

{

uchar j,a,i,z=0,z1=0,k=8;

for(j=0;j

{

while(k!=0)

{

i=0;

for(a=0;a<8;a )

{

led1=led4=ni[a];

delay((t-j*20));

}

led1=led4=0xff;

delay(t);

do

{

led2=~(0x01<

led3=~(0x80>>i);

switch(k)

{

case 8:z=0x00;z1=0x00;break;

case 7:z=0x01;z1=0x80;break;

case 6:z=0x03;z1=0xc0;break;

case 5:z=0x07;z1=0xe0;break;

case 4:z=0x0f;z1=0xf0;break;

case 3:z=0x1f;z1=0xf8;break;

case 2:z=0x3f;z1=0xfc;break;

case 1:z=0x7f;z1=0xfe;break;

case 0:z=0xff;z1=0xff;break;

}

led2=~((0x01<

led3=~((0x80>>i)|z);

i ;

delay(t);

}

while(i

k--;

}

i=0;z=0;z1=0;k=8;

while(k!=0)

{

i=0;

do

{

led1=led4=~(0x80>>i );

switch(k)

{

case 8:z=0x00;break;

case 7:z=0x01;break;

case 6:z=0x03;break;

case 5:z=0x07;break;

case 4:z=0x0f;break;

case 3:z=0x1f;break;

case 2:z=0x3f;break;

case 1:z=0x7f;break;

case 0:z=0xff;break;

}

led1=led4=~(~led1 z);

delay(t);

}

while(i

k--;

}

k=8;

led1=led2=led3=led4=0xff;

}

}

好了,鉴于时间原因就写到这里了,如果有意见或者不同的看法,欢迎留言或者私信,如果你感兴趣还可以加入我们的单片机技术交流群和我们一起学习。希望你们一次成功哦!

    相关阅读

    三相四线空开的接线图说明

    有关三相四线空开怎么接线的问题,在电路接线过程中,空气开关 是三根线,三相四线也称为动力线,黄绿红或ABC相,把三根火线 接入空开的上桩头。 三相四线空开的接线图 在漏电开...
    2022-12-15
    三相四线空开的接线图说明

    空调铜管裸露在外面有什么影响?

    几十年前安装的空调,铜管都是裸露的,没有现在这么讲究,但制冷制热效果一样杠杠的。先抛开“空调用铜管还是铝管好 ”不说,单从使用者的角度来说,将铜管裸露在外是有影响的...
    2022-12-12
    空调铜管裸露在外面有什么影响?

    空调小管(供液管)结霜是什么原因

    空调空调小管(供液管)结霜,常见原因如下: 1、缺冷媒 当空调中缺少冷媒时,极有可能出现空调结霜 现象。解决办法:及时查漏补漏,添加适量的制冷剂,使空调恢复运行。 2、系统...
    2022-12-12
    空调小管(供液管)结霜是什么原因

    脉冲电子电表怎么偷电,一招教会你偷电方法

    用来偷电的方法有多种,对于脉冲电子表应该怎么偷电,其实这个偷电方法很简单的,只需要拔掉一根线就可以达到偷电的目的了,一起来了解下吧。 脉冲电子电表的偷电方法 说明:...
    2022-12-17
    脉冲电子电表怎么偷电,一招教会你偷电方法

    关了LED灯仍然微亮怎么办,二种方案完美解决微亮(鬼火)问题

    有关LED灯的使用问题,晚上关了LED灯或者节能灯后,会发现仍然有微亮的光线,这种称之为“鬼火”,怎么来解决关了LED灯仍然微亮的问题,这里分享了二种解决方法,加中间继电器...
    2022-12-23
    关了LED灯仍然微亮怎么办,二种方案完美解决微亮(鬼火)问题

    小牛电动车怎么解锁限速,6个步骤帮你搞定解限速问题

    有关小牛电动车解限速的方法,可以破解20公里限速的,破解流程不复杂,只要6个步骤就可以搞定,小牛电动车怎么解锁限速,可以来试一试本文给出的解锁限速的方法。 小牛电动车解...
    2022-12-13
    小牛电动车怎么解锁限速,6个步骤帮你搞定解限速问题

    空调指示灯亮着会不会费电,一年能费多少度电

    对于空调指示灯亮着会不会费电的问题,会费电,这个不用怀疑。无论哪一种电器设备,哪怕是微小的指示灯,也会是费电的,只是费电量微乎其乎,一年消耗的电量可以忽略不计。...
    2022-12-23
    空调指示灯亮着会不会费电,一年能费多少度电

    雅迪电动车怎么解除25码,附详细解限速步骤说明

    雅迪电动车解除25码限速的方法 方法1:先不要打开电源,捏住刹把,调速把转到底,立即打开电源,在捏住刹把状态下连续转动调速把到最大限度3次,第三次调速把转到底保持5至8秒,...
    2022-12-13
    雅迪电动车怎么解除25码,附详细解限速步骤说明

    网站栏目