找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7134|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

DIY STC11F02E單片機(jī)心形流水燈

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:243986 發(fā)表于 2017-12-11 15:02 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
創(chuàng)作原由:
大多電子愛(ài)好者朋友用的40Pin的51單片機(jī)做心形流水燈,需要的led量多,焊接時(shí)間長(zhǎng),所以本人想著用20Pin的STC11F02E做一個(gè)迷你版的心形流水燈。所需led數(shù)量少,易焊接,布線。下面給大家介紹這個(gè)小制作。有不足的地方可以提出,還望大神指點(diǎn)。(不喜勿噴)



從圖中可以看出所需元器件:
1.STC11F02E單片機(jī)一片
2.LED燈14個(gè),顏色隨意。
3.1K電阻14個(gè)(上拉電阻,單片機(jī)IO口輸出很。
4.電位器(不要也可以,加了調(diào)節(jié)電壓能調(diào)節(jié)燈亮度,但是電壓過(guò)小,單片機(jī)無(wú)法正常工作)
5.USB母口(也可以用DC插座,不過(guò)不好焊)
6.自鎖開關(guān)
7.USB轉(zhuǎn)TTL (PL2302或者CH340)
8.洞洞板7×9cm
9.面包板(用來(lái)測(cè)試燈泡好壞,加了上拉之后電阻調(diào)整)
10.杜邦線(圖中沒(méi)有)
11.漆包線(后面飛線,也可以用杜邦線飛,就是太粗)
大概就這么點(diǎn)元器件,其他焊接工具就不需要說(shuō)了吧。

STC11F02E引腳圖:


LED和引腳對(duì)應(yīng)關(guān)系:
使用P1.0-1.7和P3.0-3.5一共14個(gè)引腳。P1.0對(duì)應(yīng)上面中間的LED,其他一次逆時(shí)針焊接。也就是下面中間為P1.7。下面中間右邊一個(gè)為P3.0,繼續(xù)逆時(shí)針。焊接最外圈為GND,VCC在里面。

  1. /**********************/  
  2. /******心形流水燈******/  
  3. /**********************/  
  4. #include <reg52.h>  
  5. #define uchar unsigned char  
  6. #define uint unsigned int  
  7. uchar code table1[]={  
  8. 0x01,0x02,0x04,0x08,  
  9. 0x10,0x20,0x40,0x80};  
  10. uchar code table2[]={  
  11. 0x01,0x02,0x04,0x08,  
  12. 0x10,0x20};  
  13. uchar code table3[]={  
  14. 0x80,0xc0,0xe0,0xf0,  
  15. 0xf8,0xfc,0xfe,0xff};  
  16. uchar code table4[]={  
  17. 0x00,0x01,0x03,0x07,  
  18. 0x0f,0x1f,0x3f};  
  19. void loudou_0();           //左右流水遞增  
  20. void loudou_1();           //左右流水  
  21. void loudou_2();           //左右流水  
  22. void shanshuo();           //加減速閃爍  
  23. void quanliang();          //全量  
  24. void banshan();            //左右半閃  
  25. void liushui_vleft();      //逆時(shí)針加速轉(zhuǎn)  
  26. void liushui_vright();     //順時(shí)針加速轉(zhuǎn)  
  27. void liushui_left();       //逆時(shí)針  
  28. void liushui_right();      //順時(shí)針  
  29. void delay(uint z)  
  30. {  
  31.     uint i,j;  
  32.     for(i=z;i>0;i--)  
  33.         for(j=110;j>0;j--);  
  34. }  
  35. void main()  
  36. {  
  37.   
  38.     while(1)  
  39.     {  
  40.     loudou_0();  
  41.         loudou_1();  
  42.     loudou_2();  
  43.     loudou_0();  
  44.     banshan();  
  45.     quanliang();  
  46.     shanshuo();  
  47.     liushui_right();  
  48.     liushui_vright();  
  49.     liushui_left();  
  50.     liushui_vleft();  
  51.     }  
  52.   
  53. }   
  54. /**********************/  
  55. /*半閃*/  
  56. void banshan()  
  57. {   
  58.     uint x;  
  59.     for(x=0;x<=3;x++)  
  60. {  
  61.     P1=0xff;  
  62.     P3=0x00;  
  63.     delay(1000);  
  64.     P1=0x81;  
  65.     P3=0x3f;  
  66.     delay(1000);  
  67.   }  
  68. }  
  69. /**********************/  
  70. /**********************/  
  71. /*流水左右分往下*/  
  72. void loudou_0()  
  73. {  
  74.     uint i,j,z;  
  75.     for(z=1;z<=8;z++)  
  76.     {  
  77.         i=1;  
  78.         for(j=6;j>=z;j--)  
  79.         {  
  80.            P1=(table1[i])|(table3[z-1]);  
  81.            P3=(table2[j-1])|(table4[z-1]);  
  82.            delay(800);  
  83.            i++;  
  84.         }  
  85.     }  
  86.   
  87. }  
  88.   
  89. /**********************/  
  90. /**********************/  
  91. /*流水左右分往下*/  
  92. void loudou_2()  
  93. {  
  94.     uint i,j,z;  
  95. for(z=0;z<=1;z++)  
  96. {  
  97.     i=1;  
  98.     P1=0x01;  
  99.     delay(600);  
  100.     for(j=6;j>=1;j--)  
  101.     {  
  102.        P1=table1[i];  
  103.        P3=table2[j-1];  
  104.        delay(600);  
  105.        i++;  
  106.     }  
  107.     P3=0x00;  
  108.     P1=0x00;  
  109.     P1=0x80;  
  110.     delay(600);  
  111. }  
  112. }  
  113. /**********************/  
  114. /**********************/  
  115. /*流水左右分往下*/  
  116. void loudou_1()  
  117. {  
  118.     uint i,j,z;  
  119. for(z=0;z<=2;z++)  
  120. {  
  121.     i=1;  
  122.     P1=0xfe;  
  123.     delay(600);  
  124.     for(j=6;j>=1;j--)  
  125.     {  
  126.        P1=~table1[i];  
  127.        P3=~table2[j-1];  
  128.        delay(600);  
  129.        i++;  
  130.     }  
  131.     P3=0xff;  
  132.     P1=0xff;  
  133.     P1=0x7f;  
  134.     delay(600);  
  135. }  
  136. }  
  137.   
  138. /**********************/  
  139. /**********************/  
  140. /*流水右轉(zhuǎn)*/  
  141. void liushui_right()  
  142. {  
  143.     uint i,j;  
  144. //  for(x=0;x<=1;x++)  
  145. //  {   
  146.         for(j=6;j>=1;j--)  
  147.         {  
  148.            P3=~table2[j-1];  
  149.            P1=0xff;  
  150.            delay(800);  
  151.         }  
  152.         P3=0x00;  
  153.         for(i=8;i>=1;i--)  
  154.         {  
  155.            P1=~table1[i-1];  
  156.            P3=0xff;  
  157.            delay(800);  
  158.         }  
  159.         P1=0x00;  
  160.       
  161. //  }  
  162. }  
  163. /**********************/  
  164. /**********************/  
  165. /*流水左轉(zhuǎn)*/  
  166. void liushui_left()  
  167. {  
  168.     uint i,j;  
  169. //  for(x=0;x<=1;x++)  
  170. //  {  
  171.         for(i=0;i<=7;i++)  
  172.         {  
  173.            P1=~table1[i];  
  174.            P3=0xff;  
  175.            delay(800);  
  176.         }  
  177.         P1=0x00;  
  178.         for(j=0;j<=5;j++)  
  179.         {  
  180.            P3=~table2[j];  
  181.            P1=0xff;  
  182.            delay(800);  
  183.         }  
  184.         P3=0x00;  
  185.       
  186. //  }  
  187. }  
  188. /**********************/  
  189. /**********************/  
  190. /*流水加速*/  
  191. void liushui_vleft()  
  192. {  
  193.     uint i,j,y;  
  194. //  for(x=0;x<=1;x++)  
  195. //  {  
  196.         y=900;  
  197.         for(i=0;i<=7;i++)  
  198.         {  
  199.            P1=~table1[i];  
  200.            P3=0xff;  
  201.            delay(y);  
  202.            y=y-100;  
  203.         }  
  204.         P1=0x00;  
  205.         for(j=0;j<=5;j++)  
  206.         {  
  207.            P3=~table2[j];  
  208.            P1=0xff;  
  209.            delay(y);  
  210.            y=y+150;  
  211.         }  
  212.         P3=0x00;      
  213. //  }  
  214. }  
  215. /**********************/  
  216. /**********************/  
  217. /*流水加速*/  
  218. void liushui_vright()  
  219. {  
  220.     uint i,j,y;  
  221. //  for(x=0;x<=1;x++)  
  222. //  {   
  223.         y=900;  
  224.         for(j=6;j>=1;j--)  
  225.         {  
  226.            P3=~table2[j-1];  
  227.            P1=0xff;  
  228.            delay(y);  
  229.            y=y-100;  
  230.         }  
  231.         P3=0x00;  
  232.         for(i=8;i>=1;i--)  
  233.         {  
  234.            P1=~table1[i-1];  
  235.            P3=0xff;  
  236.            delay(y);  
  237.            y=y+150;  
  238.         }  
  239.         P1=0x00;  
  240.       
  241. //  }  
  242. }  
  243. /**********************/  
  244. void quanliang()  
  245. {  
  246.        P1=0xff;  
  247.        P3=0xff;  
  248.        delay(1000);  
  249. }  
  250. /**********************/  
  251. void shanshuo()  
  252. {  
  253.     uint i,j=1000;  
  254.     uchar aa=0xff;  
  255.     for(i=20;i>0;i--)  
  256.     {  
  257.         P1=aa;  
  258.         P3=aa;  
  259.         delay(j);  
  260.         j=j-50;  
  261.         aa=~aa;  
  262.          
  263.     }  
  264.         for(i=20;i>0;i--)  
  265.     {  
  266.         P1=aa;  
  267.         P3=aa;  
  268.         delay(j);  
  269.         j=j+50;  
  270.         aa=~aa;  
  271.          
  272.     }  
  273. }  
  274. /**********************/
復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:261183 發(fā)表于 2017-12-13 19:03 | 只看該作者
朋友 有沒(méi)有ISIS的原理圖能不能給我看看 我是萌新想做你這個(gè)小東西 麻煩了
回復(fù)

使用道具 舉報(bào)

板凳
ID:182887 發(fā)表于 2017-12-17 09:43 | 只看該作者
學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

地板
ID:258542 發(fā)表于 2017-12-19 21:09 | 只看該作者
大兄弟,你這有沒(méi)有視頻,發(fā)上來(lái)看看。 我看你這led太少,沒(méi)有40腳單片機(jī)那么與感覺(jué)
回復(fù)

使用道具 舉報(bào)

5#
ID:243986 發(fā)表于 2017-12-20 10:56 | 只看該作者
qw2597758qw 發(fā)表于 2017-12-13 19:03
朋友 有沒(méi)有ISIS的原理圖能不能給我看看 我是萌新想做你這個(gè)小東西 麻煩了

不好意思 原理圖沒(méi)有  我手畫的不知道去哪里了
回復(fù)

使用道具 舉報(bào)

6#
ID:243986 發(fā)表于 2017-12-20 10:56 | 只看該作者
絆腳石13 發(fā)表于 2017-12-19 21:09
大兄弟,你這有沒(méi)有視頻,發(fā)上來(lái)看看。 我看你這led太少,沒(méi)有40腳單片機(jī)那么與感覺(jué)

有空做一個(gè)
回復(fù)

使用道具 舉報(bào)

7#
ID:1097534 發(fā)表于 2023-10-27 16:37 | 只看該作者
這個(gè)芯片的vcc是幾伏電壓供電呀?
回復(fù)

使用道具 舉報(bào)

8#
ID:1057978 發(fā)表于 2024-1-9 15:07 | 只看該作者
SmallFly 發(fā)表于 2023-10-27 16:37
這個(gè)芯片的vcc是幾伏電壓供電呀?

STC11F02E是5V供電,3.3不工作
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表