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

QQ登錄

只需一步,快速開始

搜索
查看: 9335|回復(fù): 9
收起左側(cè)

4*4光立方制作教程

  [復(fù)制鏈接]
ID:137994 發(fā)表于 2016-9-24 17:38 | 顯示全部樓層 |閱讀模式
一、硬方面
1.LED:CUBE4光立方需要64個(gè)LED,LED的顏色可以自己隨意挑選紅 黃 藍(lán) 綠 白,個(gè)人推薦霧狀藍(lán)色LED,夜晚效果超屌。
2.單片機(jī):?jiǎn)纹瑱C(jī)上采用程序空間大的,運(yùn)行速度快的STC12C60S2單片機(jī)。如果你覺得大了,你可以選擇28腳的,能保證有16個(gè)IO口控制LED的亮滅。也能自己擴(kuò)展光立方功能。
3. 一個(gè)12Mhz晶振,兩個(gè)30pF電容,搭建單片機(jī)的最小系統(tǒng)
4.上拉電阻:為了提高LED亮度,選用200歐2/1W的。(可加可不加)
5.電源:5V電源。電腦USB口電源或手機(jī)適配器輸出的即可,不需要太苛刻的要求!
二、電路連接
很多人會(huì)在這里糾結(jié),到底該怎么連接電路。不用糾結(jié)了,接下來我給大家詳細(xì)說說怎么連接LED。    本光立方采用的電路與LED點(diǎn)陣屏一樣的。接下來看圖。

0.png
內(nèi)附有取模 模板,可實(shí)現(xiàn)各種漢字,符號(hào)在光立方上切換。
從正面看:紅色是LED的正極,正極接下去,中間兩列相連,外面兩列相連接后面依次如此連接。藍(lán)色是LED負(fù)極相連,已經(jīng)標(biāo)出連接到的IO口號(hào)上了。 本光立方負(fù)極接到P2口上,所以按照上面的圖,左邊上面第一個(gè)連接到的應(yīng)該是P2.0口。
0.png

從上面看:IO口號(hào)已標(biāo)出,要注意的是中間兩列相連的,如5和5是相連的。外面兩列相連,如0和0相連的。本光立方在這里連的是P0口,0就連接到P0.0上 5就接到P0.5上 說說上拉電阻:在IO口連接到LED正極的基礎(chǔ)上再把電阻連接到VCC和IO口間。好了,硬件就說到這里。有什么不懂的可以加我QQ1323811540.驗(yàn)證信息填光立方三、軟方面本光立方有專用取模軟件,如果你按上面電路連接,只需要在C語言程序中做一些小修改就可以使用了!C語言程序下面我會(huì)打包

你可以不用上面的P0,P2口但是 0.1.2.3.4.5.6.7的順序必須同上如果你改了,那就請(qǐng)看下面,怎么在程序中改。首先你需要頭文件#include <STC12C2052AD.h>,如果沒有不用擔(dān)心我已經(jīng)打包了,下載再放到keil頭文件的文件夾里就OK,如果不會(huì)自己百~度。動(dòng)畫我都是封裝到一個(gè)函數(shù)里,看到這里你應(yīng)該打開C程序來對(duì)著看找個(gè)短的說明吧!
  1. void allfalloff()  //由全亮到下落關(guān)閉只剩一排   動(dòng)畫函數(shù)
  2. {
  3.        unsigned char code tabP0[4][8]={    把取模取到的數(shù)組直接復(fù)制粘貼到這里
  4.        {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
  5.        {0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF},   要改的是數(shù)組標(biāo)號(hào)
  6.        {0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF},   tabP0[4][8]  
  7.        {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF}         這里取了4次 所以填寫4
  8.        };
  9.        int j,k,i;                                      
  10.        for(j=0;j<4;j++)        這里的4改成和上面數(shù)組第一維的數(shù)
  11.        {
  12.               for(k=0;k<15;k++)      15是LED點(diǎn)亮的時(shí)間  加大LED點(diǎn)亮?xí)r間加長(zhǎng)
  13.               {
  14.                      for(i=0;i<8;i++)    這里不用改
  15.                      {
  16.                             P0=0;         在看到這里  如果你改了IO組號(hào)的話,那這里也需要改        P0改成你接到LED正極上的那個(gè)組號(hào)
  17.                             P2=tabP2;    這里是接到LED負(fù)極上的組號(hào)
  18.                             P0=tabP0[j];  這里是正極上的組號(hào)
  19.                             ys(10);        這里是LED熄滅的時(shí)間。也就是這個(gè)LED亮滅后間隔多少時(shí)間才到下一個(gè)  加大熄滅時(shí)間加長(zhǎng)
  20.                      }
  21.               }
  22.        }              
  23. }
  24. 怎么自己加動(dòng)畫?

  25. 看完這個(gè)你在和其他函數(shù)做做對(duì)比,相信你會(huì)懂的
  26. 不懂還是加我QQ1323811540 驗(yàn)證消息:光立方

  27. void 函數(shù)名自己定義()       //記得加上動(dòng)畫注釋說明
  28. {
  29.        unsigned char code tabP0[4][8]={
  30.      把取模取到的數(shù)組直接貼到這里  在根據(jù)你取模的次數(shù)修改上面的4
  31.        };
  32.        int j,k,i;
  33.        for(j=0;j<4;j++)        這里的4改成和上面數(shù)組第一維的數(shù)
  34.        {
  35.               for(k=0;k<15;k++)      15是LED點(diǎn)亮的時(shí)間  加大LED點(diǎn)亮?xí)r間加長(zhǎng)
  36.               {
  37.                      for(i=0;i<8;i++)    這里不用改
  38.                      {
  39.                             P0=0;         在看到這里  如果你改了IO組號(hào)的話,那這里也需要改        P0改成你接到LED正極上的那個(gè)組號(hào)
  40.                             P2=tabP2;    這里是接到LED負(fù)極上的組號(hào)
  41.                             P0=tabP0[j];  這里是正極上的組號(hào)
  42.                             ys(10);        這里是LED熄滅的時(shí)間。也就是這個(gè)LED亮滅后間隔多少時(shí)間才到下一個(gè)  加大熄滅時(shí)間加長(zhǎng)
  43.                      }
  44.               }
  45.        }              
  46. }
