電子技術(shù)綜合設(shè)計(jì)報(bào)告3Dcube8設(shè)計(jì)完整報(bào)告_第1頁
電子技術(shù)綜合設(shè)計(jì)報(bào)告3Dcube8設(shè)計(jì)完整報(bào)告_第2頁
電子技術(shù)綜合設(shè)計(jì)報(bào)告3Dcube8設(shè)計(jì)完整報(bào)告_第3頁
電子技術(shù)綜合設(shè)計(jì)報(bào)告3Dcube8設(shè)計(jì)完整報(bào)告_第4頁
電子技術(shù)綜合設(shè)計(jì)報(bào)告3Dcube8設(shè)計(jì)完整報(bào)告_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、電子技術(shù)綜合設(shè)計(jì)總結(jié)報(bào)告姓 名: 趙1880黃1877邢1879 專業(yè)班級(jí): 信電 設(shè)計(jì)題目: cube8光立方 時(shí) 間: 2012 2013 學(xué)年第(1)學(xué)期 指導(dǎo)教師: 成 績: 日 期: 一:課題任務(wù) 3dcube8(光立方) 是一個(gè)由led組成的3d顯示器,是一個(gè)集實(shí)際型、經(jīng)濟(jì)型、性價(jià)比高的藝術(shù)品, 它不僅僅局限于裝飾,更是能夠幫助更好的學(xué)習(xí) c語言實(shí)際應(yīng)用、滿足單片機(jī)愛好者對(duì)單片機(jī)的研究的個(gè)好工具。 3dcube8有多種規(guī)格,常見的有單色4*4*4、單色8*8*8、rgb全彩光立方等。其中前者是這之中最簡單的,制作難度和成本最高的是采用rgb的全彩光立方,綜合成本和自身能力的考慮,選

2、擇制作單色8*8*8作為自己的課題。 二:方案比較與選擇光立方的顯示屏是由8片8*8的led點(diǎn)陣屏組成,通常的搭建方案有兩種,層共陽與層共陰。兩種方案實(shí)際操作沒有太大區(qū)別,為了后期的成品效果外觀美觀,在這里我們選擇層共陽。led的選擇:市面上有很多種發(fā)光二極管,按形狀分方形和圓形草帽狀、按效果又有高亮霧面等區(qū)別??紤]到美觀和降低制作難度,我們選擇了3mm長腳高亮霧面草帽型發(fā)光二級(jí)管,長腳的最大優(yōu)勢就是可以作為支架,省時(shí)省力。驅(qū)動(dòng)方式利用人眼視覺暫留特性,利用逐層掃描的方式,來達(dá)到顯示各種圖案的目的。常見的coms鎖存器(cmos發(fā)熱低,優(yōu)先選擇)有74hc573和74hc595,前者為并入,后

3、者串入。因?yàn)椴恍枰饬⒎降募?jí)聯(lián)設(shè)計(jì),所以采用573鎖存器。主控芯片選擇較多,有常見的avr、stc、arduino 等。根據(jù)之前學(xué)過的課程,我們決定采用stc系列的stc89c5a60s2增強(qiáng)型單片機(jī)作為主控芯片。之所以不選89c52等芯片,不是因?yàn)樗麄兊倪\(yùn)算速度不夠,主要原因是它們的片上flash太小,難以滿足需求,其次是因?yàn)樽约河虚e置的stc89c5a60s2,片上內(nèi)存大,運(yùn)算速度1t,即充分利用資源節(jié)省成本,又可以實(shí)現(xiàn)所需要的功能需求。最后就是附屬配件 usb轉(zhuǎn)ttl串口的stc下載線。,選擇采用cp2102作為usb轉(zhuǎn)串口芯片方案,下載stc單片機(jī)完勝pl2303方案,最高下載速度可達(dá)

