|
一、任務 以單片機為核心,設計一個節日彩燈控制器。 二、設計要求
以單片機為核心,設計一個節日彩燈控制器,要求有四個控制按鍵:
0.png (19.29 KB, 下載次數: 46)
下載附件
2018-1-6 02:49 上傳
第5章 系統調試與測試結果分析
5.1 使用的調試工具及調試環境
1 調試工具
本設計調試工具采用電腦、單片機仿真以及5V直流穩壓電源。
2 調試環境
地點:寢室
室溫:30 ℃
2 系統調試
根據系統設計方案,本系統的調試共分為三大部分:硬件調試,軟件調試和軟硬件聯調。由于在系統設計中采用模塊設計法,所以方便對各電路模塊功能進行逐級測試,最后將各模塊組合后進行整體測試。
1硬件調試
對各個模塊的功能進行調試,主要調試各模塊能否實現指定的功能。通過kill軟件燒錄下載到硬件中驗證功能。
2軟件調試
軟件調試采用單片機仿真器及微機,將編好的程序進行調試,主要是檢查語法錯誤。
3硬件軟件聯調
將調試好的硬件和軟件進行聯調,主要調試系統的實現功能。
3 測試結果及狀態分析
此次系統設計結果較好,經Proteus軟件仿真系統的調試,可檢測出仿真電路正常;對應按鍵按下,彩燈出現不同花型,實現了多控制、多閃爍的LED彩燈循環;經以上仿真測試證實,本設計能實現設計系統要求的預期功能。
結 論
本次課程設計以STC89C51單片機作為主控核心,按鍵控制電路、彩燈顯示電路以及單片機最小系統等模塊組成的核心主控制電路,利用軟件編程燒錄程序到單片機來實現對LED節日彩燈的控制。
通過軟硬件的仿真調試,對彩燈控制器的運行成果感覺比較滿意,它實現了我們要求達到的目標,實現了多控制、多閃爍方式的LED節日彩燈循環,并且用快慢兩種節拍實現花型交換。本系統亮燈模式多,可根據操作提示隨意變換想要的閃爍方式。同時本設計具有電路結構簡單、易操作、硬件少、體積小、成本低、低能耗等優點,具有一定的實用和參考價值。
但是在設計中也出現了一些問題:Proteus仿真軟件不是很穩定,造成仿真頁面奔潰,另外硬件調試程序時出現了延時問題等。這種都是以后的工作當中需要注意并解決的問題。
參考文獻[1] 劉宏.電子工藝實習,華南理工大學出版社,2011.
[2] 鄧奕.電子線路CAD實用教程,華中科技大學出版社,2013
[3] 康華光.電子技術基礎.高等教育出版社,2006.
[4] 手把手教你學51單片機C語言版,宋雪松,清華大學出版社。2010
[5] C語言程序設計,譚浩強,清華大學出版社,2010
單片機源程序如下:
- #include <reg52.h>
- #define uchar unsigned char //宏定義
- #define uint unsigned int
- sbit k1=P1^2; //位定義
- sbit k2=P1^3;
- sbit k3=P1^4;
- sbit k4=P1^5;
- uchar a=0; //定義所需變量
- uchar b;
- uchar code table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //從上到下流水數組
- uchar code table2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //從下到上流水數組
- void delay_ms(uint xms) //延時函數
- {
- uint i,j;
- for(i=xms;i>0;i--)
- for(j=110;j>0;j--);
- }
- void key_scan(uchar b) //按鍵掃描
- {
- if(b==1) //若K1按下
- {
- while(k2==1&&k3==1&&k4==1)
- {
- for(a=0;a<8;a++) //執行從上到下流水操作
- {
- P0=table1[a];
- delay_ms(100);
- }
- a=0;
- }
- }
- if(b==2) //若K2按下
- {
- while(k1==1&&k3==1&&k4==1)
- { //P0全部輸出高電平,關閉LED
- P0=0xff;
- }
- }
- if(b==3) //若K3按下
- {
- while(k1==1&&k2==1&&k4==1)
- {
- for(a=0;a<8;a++) //執行從下到上流水操作
- {
- P0=table2[a];
- delay_ms(100);
- }
- a=0;
- }
- }
- if(b==4) //若K4按下
- {
- while(k1==1&&k2==1&&k3==1)
- {
- P0=0xaa; //奇偶位分別點亮
- delay_ms(100);
- P0=0x55;
- delay_ms(100);
- }
- }
- }
- void main(void) //主函數
- {
- TMOD=0X01; //定時器中斷初始化
- TH0=(65536-1000)/256;
- TL0=(65536-1000)%256;
- EA=1;
- ET0=1;
- TR0=1;
- while(1);
-
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png (6.24 KB, 下載次數: 57)
下載附件
2018-1-6 02:50 上傳
所有資料51hei提供下載:
電工1512班 周苗 節日彩燈控制器.zip
(106.51 KB, 下載次數: 60)
2018-1-5 19:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|