基于單片機(jī)的4x4光立方課程設(shè)計(jì)_第1頁
基于單片機(jī)的4x4光立方課程設(shè)計(jì)_第2頁
基于單片機(jī)的4x4光立方課程設(shè)計(jì)_第3頁
基于單片機(jī)的4x4光立方課程設(shè)計(jì)_第4頁
基于單片機(jī)的4x4光立方課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

JIUJIANGUNIVERSITY單片機(jī)課程設(shè)計(jì)報告題目光立方院系電子工程學(xué)院專業(yè)自動化姓名宋建軍學(xué)號22班級學(xué)號A1032組員吳小康、文壇指導(dǎo)教師丁文斌目錄TOC\o"1-2"\u一、摘要3設(shè)計(jì)目的與要求4設(shè)計(jì)目的4設(shè)計(jì)要求4三、硬件方案設(shè)計(jì)4單片機(jī)資源分配情況53.2復(fù)位電路53.3時鐘電路53.4系統(tǒng)的工作原理圖63.5焊接實(shí)物圖10軟件設(shè)計(jì)114.1系統(tǒng)框圖114.2程序流程圖11程序13五、心得體會17六、參考文獻(xiàn)17摘要當(dāng)今社會,隨著電子行業(yè)的不斷開展,單片機(jī)憑借著其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用廣泛,開展迅猛。單片機(jī)體積小,質(zhì)量小,抗干擾能力強(qiáng),對環(huán)境要就不高,價格低廉,靈活性好,已廣泛的應(yīng)用在工業(yè)自動化、通信、自動檢測、信息家電、電力電子航空航天等各個方面。成為現(xiàn)代生產(chǎn)和生活中不可缺少的一局部。對于大三的我們來說,學(xué)習(xí)單片機(jī)也好久了,對單片機(jī)有了大體的了解,此次單片機(jī)課程設(shè)計(jì),我們采用的是STC89C52RC系列的單片機(jī),利用此單片機(jī)來控制一個“光立方〞。光立方顧名思義就是一個立方體,我們采用的是4*4*4的模式,將LED燈分成四層,利用程序來編寫各種不同的效果來控制LED的亮滅,最終使得整個立方體展現(xiàn)不同的造型和圖案,使其變得美輪美奐,絢麗多彩。設(shè)計(jì)目的與要求=1\*GB2⑴.進(jìn)一步掌握單片機(jī)的原理及其功能。學(xué)會利用單片機(jī)做一些課外電子設(shè)計(jì)與制作。=2\*GB2⑵.熟悉LED點(diǎn)亮條件及其工作原理。=3\*GB2⑶.熟悉光立方顯示的原理及其相關(guān)的線路連接。=4\*GB2⑷.通過此次的電路焊接和調(diào)試提高自己的動手及其分析問題的能力。=1\*GB2⑴.利用單片機(jī)控制4*4*4的LED光立方顯示一些3D的圖形,通過編程編寫一些程序控制單片機(jī)輸出一些上下電平從而控制某個和某些LED等亮和暗,由此來通過燈光顯示一些3D圖形。設(shè)計(jì)內(nèi)容包括了時鐘電路、復(fù)位電路、三極管驅(qū)動電路、LED光立方電路等幾局部的設(shè)計(jì)。根據(jù)內(nèi)容畫出相應(yīng)的電路圖,再編寫出相應(yīng)的程序。=2\*GB2⑵.編寫完程序后,進(jìn)行實(shí)物的焊接,將程序燒寫到單片機(jī)上,最后進(jìn)行調(diào)試。2.3小組分工情況吳小康主要負(fù)責(zé)硬件局部,主要工作是焊接電路。宋建軍主要負(fù)責(zé)軟件局部,主要工作是編寫程序,畫電路圖。文壇主要負(fù)責(zé)報告的撰寫,一起完成了本次課程設(shè)計(jì)的任務(wù)。硬件方案設(shè)計(jì)將4*4*4的LED光立方分層4層,分別由單片機(jī)的P2.0,P2.1,P2.2,P2.3,四個口來控制每一層,且給低電平有效,再有P0口和P1的總共16個口來控制16列,給高電平有效,P0和P1口加上位排阻,再給每一列加三極管放大,三極管的基極接單片機(jī)的P0和P1口,集電極接5V電源,發(fā)射極接每一列。這樣就可以通過控制每個口的輸出信號來控制每個的亮滅。2復(fù)位電路通過某種方式,是單片機(jī)內(nèi)部各類存放器的值變?yōu)槌鍪聽顟B(tài)的操作稱為復(fù)位。單片機(jī)的復(fù)位是通過外部電路來實(shí)現(xiàn)的,復(fù)位引腳RET通過一個施密特觸發(fā)器與復(fù)位電路相連接,施密特觸發(fā)器用作噪聲抑制,偉哥機(jī)器周期的S5P2時刻,復(fù)位電路采樣一次施密特輸出電平,獲得內(nèi)部復(fù)位操作所需要的信號。單片機(jī)的時鐘電路正常工作后,CPU在RET/VPD引腳上連續(xù)采集到兩個機(jī)器周期的高電平后就可以完成復(fù)位操作了,但實(shí)際應(yīng)用時,復(fù)位電平的脈沖寬度一般大于1ms。復(fù)位電路通常采用上電復(fù)位、手動按鍵復(fù)位和看門狗復(fù)位三種方式,本次采用的是上電復(fù)位方式。3.3時鐘電路單片機(jī)的各個功能部件的運(yùn)行都是是時鐘控制信號為基準(zhǔn),一拍一拍的工作。因此時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的可靠性和穩(wěn)定性。常用的時鐘電路設(shè)計(jì)為內(nèi)部時鐘方式,單片機(jī)內(nèi)部有一個由反向放大器構(gòu)成的震蕩電路,芯片上的XTAL1和XTAL2分別為震蕩電路的輸入和輸出端。只要在這兩個引腳上接一個石英晶體振蕩器和兩個微調(diào)電容就構(gòu)成內(nèi)部方式的振蕩器電路,有振蕩器產(chǎn)生自激振蕩,便構(gòu)成一個完整的震蕩信號發(fā)生器。一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容C1、C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。本系統(tǒng)的C1、C2的值為33pf。單片機(jī)在工作時,有內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),f表示。圖2中的時鐘頻率為12MHz,即f=12MHz,那么時鐘周期為1/12us。3.4系統(tǒng)的工作原理圖光立方一、二層:光立方三、四層:單片機(jī)口點(diǎn)連接:三極管放大電路:總原理圖:3.5焊接實(shí)物圖軟件設(shè)計(jì)3.1系統(tǒng)方框圖時鐘電路時鐘電路STC89C52RC芯片復(fù)位電路三極管驅(qū)動點(diǎn)路LED光立方電路3.2程序流程圖開始開始取層和列的數(shù)據(jù)調(diào)用顯示子程序Disp調(diào)用延時子程序Delay元器件清單:名稱數(shù)量大LED燈70個AT89S521片按鍵1901316個102排阻2個1K電阻16個20pF瓷片電容2個12MHz晶振1個10uF電容1個330電阻1個1個3.3C語言程序#include<reg51.h>#defineucharunsignedcharvoiddelay100ms(uchardata1ms){uchari,j,m;for(i=0;i<data1ms;i++)for(j=0;j<110;j++) for(m=0;m<100;m++) ;}voiddisp(ucharceng,ucharlie1,ucharlie2){delay100ms(7);P1=ceng;P2=lie1;P0=lie2;}voidmain(void){unsignedcharhang,shu1;unsignedcharcodeC1[][16]={{0x07,0x0B,0x0D,0x0E,0x0E,0x0C,0x08,0x00,0x00,0x08,0x0C,0x0E,0x0C,0x08,0x00,0x00},{0x08,0x0C,0x0E,0x0C,0x08,0x00,0x00,0x08,0x0C,0x0E,0x0C,0x08,0x00,0x00,0x08,0x0C},{0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E},{0x0C,0x08,0x00,0x00,0x08,0x0C,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x0C,0x0E,0x0F,0x0E,0x0C,0x08,0x00},{0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x0D,0x05,0x09,0x09,0x09,0x0D,0x0D,0x0D,0x05},{0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09},{0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09}};unsignedcharcodeL1[][16]={{0xFF,0xFF,0xFF,0xFF,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x96,0x96,0x96,0x96,0x96},{0x96,0x96,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC},{0x01,0x03,0x07,0x0F,0x8E,0x8C,0x88,0x80,0x00,0x00,0x00,0x10,0x30,0x70,0x70,0x60},{0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xCC,0x0F,0x33,0x66,0xCC,0xF0,0x33,0x66,0xCC},{0x66,0x33,0xF0,0xCC,0x66,0x33,0xF0,0xCC,0xCC,0xCC,0xCC,0xCC,0x60,0x60,0x60,0x60},{0xE8,0x74,0x32,0x11,0x00,0x06,0x66,0x60,0x60,0x60,0x00,0x00,0x06,0x66,0x60,0x60},{0x60,0x00,0x00,0x00,0x80,0x40,0x20,0x20,0x20,0x60,0x62,0x60,0x30,0x10,0x80,0xC0},{0x60,0x60,0x60,0x60,0x64,0x60,0x30,0x10}//{0x01,0x02,0x04,0x08,0x80,0x40,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//列掃描};unsignedcharcodeL2[][16]={{0xFF,0xFF,0xFF,0xFF,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x69,0x69,0x69,0x69,0x69},{0x69,0x69,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x33,0x33,0x33,0x33,0x33,0x33,0x33},{0x00,0x00,0x00,0x00,0x00,0x08,0x88,0xC8,0xE8,0xF0,0x71,0x31,0x11,0x10,0x04,0x06},{0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x33,0xF0,0xCC,0x66,0x33,0x0F,0xCC,0x66,0x33},{0x66,0xCC,0x0F,0x33,0x66,0xCC,0x0F,0x33,0x33,0x33,0x33,0x33,0x06,0x06,0x06,0x06},{0x8E,0x47,0x23,0x11,0x00,0x00,0x00,0x06,0x06,0x06,0x66,0x60,0x00,0x00,0x06,0x06},{0x06,0x66,0x60,0x00,0x08,0x0C,0x06,0x66,0x06,0x06,0x06,0x06,0x03,0x01,0x00,0x08},{0x04,0x64,0x06,0x06,0x06,0x06,0x03,0x01}//{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x80,0x40,0x20,0x10}};while(1){for(hang=0;hang<8;hang++){for(shu1=0;shu1<16;shu1++)disp(C1[hang][shu1],L1[hang][shu1],L2[hang][shu1]);}//for(hang=0;hang<1;hang++)//{//for(shu1=0;shu1<16;shu1++)//{shu2=0;//disp(C1[shu2][shu2],L1[hang][shu1],L2[hang][shu1]);//}//}}}心得體會此次為期半個多月的課程設(shè)計(jì),讓我感受頗深。最終看到了絢麗多姿,變化多端的LED光立方的圖案。在這半個多月的學(xué)習(xí)中,在很大程度上培養(yǎng)了自己的獨(dú)立思考及其動手能力。學(xué)會了自己獨(dú)立的發(fā)現(xiàn)問題、分析問題。老師還為我們提供了網(wǎng)絡(luò),遇到不明白的問題,首先是通過上網(wǎng)查閱相關(guān)資料、翻閱書籍找出問題的答案。而且還有老師在實(shí)驗(yàn)室指導(dǎo)我們的設(shè)計(jì),在查閱資料仍找不到但答案的還可以請教老師。盡管此次設(shè)計(jì)過程中遇到些問題,但最終還是一步一個腳印過來了。本次我主要的是負(fù)責(zé)程序的編寫。在剛開始燒寫程序進(jìn)去調(diào)試時,發(fā)現(xiàn)LED燈P0口和P2口控制的兩組燈點(diǎn)亮的有點(diǎn)延時,不能夠同步顯示圖案的效果。檢查程序后發(fā)現(xiàn),原來是在送完P(guān)0口數(shù)據(jù)后,就立馬加了個延時,再送P2口數(shù)據(jù),再延時,這樣導(dǎo)致P0口與P2口之間的顯示效果在視覺上慢了半拍,達(dá)不到預(yù)期圖案要顯示的效果,最后將中間的那個延時程序調(diào)到送完P(guān)2口數(shù)據(jù)之后再給其進(jìn)行延時,通過調(diào)試發(fā)現(xiàn)能夠正常顯示。另外在編寫各種圖案顯示代碼的時候,讓我深刻的體會到,要想編好相應(yīng)的代碼,光立方的三維空間的想象能力還是比擬重要,54個燈到底是要求哪個燈給高電平哪個燈給低電平,還要根據(jù)顯示要求組合好。以防出現(xiàn)亂碼顯示情況。在匯編程序中,剛開始想用移位指令來實(shí)現(xiàn)代碼的傳送,發(fā)現(xiàn)在一些簡單的圖案還可以〔如掃描極有規(guī)律的顯示〕,但在復(fù)雜一點(diǎn)的立體圖就無法使用了,最后還是將其全部統(tǒng)一

溫馨提示

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

評論

0/150

提交評論