4、115200波特率。三:電路設(shè)計(jì) 實(shí)驗(yàn)前準(zhǔn)備實(shí)驗(yàn)環(huán)境:protues7.7,keil4.0,stc-ispv4.80實(shí)驗(yàn)工具:恒溫電烙鐵,無鉛錫絲,尖嘴鉗,萬用版,萬能表等。主要分為三個(gè)模塊分別是主控模塊 驅(qū)動(dòng)模塊 顯示模塊控制模塊單片機(jī)最小系統(tǒng)圖1主控電路(單片機(jī)最小系統(tǒng))2、驅(qū)動(dòng)電路p口接8片573le端圖2驅(qū)動(dòng)電路在驅(qū)動(dòng)電路上,圖中的電阻都是150r的限流電阻,限流電阻130r為理論值.大于這個(gè)小于這個(gè)都可以。限流電阻r=(vcc-vf)/i,vcc電源電壓,vf為led的正向電壓降,i為led的工作電流,i大了,就亮,小了,就暗。3、顯示電路 led點(diǎn)陣屏的制作圖3 顯示電路 圖4 點(diǎn)

5、陣屏實(shí)物圖四:程序設(shè)計(jì)1初始化部分,主要是設(shè)置對(duì)應(yīng)的中斷,定時(shí)工作方式。2 顯示部分l 把立方體看作8位數(shù)碼管,每個(gè)面即為一個(gè)數(shù)碼管l 每個(gè)面的顯示原理是和8x8點(diǎn)陣是完全一樣的,保證這段程序正確的,可以直接調(diào)用l 查表的方式是自0起遞增的,每次加1,每個(gè)畫面查表64次。當(dāng)然,實(shí)際的情況是要小于65536的,控制程序的代碼也會(huì)占用rom空間,就會(huì)導(dǎo)致了畫面次數(shù)減少,所以,要想在有限的空間內(nèi)顯示更多的畫面,就得盡量把程序?qū)懙暮喍?。c語言可以直接定義16位變量。3中斷部分,為了達(dá)到動(dòng)畫效果切換時(shí)間可準(zhǔn)確調(diào)節(jié)性,畫面的切換用中斷方式。把時(shí)間通過一個(gè)變量來表示,這樣每次只需修改一個(gè)變量,就可以設(shè)置動(dòng)畫

6、的速度了。每次發(fā)送中斷后,查表的變量就加64(i=i+64),然后返回顯示程序繼續(xù)顯示,中斷程序只做變量的計(jì)算,改變的是查表的地址。4循環(huán)l 程序循環(huán),循環(huán)的條件是i變量不滿足動(dòng)畫顯示的上限值。比如做八個(gè)畫面,那么i的的值不滿足8x64時(shí),就繼續(xù)顯示,滿足就清零從新開始。l 顯示循環(huán)主題的顯示程序,應(yīng)該是一個(gè)死循環(huán),一直在顯示一個(gè)畫面,只有中斷產(chǎn)生的時(shí)候,改變了查表的變量,才切換一次動(dòng)畫,每個(gè)畫面都顯示后,注意修正變量,能使其顯示同一個(gè)畫面,不管是查表的變量還是z軸,y軸的控制變量,都要進(jìn)行初始化,直到中斷的產(chǎn)生才改變查表的變量數(shù)值。.五、測試方案1、在8片點(diǎn)陣屏搭建完成之后采用點(diǎn)陣屏整面點(diǎn)亮

7、方式檢查每一面led的通電情況,有過亮、過暗或者完全不亮的及時(shí)拆換。2、檢查電路板的焊點(diǎn)和飛線是否有虛焊或者漏焊情況,元件正負(fù)極有無顛倒情況。3,、電路組裝采用整體組裝整體測試方式。4、燒錄測試程序,檢查光立方的全亮狀態(tài)下有沒壞點(diǎn)。六、系統(tǒng)調(diào)試光立方測試程序#include#define layer p2#define oe p1#define led p0#define uchar unsigned char #define uint unsigned int#define pwm_max 100#define led p2 /呼吸燈控制uchar pwm = 1;uchar pwm_mat

8、ch = 0;uint breath_speed = 500;uint breath_count = 0; uint breath_direction = 0;uint oe1, layer1, led1;uchar code t1=0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x0

9、0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, ;uchar code t0=0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

10、0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

