里面有心形流水燈的電路仿真圖以及流水燈代碼,在課程設計報告的文檔里,見附件。
0.png (48.26 KB, 下載次數: 72)
下載附件
2018-7-1 18:14 上傳
答辯PPT內容預覽:
0.png (198.54 KB, 下載次數: 70)
下載附件
2018-7-1 18:14 上傳
安裝與調試
在安裝時要考慮LED燈正負極有沒有接反,安裝好所有元件后,按照電路圖逐一檢查電路有沒有漏焊的問題,接下來用萬用表逐一檢查有沒有虛焊、線路斷或線路短路的問題。在線路沒有問題的情況下,連接電源調試,加入電源以后,32個LED燈可以循環點亮,依次熄滅,可以達到預期的效果
創新之處
技術在不斷進步,傳統照明方式已經被淘汰,取而代之的是具有高發光效率的LED,低熱量的LED照明矩陣更具人性化,更能提高人們的生活質量,更受人們歡迎。白熾燈已經遠去,LED時代已經到來。
不足之處
焊接時經常會將兩個接口連在一起,電路板上的銅片容易掉落,就需要綁線進行連接,在焊接之前未仔細檢查儀器的好壞,這些都是以后需要注意的地方。
綜合課程設計 (一) Integrated Curriculum Design(1)
心形流水燈套件 1 設計目的(1)掌握單片機芯片AT89C51的基本功能和使用。 (2)熟悉Proteus仿真軟件的使用,了解各元件的功能及作用。 (3)了解音樂的基本知識。 (4)提高數字電子電路的綜合應用能力。 (5)掌握Keil軟件的使用方法,以及如何創建文件和編寫程序。 (6)提高焊接能力以及實際問題分析能力。 2 設計思路(1)設計一個用單片機控制的心形流水燈系統; (2)LED燈數量為32個; (3)將儀器焊接到電路板上; (4)可以實現循環點亮,依次熄滅的基本功能; (5)可以實現對角閃亮,間隔閃亮,順時針閃亮,逆時針閃亮,同時閃亮等多種功能。 3方案論證1、單片機芯片的比較與選擇 單片機作為該電路的主要控制器芯片,即整個系統的控制核心部分,主要是負責控制LED燈的不同變化速度以及變化效果。因此對單片機芯片的選擇,必須要求其功耗低、數據轉換速率快。 方案一:采用STC89C51單片機。40個引腳,8k Bytes Flash片內程序存儲器, 256 bytes的隨機存取數據存儲器(RAM), 32個外部雙向輸入/輸出(I/O)口, 5個中斷優先級2層中斷嵌套中斷, 2個16位可編程定時計數器, 2個全雙工串行通信口, 看門狗(WDT)電路,片內時鐘振蕩器。 方案二:選擇TI公司生產的MSP430F149系列單片機系統。此款單片機具有低電壓、超低功耗的特點,工作電壓在3.6-1.8V之間,具有強大的功能和高效的運算處理能力。 方案選擇:由于STC89C51芯片價格便宜,支持在線下載程序而且MSP430F149系列單片機的功能已經遠遠高于我們本系統,操作不便。 綜合考慮,我們選擇方案一。 4 設計過程4.1硬件設計單片微型計算機是大規模集成電路技術發展的產物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩定可靠、應用廣泛的特點。電子琴是現代電子技術與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現特性,它已經融入現代人們的生活中,成為不可替代的一部分。 本設計是以AT89C51單片機為核心控制元件,把51單片機的4個I/O口與32個5mm高亮LED燈相接,通過單片機控制各I/O引腳的高低電平控制LED的亮滅從而形 成各種不同亮滅的花樣。(1)單片機控制模塊 硬件電路要以單片機作為主芯片,針對本設計的功能和用途,采用AT89S51單片機更好,實現功能完全,性價比較高,更適合本設計。具體電路如圖2所示。
(2)74HC245 5電路仿真與結果分析 5.1電路原理圖 5.2 心形流水燈測試圖 5.2 電路仿真圖
5.3結果分析根據仿真結果可知,本次課程設計能夠準確并徹底的完成設計要求,完成了心形流水燈的設計,實現了LED燈的循環點亮、依次熄滅等基本功能,并且還實現了對角閃亮、間隔閃亮、順時針閃亮,逆時針閃亮等多種功能。 6設計體會這次課程設計我們換過幾種方案,我們剛開始是選擇完全的數字電路來實現,但我們做好仿真時,發現一個問題,頻率不能很好的把握,指導老師說這在實物中更難把握,建議我們用單片機來實現,盡管我們現在還沒有學習單片機的相關知識,但在老師的指導下,我們查閱相關的資料,進行相關的學習,最終我們實現了設計的要求,并且還新增了一些功能,同時還解決了第一次關于頻率的問題,總體來說,此次課程設計使我們收獲良多,雖然課程設計的過程中遇到了很多困難與問題,但我們最終還是完成了設計的任務及要求。具體來說可以分為以下幾點:第一,不夠細心,不夠嚴謹;第二,因對課本理論的掌握度不夠導致編程出現錯誤;第三,硬件方面,剛開始有的程序模塊不能實現預期的效果,對于有的硬件,在實物制作過程中焊了比較多的排線,同時對于整體各元器件的布局都有很高的要求。不過在向同學請教,各方面都有了不同程度的改善;第四,在做人方面,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力和決心,有足夠的挑戰困難的勇氣,就沒有什么辦不到的。這次課程設計中我們完成了基本任務,使我們有了一定的成就感,也使我們進一步熟悉和掌握了單片機的內部結構和工作原理,了解了單片機應用系統設計的基本方法和步驟, 初步掌握了單片機仿真軟件Proteus的使用方法和鍵盤,同時也掌握了撰寫課程設計報告的方法。總之,通過這次課程設計,我們都清楚明白了自己的能力有多深,想提高還得歸于多鍛煉,多動手,多向別人學習。
附件實物圖
單片機源程序如下: - #include<reg51.h>
- #include<intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- uchar code table0[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//P0-P7依次點亮
- uchar code table1[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//P0-P7依次熄滅
- uchar code table2[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//P7-P7依次點亮
- uchar code table3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//P7-P7依次熄滅
- uchar temp,aa,bb,temp,temp1;
- void delay(uint z);
- void h();
- void hh();
- void hhh();
- void hhhh();
- void init();
- void main()//主函數
- {
- init();
- while(520)//大循環
- {
- h();
- hh();
- hhh();
- hhhh();
- }
- }
- void delay(uint z)//延時函數
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void h()
- {
- for(aa=0;aa<3;aa++)
- {
- for(bb=0;bb<8;bb++)
- {
- P0=table0[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P1=table0[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P3=table0[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P2=table0[bb];
- delay(50);
- }
- delay(500);
- for(bb=0;bb<8;bb++)
- {
- P0=table1[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P1=table1[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P3=table1[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P2=table1[bb];
- delay(50);
- }
- }
- for(aa=0;aa<3;aa++)
- {
- for(bb=0;bb<8;bb++)
- {
- P2=table2[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P3=table2[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P1=table2[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P0=table2[bb];
- delay(50);
- }
- delay(500);
- for(bb=0;bb<8;bb++)
- {
- P2=table3[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P3=table3[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P1=table3[bb];
- delay(50);
- }
- for(bb=0;bb<8;bb++)
- {
- P0=table3[bb];
- delay(50);
- }
- }
- }
- void hh()
- {
- for(bb=0;bb<3;bb++)
- {
- for(aa=0;aa<8;aa++)
- {
- P0=table0[aa];
- P2=table2[aa];
- delay(100);
- }
- for(aa=0;aa<8;aa++)
- {
- P3=table2[aa];
- P1=table0[aa];
- delay(100);
- }
- for(aa=0;aa<8;aa++)
- {
- P2=table3[aa];
- P0=table1[aa];
- delay(100);
- }
- for(aa=0;aa<8;aa++)
- {
- P1=table1[aa];
- P3=table3[aa];
- delay(100);
- }
- }
- }
- void init()
- {
- P1=P2=P3=P0=0x00;
- delay(1000);
- P1=P2=P3=P0=0xff;
- delay(200);
- temp=0xfe;
- temp1=0x7f;
- }
- void hhh()
- {
- for(bb=0;bb<10;bb++)
- {
- for(aa=0;aa<8;aa++)
- {
- P0=temp;
- temp=_crol_(temp,1);
- delay(40);
- }
- P0=0xff;
- for(aa=0;aa<8;aa++)
- {
- P1=temp;
- temp=_crol_(temp,1);
- delay(40);
- }
- P1=0xff;
- for(aa=0;aa<8;aa++)
- {
- P3=temp;
- temp=_crol_(temp,1);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
心形流水燈.rar
(1.37 MB, 下載次數: 238)
2018-7-1 16:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|