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

下載本文檔

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

文檔簡介

1、中州大學機電與汽車工程術(shù)學院單片機課程設(shè)計報告書題目: 4x4 光立方 姓 名: 班 級: 14電氣自動化對口一班 學 號: 指導教師: 同 組: 時 間: 2015.12.28 目 錄一 、摘要32、 設(shè)計目的與要求4 2.1設(shè)計目的42.2設(shè)計要求4三、硬件方案設(shè)計43.1單片機資源分配情況53.2復(fù)位電路53.3時鐘電路53.4系統(tǒng)的工作原理圖64、 軟件設(shè)計114.1系統(tǒng)框圖114.2程序流程圖114.3程序13五、心得體會17六、參考文獻17摘要當今社會,隨著電子行業(yè)的不斷發(fā)展,單片機憑借著其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用廣泛,發(fā)展迅猛。單片機體積小,質(zhì)量小,抗干擾能力

2、強,對環(huán)境要就不高,價格低廉,靈活性好,已廣泛的應(yīng)用在工業(yè)自動化、通信、自動檢測、信息家電、電力電子航空航天等各個方面。成為現(xiàn)代生產(chǎn)和生活中不可缺少的一部分。對于大三的我們來說,學習單片機也好久了,對單片機有了大體的了解,此次單片機課程設(shè)計,我們采用的是stc89c52rc系列的單片機,利用此單片機來控制一個“光立方”。光立方顧名思義就是一個立方體,我們采用的是4*4*4的模式,將led燈分成四層,利用程序來編寫各種不同的效果來控制led的亮滅,最終使得整個立方體展現(xiàn)不同的造型和圖案,使其變得美輪美奐,絢麗多彩。2、 設(shè)計目的與要求2.1設(shè)計目的 進一步掌握單片機的原理及其功能。學會利用單片機

3、做一些課外電子設(shè)計與制作。 熟悉led點亮條件及其工作原理。 熟悉光立方顯示的原理及其相關(guān)的線路連接。 通過此次的電路焊接和調(diào)試提高自己的動手及其分析問題的能力。2.2設(shè)計要求 .利用單片機控制4*4*4的led光立方顯示一些3d的圖形,通過編程編寫一些程序控制單片機輸出一些高低電平從而控制某個和某些led等亮和暗,由此來通過燈光顯示一些3d圖形。設(shè)計內(nèi)容包括了時鐘電路、復(fù)位電路、三極管驅(qū)動電路、led光立方電路等幾部分的設(shè)計。根據(jù)內(nèi)容畫出相應(yīng)的電路圖,再編寫出相應(yīng)的程序。 .編寫完程序后,進行實物的焊接,將程序燒寫到單片機上,最后進行調(diào)試。三 硬件方案設(shè)計3.1單片機資源分配情況將4*4*4

4、的led光立方分層4層,分別由單片機的p2.0,p2.1,p2.2,p2.3,四個口來控制每一層,且給低電平有效,再有p0口和p1的總共16個口來控制16列,給高電平有效,p0和p1口加上位排阻,再給每一列加三極管放大,三極管的基極接單片機的p0和p1口,集電極接5v電源,發(fā)射極接每一列。這樣就可以通過控制每個口的輸出信號來控制每個的亮滅。3. 2復(fù)位電路 通過某種方式,是單片機內(nèi)部各類寄存器的值變?yōu)槌鍪聽顟B(tài)的操作稱為復(fù)位。單片機的復(fù)位是通過外部電路來實現(xiàn)的,復(fù)位引腳ret通過一個施密特觸發(fā)器與復(fù)位電路相連接,施密特觸發(fā)器用作噪聲抑制,偉哥機器周期的s5p2時刻,復(fù)位電路采樣一次施密特輸出電平

5、,獲得內(nèi)部復(fù)位操作所需要的信號。單片機的時鐘電路正常工作后,cpu在ret/vpd引腳上連續(xù)采集到兩個機器周期的高電平后就可以完成復(fù)位操作了,但實際應(yīng)用時,復(fù)位電平的脈沖寬度一般大于1ms。復(fù)位電路通常采用上電復(fù)位、手動按鍵復(fù)位和看門狗復(fù)位三種方式,本次采用的是上電復(fù)位方式。 3.3時鐘電路 單片機的各個功能部件的運行都是是時鐘控制信號為基準,一拍一拍的工作。因此時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的可靠性和穩(wěn)定性。常用的時鐘電路設(shè)計為內(nèi)部時鐘方式,單片機內(nèi)部有一個由反向放大器構(gòu)成的震蕩電路,芯片上的xtal1和xtal2分別為震蕩電路的輸入和輸出端。只要在這兩個引