11、;uchar code t2=0x66, 0xe7, 0x99, 0x99, 0x99, 0x99, 0x42, 0x00, ;/3uchar code t3=0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0xff, 0xff, ;/duchar code t4=0x00, 0x6e, 0x91, 0x91, 0x91, 0x91, 0x6e, 0x00,;/8uchar code t5=0x00, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c, 0x00,;/c uchar code t6=0xfc, 0xfe, 0x03, 0x03, 0x

12、03, 0x03, 0xfe, 0xfc,;/uuchar code t7=0x00, 0x66, 0x99, 0x99, 0x99, 0x99, 0xff, 0xff,;/buchar code t8=0x00, 0xc3, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xff,;/euchar code t9=0x38, 0x7c, 0xfe, 0x7f, 0x7f, 0xfe, 0x7c, 0x38,;/心void delay(int t)char i;while(t-)for(i=0;i100;i+)void timerinit(void)tmod = 0x02; /設(shè)

13、置定時(shí)器0工作方式為16位定時(shí)器th0 = tl0 = 156; /設(shè)定初值et0 = 1; /使能定時(shí)器tr0 = 1; /使能定時(shí)器中斷ea = 1;void testled(void) int i, speed ;speed = 300;oe1=0x01;/測試oe移動(dòng)是否正確led=0xff;layer=0xff;for(i=0;i8;i+)oe=oe1 ;delay(speed);oe1=1; oe=0;led=0xff;layer1=0x01;/測試層移動(dòng)是否正確for(i=0;i8;i+)layer=layer1;delay(speed);layer1=1;layer=0xff;

14、oe=0;led1=0x01;/測試led數(shù)據(jù)段移動(dòng)是否正確for(i=0;i8;i+)led=led1;delay(speed);led1=1;void main(void)uchar z;uchar i;timerinit();while(1)if(ea=0) oe=0x80;yidongzi(20,t2);yidongzi(20,t3);yidongzi(20,t4);yidongzi(20,t5);yidongzi(20,t6);yidongzi(20,t7); yidongzi(20,t8);yidongzi(120,t9);yizi(t2);yizi(t3);yizi(t4);yi

15、zi(t5);yizi(t6);yizi(t7);yizi(t8);dot();for(z=0;z200;z+)kuang();for(z=0;z pwm_max) pwm_match = 0;/判斷是否超出, if(pwm pwm_match) led = 0;/如果pwm大于pwm對(duì)比值,則點(diǎn)亮led else led=0xff; if(breath_count = breath_speed) i+; breath_count = 0; if(breath_direction = 0) pwm+; if(pwm pwm_max) breath_direction = 1; else pwm

16、-; if(pwm = 0) breath_direction = 0; breath_count+; if(i=1000) i=0;ea=0; 七、注意事項(xiàng)1搭建led一定要主要,焊接溫度和靜電問題!以上情況,會(huì)照成led損壞,和led微亮的情況。( 距離led燈頭 3mm左右 電烙鐵 放在上面加錫。5-10秒led就會(huì)壞的,盡量焊接一個(gè)點(diǎn)在3秒左右,就算一次不成功也沒事等他冷卻了,在焊接)。靜電 處理:電烙鐵接地處理里沒有地的,在電烙鐵頭鐵殼上綁一根電線,腳才在 水泥地板上 線踩在腳下。2 led的間距l(xiāng)ed間距為20m,就是剛剛好標(biāo)準(zhǔn)洞洞板9個(gè)孔間距。3 光立方led搭建的極性層為陽(+

17、)列為陰(-)八、總結(jié)自己總結(jié)九:參考文獻(xiàn)1.模擬集成電路原理與實(shí)用電路,郵電出版社;2.模擬集成電路應(yīng)用,西北工大出版社3.c程序設(shè)計(jì),清華大學(xué)出版社。4.新概念51單片機(jī)c語言教程,電子工業(yè)出版社。附錄a:pcb板元件布局圖附錄b:實(shí)物圖附錄c:完整效果程序#include#define layer p2#define oe p1#define led p0#define uchar unsigned char #define uint unsigned int#define pwm_max 100#define led p2 /呼吸燈控制uchar pwm = 1;uchar pwm_m