復(fù)制代碼

0.png
軟件本身無毒,因?yàn)槭且渍Z言編寫,所有360可能會(huì)誤報(bào)。請(qǐng)加入白名單打開軟件   上面就是光立方的LED,灰色表示LED熄滅,淡藍(lán)色表示點(diǎn)亮我們看到的是LED的正面。 0.png
單擊上面的圓點(diǎn)LED自動(dòng)亮或滅確定圖形后點(diǎn)擊 給我!這樣你就取得第一幀了、   這里取得的幀數(shù)也就是在上面那個(gè)數(shù)組4要改成的幀數(shù)如果需要,繼續(xù)取模。 方法同上,相信電子愛好者們都會(huì),如果不會(huì)的話,那就別.....那什么了。 取模好后直接復(fù)制到上面就好了。
  1. MAIN()主函數(shù)
  2. Void main()            一小部分說明
  3. {
  4.        while(1)
  5.        {
  6.               begin();                  //全滅 呼吸亮
  7.               allfalloff();              //由全亮到下落關(guān)閉只剩一排      直接把動(dòng)畫函數(shù)粘貼下來就行
  8.               turnR();                     //由下面一排轉(zhuǎn)到右面
  9.               righttoleft();              //右面平移到左面
  10.               lefttoright();              //左面平移到右面
  11.               righttoleft();              //右面平移到左面
  12.               lefttoright();              //左面平移到右面


復(fù)制代碼

源程序.zip

8.55 KB, 下載次數(shù): 27, 下載積分: 黑幣 -5

取模軟件(專用).zip

396.37 KB, 下載次數(shù): 41, 下載積分: 黑幣 -5

光立方444.zip

623.3 KB, 下載次數(shù): 70, 下載積分: 黑幣 -5

光立方444.doc

247 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 2黑幣 +81 收起 理由
LINKEEE + 1 絕世好帖!
admin + 80 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:166767 發(fā)表于 2017-3-8 16:35 | 顯示全部樓層
你的“光立方444.zip”已包含其余三個(gè)文件,就不該再列出來了,弄得我都下載,費(fèi)了好多黑幣,真想罵你,還是算了吧,好的我的黑幣不少,但是還是不爽。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 黑幣補(bǔ)償

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:171297 發(fā)表于 2017-3-16 19:23 | 顯示全部樓層
借我點(diǎn)黑幣用呀,想下點(diǎn)資料不能下呀!
回復(fù)

使用道具 舉報(bào)

ID:237688 發(fā)表于 2017-10-13 02:47 來自手機(jī) | 顯示全部樓層
感想樓主,打算自己做一個(gè)試試
回復(fù)

使用道具 舉報(bào)

ID:239145 發(fā)表于 2017-10-13 14:03 | 顯示全部樓層
樓主威武
回復(fù)

使用道具 舉報(bào)

ID:243748 發(fā)表于 2018-2-1 09:11 來自手機(jī) | 顯示全部樓層
為什么我的只能顯示2*4的燈
回復(fù)

使用道具 舉報(bào)

ID:279667 發(fā)表于 2018-2-1 10:03 | 顯示全部樓層
自己想做一個(gè)小的光立方,感謝樓主提供的資料
回復(fù)

使用道具 舉報(bào)

ID:281788 發(fā)表于 2018-2-2 17:13 | 顯示全部樓層
感謝提供資料
回復(fù)

使用道具 舉報(bào)

ID:210102 發(fā)表于 2018-2-21 21:24 | 顯示全部樓層
非常給力
回復(fù)

使用道具 舉報(bào)

ID:185751 發(fā)表于 2019-10-26 15:36 | 顯示全部樓層
首先謝謝樓主共享,然后謝謝1樓提醒
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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