6、腳上接一個石英晶體振蕩器和兩個微調(diào)電容就構(gòu)成內(nèi)部方式的振蕩器電路,有振蕩器產(chǎn)生自激振蕩,便構(gòu)成一個完整的震蕩信號發(fā)生器。 一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容c1、c2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調(diào)。本系統(tǒng)的c1、c2的值為33pf。單片機在工作時,有內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),f表示。圖2中的時鐘頻率為12mhz,即f=12mhz,則時鐘周期為1/12u

7、s。3.4系統(tǒng)的工作原理圖 光立方一、二層:光立方三、四層:單片機口點連接: 三極管放大電路:總原理圖:四、軟件設(shè)計3.1系統(tǒng)方框圖時鐘電路stc89c51rc芯片復(fù)位電路三極管驅(qū)動點路led光立方電路3.2程序流程圖開始取層和列的數(shù)據(jù)調(diào)用顯示子程序disp調(diào)用延時子程序delay元器件清單:名稱數(shù)量彩燈64個at89s521片大led燈4個901316個102排阻2個1k電阻16個20pf瓷片電容2個12mhz晶振1個10uf電容1個330電阻1個4.7k電阻1個3.3 c語言程序#include #define uchar unsigned char void delay100ms(uch

8、ar data1ms) uchar i,j,m; for(i=0;idata1ms;i+) for(j=0;j110;j+) for(m=0;m100;m+) ; void disp(uchar ceng,uchar lie1,uchar lie2 ) delay100ms(7); p1=ceng; p2=lie1; p0=lie2; void main(void) unsigned char hang,shu1; unsigned char code c116= 0x07,0x0b,0x0d,0x0e,0x0e,0x0c,0x08,0x00,0x00,0x08,0x0c,0x0e,0x0c,

9、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,0

10、x08,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 ; unsigned char code l116= 0xff,0xff,0xff,0xff,0x60,0x60,0

11、x60,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,0x

12、33,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,0x8

13、0,0x40,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ; unsigned char code l216= 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,0x7

14、1,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

15、,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;hang8;hang+) for(shu1=0;shu116;shu1+) disp(c1hangshu1,l1hangshu1,l2hangshu1); / for(hang=0;hang1;hang+)/

16、/ for(shu1=0;shu116;shu1+)/ shu2=0;/ disp(c1shu2shu2,l1hangshu1,l2hangshu1);/ / 6 心得體會此次為期半個多月的課程設(shè)計,讓我感受頗深。最終看到了絢麗多姿,變化多端的led光立方的圖案。在這半個多月的學習中,在很大程度上培養(yǎng)了自己的獨立思考及其動手能力。學會了自己獨立的發(fā)現(xiàn)問題、分析問題。老師還為我們提供了網(wǎng)絡(luò),遇到不明白的問題,首先是通過上網(wǎng)查閱相關(guān)資料、翻閱書籍找出問題的答案。而且還有老師在實驗室指導我們的設(shè)計,在查閱資料仍找不到但答案的還可以請教老師。盡管此次設(shè)計過程中遇到些問題,但最終還是一步一個腳印過來了。

17、本次寫程序的過程中。在剛開始燒寫程序進去調(diào)試時,發(fā)現(xiàn)led燈p0口和p2口控制的兩組燈點亮的有點延時,不能夠同步顯示圖案的效果。檢查程序后發(fā)現(xiàn),原來是在送完p0口數(shù)據(jù)后,就立馬加了個延時,再送p2口數(shù)據(jù),再延時,這樣導致p0口與p2口之間的顯示效果在視覺上慢了半拍,達不到預(yù)期圖案要顯示的效果,最后將中間的那個延時程序調(diào)到送完p2口數(shù)據(jù)之后再給其進行延時,通過調(diào)試發(fā)現(xiàn)能夠正常顯示。另外在編寫各種圖案顯示代碼的時候,讓我深刻的體會到,要想編好相應(yīng)的代碼,光立方的三維空間的想象能力還是比較重要,64個燈到底是要求哪個燈給高電平哪個燈給低電平,還要根據(jù)顯示要求組合好。以防出現(xiàn)亂碼顯示情況。在匯編程序中,剛開始想用移位指令來實現(xiàn)代碼的傳送,發(fā)現(xiàn)在一些簡單的圖案還可以(如掃描極有規(guī)律的顯示),但在復(fù)雜一點的立體圖就無法使用了,最后還是將其全部統(tǒng)一改寫成調(diào)用數(shù)組的形式送代碼,這樣既簡單又不容易出錯。

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論