18、atch = 0;uint breath_speed = 500;uint breath_count = 0; uint breath_direction = 0;uint oe1, layer1, led1;uchar code t1=0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0

19、x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, ;uchar code t0=0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

20、, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

21、, ;uchar code t2=0x66, 0xe7, 0x99, 0x99, 0x99, 0x99, 0x42, 0x00, ;/3uchar code t3=0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0xff, 0xff, ;/duchar code t4=0x00, 0x6e, 0x91, 0x91, 0x91, 0x91, 0x6e, 0x00,;/8uchar code t5=0x00, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c, 0x00,;/c uchar code t6=0xfc, 0xfe, 0x03, 0x03,

22、0x03, 0x03, 0xfe, 0xfc,;/uuchar code t7=0x00, 0x66, 0x99, 0x99, 0x99, 0x99, 0xff, 0xff,;/buchar code t8=0x00, 0xc3, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xff,;/euchar code t9=0x38, 0x7c, 0xfe, 0x7f, 0x7f, 0xfe, 0x7c, 0x38,;/心void delay(int t)char i;while(t-)for(i=0;i100;i+)void timerinit(void)tmod = 0x02;

23、/設(shè)置定時(shí)器0工作方式為16位定時(shí)器th0 = tl0 = 156; /設(shè)定初值et0 = 1; /使能定時(shí)器tr0 = 1; /使能定時(shí)器中斷ea = 1;void testled(void) int i, speed ;speed = 300;oe1=0x01;/測試oe移動(dòng)是否正確led=0xff;layer=0xff;for(i=0;i8;i+)oe=oe1 ;delay(speed);oe1=1; oe=0;led=0xff;layer1=0x01;/測試層移動(dòng)是否正確for(i=0;i8;i+)layer=layer1;delay(speed);layer1=1;layer=0xf

24、f;oe=0;led1=0x01;/測試led數(shù)據(jù)段移動(dòng)是否正確for(i=0;i8;i+)led=led1;delay(speed);led1=1;/*此函數(shù)和下邊的函函數(shù)連用,達(dá)到向上卷起的效果*/void layerup()char i;for(i=0;i8;i+) /一邊都亮了,然后向上拉起一面layer=layer1;delay(400);layer1=1;layer1|=1;void dot(void)uchar i;int speed;speed=800;oe1=0x01;led=0x01;layer=0x01;for(i=0;i8;i+) /從里邊向外邊來,oe左移oe=oe1

25、;delay(speed);oe1=1;oe1|=1;layer1=0x01;layerup();layer=0x01;led1=0x01;oe=0x7f;for(i=0;i8;i+) /從左邊向右邊,led左移.led=led1;delay(speed);led1=1;led1|=1;layer1=0x01;layerup();layer=0x01;led=0x80;oe1=0x80;for(i=0;i=1;oe1|=0x80;led=0x80;layer1=0x01;oe=0;layerup();layer=0x01;oe=0xfe;led1=0x80;for(i=0;i=1;led1|=

26、0x80;layer1=0x01;layerup();void kuang()char i;i =20;/顯示y橫條layer =0x81;oe=0x00;led=0x81;delay(i);/顯示 x橫條layer=0x81;oe=0x7e;led=0xff;delay(i);layer=0xff;oe=0x81;led=0x81;delay(i);/*本函數(shù)實(shí)現(xiàn)的功能是吧一個(gè)字在一個(gè)z面顯示出來,顯示的長短阿時(shí)間 j要現(xiàn)實(shí)的數(shù)據(jù) p */ /*本函數(shù)單獨(dú)是不能用的 因?yàn)?沒有設(shè)置oe的值 */void yidongzi(uint j ,uchar p) /本函數(shù)實(shí)現(xiàn)一個(gè) 把字從里邊移動(dòng)到外邊的效果 顯示的時(shí)間長短為juchar i ,k, z ;while(j-)/每一個(gè)字刷新j次k=50;while(k-)/每一個(gè)字刷新j次led1=0x80;for(i=0;i=1;layer=0;/消隱 void full(uchar array)uchar i, k, a, z,m ;/time為刷新的次數(shù),即刷新的z面oe1=0x0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論