《單片機課程設計 藝術彩燈控制系統(tǒng)設計》由會員分享,可在線閱讀,更多相關《單片機課程設計 藝術彩燈控制系統(tǒng)設計(12頁珍藏版)》請在裝配圖網上搜索。
1、
單片機系統(tǒng)綜合設計報告
課題名稱:藝術彩燈控制系統(tǒng)設計
指導教師:
學生班級:應電08301班
學生姓名:
學號:
同組人:
學生院系:法商學院
電子工程系
2010年6月10日
目 錄
.一 概述1
1.1 藝術彩燈的設計背景及意義1
1.2 系統(tǒng)設計功能概述1
.二 彩燈設計內容簡要1
2.1 彩燈設計內容1
2.2 彩燈設計
2、要求1
2.3 彩燈設計原理1
2.4 彩燈總體控制框圖2
.三 硬件電路設計2
3.1 硬件組成2
3.2 AT89C51單片機硬件結構3
3.3 系統(tǒng)的硬件構成及功能4
.四 系統(tǒng)的軟件設計5
4.1 程序流程圖6
4.2 軟件程序7
.五 設計體會8
.六 參考文獻9
藝術彩燈控制系統(tǒng)設計
一. 概述
1.1 藝術彩燈的設計背景及意義
彩燈是人們日常生活中的一種裝飾用品,它美觀大方,尤其在節(jié)日期間,倍增節(jié)日氣氛。它蘊涵著豐富的文化底蘊,被廣泛地應用于各種店面的裝飾
3、。變換無窮的彩燈樣式,給城市增添活力,吸引著人們的注意力,深受人民的喜愛。在日常生活中,人們還將彩燈擺放成各種圖案,增添美感。隨著電子技術的發(fā)展,應用系統(tǒng)向著小型化、快速化、大容量、重量輕的方向發(fā)展??茖W技術更加貼近人們的生活,向著滿足人們需求的方向發(fā)展。節(jié)日彩燈的設計與制作工藝也一步一步的走向成熟。
1.2 系統(tǒng)設計功能概述
本設計是以AT89C51單片機為基礎的彩燈控制方案,來實現對LED彩燈的控制。以AT89C51單片機作為主控核心,與鍵盤、顯示、驅動等模塊組成核心主控制模塊。在主控模塊上設有5個按鍵和8位LED狀態(tài)顯示器,根據實驗要求編寫若干種亮燈模式,利用其內部定時器T0實現
4、一個基本單位時間為5ms的定時中斷,根據各種亮燈時間的不同需要,在不同時刻輸出燈亮或燈滅的控制信號,然后驅動各種顏色的燈亮或滅。
二.彩燈設計內容簡要:
2.1彩燈設計內容:
1.設計并實現具有復位功能的單片機小系統(tǒng);
2.利用單片機進行燈光的場景開關控制;
3.利用單片機進行燈光的循環(huán)點亮控制及速度變化控制;
4.利用單片機進行燈光的色彩連續(xù)變化效果控制。
5.利用單片機進行燈光的三色聯(lián)動定時控制。
2.2彩燈設計要求:
1.能啟動、停止;
2.能通過開關進行功能選擇;
3.要體現循環(huán)、組合和色彩變化的控制功能和效果,實現三色聯(lián)動定時控制,控制變化規(guī)律的類型或功
5、能不少于5種;
2.3彩燈設計原理:
主控模塊主要設計器件有89C51,8個LED狀態(tài)顯示器,6個按鍵,3個穩(wěn)壓器(提供5 V電壓)。通過軟件設計,使單片機P1口作為三色LED驅動信號輸出口及移位時鐘CLOCK信號,P0口為按鍵輸入口,P2口、P1口與8位七段碼LED相接作為顯示器的輸出口。
2.4彩燈總體控制框圖:
LED顯示電路
時鐘電路
復位電路
按鍵電路
AT89C51單片機
三.硬件電路設計:
3.1硬件組成
按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT89C51單片機是美國ATMEL
6、公司生產的低電壓、高性能CMOS 8位單片機,具有豐富的內部資源:4kB閃存、128BRAM、32根I/O口線、2個16位定時/計數器、5個向量兩級中斷結構、2個全雙工的串行口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機時無須外擴存儲器。因此,本流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應用系統(tǒng),即為由發(fā)光二極管、晶振、復位、電源等電路和必要的軟件組成的單個單片機
3.2 AT89C51單片機硬件結構:
AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasabl
7、e Read Only Memory)的單片機芯片,它采用靜態(tài)CMOS 工藝制造8位微處理器,最高工作頻率位24MHZ。AT89C5外形及引腳排列如圖所示:
管腳說明:
RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必
8、須被拉高。
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的
9、高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為
10、振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數據存儲器時,這兩次有效的PSEN信號將不出現。
EA/VPP:當EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注
11、意加密方式1時,EA將內部鎖定為RESET;當EA端保持高電平時,此間內部程序存儲器。
XTAL1和XTAL2:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。
3.3系統(tǒng)的硬件構成及功能描述:
控制系統(tǒng)硬件設計電路圖如圖所示:
系統(tǒng)硬件設計電路圖
功能描述:
系統(tǒng)硬件設計電路主要由四部分組成:按鍵復位電路、時鐘振蕩電路、按鍵電路、LED顯示電路。
按鍵復位電路:復位是單片機的初始化操作,其作用是使CPU中的各個部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。在接電瞬間RST端的電位與Vcc相同,隨著電容充電電流的減小
12、,+5V立即加到了RST/VPD端,RST的電位逐漸下降。
時鐘振蕩電路:在AT89C51的外部,XTAL1和XTAL2之間跨越晶體振蕩器和微調電容,從而構成一個自激振蕩器,形成時鐘振蕩電路。時鐘電路產生的振蕩脈沖經過觸發(fā)器二分頻后,形成單片機的時鐘脈沖信號。
按鍵電路:用P0.0~P0.5五個I/O口作為輸入口,按鍵輸入均采用低電平有效。獨立式按鍵的軟件可采用中斷方式和查詢方式,本設計中按鍵程序的就是采用中斷方式。圖中P0.0的按鍵是場景開關,即控制整個系統(tǒng)。
LED顯示電路:發(fā)光二極管與單片機的P1口相連接,其電路圖如圖所示。發(fā)光二極管接+5V電源,其他管腳分別接P1口的8個
13、端口.此次設計發(fā)光二極管可顯示兩種狀態(tài),適合用于顯示系統(tǒng)狀態(tài)。此處用到8個,紅、綠、黃三種LED彩燈控制器(89C51主控模塊)和LED彩燈管(管內LED板模塊)。
四.系統(tǒng)的軟件設計
4.1程序流程圖:
程序如下:
ORG 0000H
AJMP START ;指向主程序
ORG 0010H
MAIN: MOV P1,#0FFH ;設置P1口為輸入口
START:
14、 MOV P0,#0FFH ;初始狀態(tài),選擇場景控制開關
JNB P0.0,KEY0
SJMP START
KEY0: JNB P0.1, KEY1
JNB P0.2, KEY2
JNB P0.3, KEY3
JNB P0.4, KEY4
SJMP START
START1: MOV P0, #0FFH
A
15、CALL DELAY
MOV A, P1 ;送顯示初值
JNB ACC.1, KEY1 ;ACC.1=0?若為0則P1.1對應的鍵按下,轉KEY1
JNB ACC.2, KEY2 ;ACC.2=0?若為0則P1.2對應的鍵按下,轉KEY2
JNB ACC.3, KEY3 ;ACC.3=0?若為0則P1.3對應的鍵按下,轉KEY3
JNB ACC.4, KEY4 ;ACC.1=0?若為0則P1.4對應
16、的鍵按下,轉KEY4
SJMP START1
KEY1: MOV R2,#08H
MOV R5,#0FEH
NEXT0: MOV A,P0
JNB ACC.3,KEY4
JNB ACC.4,KEY3
JB ACC.0,MAIN
MOV A,R5
MOV P1,A ;點亮燈
ACALL DELAY
MOV A,R5
RL A
17、 ;左移,下一個燈亮
MOV R5,A
DJNZ R2,NEXT0
SJMP KEY1
KEY2: MOV A,P0 ;按鍵2,三色聯(lián)動,
JB ACC.0,MAIN ;檢測開關是否按下
JNB ACC.4, KEY3
JNB ACC.3, KEY4
MOV P1,#0DAH
ACALL DELAY2
MOV P1,#0C7H
ACALL DELA
18、Y2
MOV P1,#06EH
ACALL DELAY2
AJMP KEY2
LP1: JBC TF1, LP2
SJMP LP1
LP2: MOV TH1, #0B1H
MOV TL1, #0E0H
DJNZ R3, LP1
RET
KEY3: ACALL DELAY
MOV A,R6 ;循環(huán)點亮加速
ADD A,#3H
MOV R6,A
SJMP NEXT0
19、KEY4 : ACALL DELAY ;循環(huán)點亮減速
MOV A,R6
MOV A,#3H
MOV R6,A
SJMP NEXT0
DELAY: MOV R3, #14H ;加速減速,延時程序
MOV TMOD, #10H
MOV TH1, #0B1H
MOV TL1, #0E0H
SETB TR1
DELAY2:CALL DELAY
CALL DELAY
R
20、ET
END
五.設計體會:
歷時五個星期的單片機課程設計,我從中受益匪淺。因為對我而言學到的不僅是專業(yè)知識,而且是團隊的合作精神。
在本次課程設計中,我主要感觸最深的當屬查閱大量的設計資料了。為了讓自己的設計更加完善,查閱這方面的設計資料是十分必要的,同時也是必不可少的。
作為一個團隊,分工就顯得尤為重要,我主要負責系統(tǒng)硬件電路設計和最終調試的任務,我和搭檔互相幫助,彼此勉勵,有問題一起尋求解決之道。雖然一開始我們就對方案的選擇發(fā)生分歧,但這絲毫不影響我們的交流、探討。因為大家初衷是一樣的。開始設計的功能不能全部實現出來,于是拿著程序反復分析和修改,在老師和同學的
21、幫助指導下最終找出錯誤所在。
經過總結和分析,我和組員一致認為要做好一個課程設計,就必須做到:在設計程序之前,對所用單片機的內部結構有一個系統(tǒng)的了解,知道該單片機內有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經之路;要養(yǎng)成注釋程序的好習慣,一個程序的完美與否不僅僅是實現功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設計課程過程中遇到問題是很正常,但我們應該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。
這次課程設計使我明白理論與實際相結合的重要,只
22、有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從而提高自己的實際動手能力和獨立思考的能力。同時在設計的過程中發(fā)現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。在接下來的復習中我會再接再厲,加深對單片機相關知識的理解。
六.參考文獻:
《單片機應用技術》張曄王玉民出版社:高等教育出版社 出版日期:2006.6
《跟我學用單片機》. 肖洪兵 北京航空航天大學出版社 出版日期:2002.8
《單片機實踐應用與技術》馬長林、陳怡 北京大學出版社 出版日期:2008
《單片機高級教程第1版》 何立民 北京航空航天大學出版社 出版日期:2001
《單片機課程設計指導》 程成 出版社 清華大學出版社 出版日期:2009
《單片機原理及接口技術》 李朝清 北京航空航天大學出版社出 版日期:1999