本人自己动手设计了一款“心形” 加 “I LOVE U ”字样的LED 流水灯,“心形”一共16只LED灯,全部由单片机引脚控制,“I LOVE U ”字样全部采用3片74H595芯片级联控制,这样既节省单片机资源又方便原理图PCB布局。我先在PROTUES上把软件设计仿真了一遍,达到我要的效果以后进行硬件设计。花了2个周末的时间终于把PCB板画好了,大家可以先一起欣赏一下,嘿嘿,第一次动手画板子。昨天已经联系了一家PCB打样厂家进行打样,估计下周板子就能到手了。
情人节马上就要到了,送一份这样的礼物给女朋友应该会给她一个大大的惊喜的,有需要的同志可以联系我QQ。谢谢大家!
先来2张没焊接元件的:
元件已经焊接好的板子:
最后来个视频,到目前为止已经实现了40多种流水花样!链接如下:
http://v.youku.com/v_show/id_XNzc2NDM1MTY4.html
权限限制只能这样发网址了,要看的复制这个网址到网页再看
再把焊接好元件的图片发上来,上面的元件只支持LED 流水灯功能,没焊接的部分还支持一些其他功能!元件焊接得不是很好,以为设计的时候考虑到用贴片元件,实际焊接的时候使用的是直插电阻,所以电阻部分看上去不是很好,不过这样也不影响使用,为了使效果更好,有几个灯的走线我改了一下。。。所以能看见有几根飞线,嘿嘿zzz。。。。。。。。。。
背面照:
正面照:
为了使视觉效果更好,正面我没有设计元件的位置,所有使用的元件都分布在背面,这样的效果应该比上面有元件的好多了吧。。。。
改天录个流水灯工作的视频,弱弱地问问大家,帖子上怎样发网址链接啊?我的权限貌似不够哦网址都放不上来,真是万般纠结啊!!
源程序:
- #include
- #include
- #include "main.h"
- #include "595.h"
- #include "1602.h"
- #include "DS1302.h"
- #include "common_include.h"
- /*unsigned char aucLoveWords[6]= "Hello";
- unsigned char aucLoveYou[16] = "World!";
- */
- unsigned char k[]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7};
- /*unsigned char k2[]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7};
- unsigned char k3[]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7};
- */
- void main()
- {
- #ifndef TWO_74HC595
- unsigned char j;
- unsigned char k[8];
- #endif
- unsigned char ucX;
- int ucY;
- #ifdef ENABLE_LCD
- LCD_Initial();
- Initial_DS1302();
- Init_1302();
- LCD_GotoXY(5,0);
- LCD_Print( aucLoveWords );
- LCD_GotoXY(0,1);
- LCD_Print( aucLoveYou );
- LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏
- memset(CurrentTime.TimeString,0x00,sizeof(CurrentTime.TimeString));
- #endif
- while(1)
- {
- SCK=0;
- RCK=1;
- ucX ++;
- P1 = 0x00;P0 = 0x00;
- P1 = P1 + ucX;
- P0 = P0 + ucX;
- if(ucX > 8)
- {
- ucX = 0;
- }
- //LCD_Display_DateTime();
- /*for(ucX = 0;ucX < 8;ucX ++)
- {
- P0 = 0xFE << ucX;
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<100;ucY++);
- COMM_Delay10ms(1);
- }
- ucX = 0;
- for(ucX = 0;ucX < 8;ucX ++)
- {
- P1 = 0xFE << ucX;
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<50;ucY++);
- for(ucY=0;ucY<100;ucY++);
- COMM_Delay10ms(1);
- }*/
- //P1 = 0xFF;
- //P0 = 0xFE< /*k[0]=CurrentTime.TimeString[7] - '0'; //个位
- k[1]=CurrentTime.TimeString[6] - '0'; //十位
- k[2] = 0x40- '0' ;
- k[3]=CurrentTime.TimeString[4] - '0'; //千位
- k[4]=CurrentTime.TimeString[3] - '0'; //个位
- k[5] = 0x40- '0' ;
- k[6]=CurrentTime.TimeString[1] - '0'; //百位
- k[7]=CurrentTime.TimeString[0] - '0'; //千位
- */
- #ifndef TWO_74HC595
- for(j=0;j<8;j++)
- {
- In595(j,k[j]);
- #else
- HC595_LED_Flash(ucCounter);
- ucCounter ++;
- if( ucCounter == 0x06)
- {
- ucCounter = 0x00;
- }
- #endif
- #ifndef TWO_74HC595
- }
- #endif
- }
- }
| 51单片机做的“心形 I LOVE U”流水灯.rar
2016-9-9 23:28 上传
点击文件名下载附件
266.54 KB, 下载次数: 6
0
|
|
|
|