完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
昨天后台有人给我留言说,惹女朋友生气了,买东西哄太没有新意,所以想亲自用个单片机小程序来博得美人原谅,但是自己单片机学的又不怎么样,所以程序还不能太复杂,我思来想去觉得也只有这个DIY心型流水灯适合他了,所以就借用PROTEUS来做了一个,效果还不错,希望他女朋友可以原谅他。
因为程序比较简单,我以前也分享过类似的程序,所以在这里就放两个仿真图和参考源代码,有兴趣的小伙伴可以试一下,老鸟就飘过吧! 废话不多说先上图 次醒能任意设定方向和频率点亮,大家还可以换上不同颜色的灯 参考源代码如下: /******第一个参数为次数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-j20)); } 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; } } 好了,鉴于时间原因就写到这里了,如果有意见或者不同的看法,欢迎留言或者私信,如果你感兴趣还可以加入我们的单片机技术交流群和我们一起学习。 |
|
|
|
只有小组成员才能发言,加入小组>>
2503 浏览 0 评论
1071浏览 2评论
685浏览 1评论
446浏览 0评论
179浏览 0评论
306浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-14 14:15 , Processed in 1.121400 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号