標題: 來一波課程設計 新人報道 [打印本頁]
作者: 南有南風 時間: 2018-6-12 18:35
標題: 來一波課程設計 新人報道
目 錄1設計任務---------------------------------------------------------- 1
2 設計方案--------------------------------------------------------- 1
2.1任務分析---------------------------------------------------- 1
2.2方案設計---------------------------------------------------- 1
2.3硬件方案---------------------------------------------------- 1
2.4軟件方案---------------------------------------------------- 2
3 系統(tǒng)硬件設計----------------------------------------------------- 3
3.1單片機的最小系統(tǒng)-------------------------------------------- 3
3.2電源電路設計------------------------------------------------ 3
3.3數(shù)碼管顯示電路---------------------------------------------- 3
4 系統(tǒng)軟件設計----------------------------------------------------- 4
4.1 主程序設計-------------------------------------------------- 4
4.2系統(tǒng)程序---------------------------------------------------- 4
5 調試及性能分析--------------------------------------------------- 4
5.1軟件調試---------------------------------------------------- 4
5.2硬件調試---------------------------------------------------- 4
5.3系統(tǒng)功能調試------------------------------------------------ 5
6 遇到的問題及解決------------------------------------------------- 5
7 心得體會--------------------------------------------------------- 5
附錄:------------------------------------------------------------- 6
總結-------------------------------------------------------------- 10
1設計任務 利用單片機完成交通信號燈控制器的設計,該交通信號燈控制器由一條主干道和一條支干道匯合成十字路口,在每個入口處設置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。用紅、綠、黃發(fā)光二極管作信號燈。
2 設計方案2.1任務分析 模擬交通燈控制器就是使用單片機來控制一些LED 和數(shù)碼管,模擬真實交通燈的功能。紅、黃、綠交替點亮,利用數(shù)碼管倒計數(shù)顯示間隔等,用于管理十字路口的車輛及行人交通,計時牌顯示路口通行轉換剩余時間等。
2.2方案設計 我們設計的是十字路口的紅綠燈,有東西,南北兩個走向,前兩個燈是東西的紅燈和綠燈,后兩個是南北的紅燈和綠燈,前兩個燈不會同時亮,后兩個燈不會同時亮,第1個和第3個不會同時亮,暫時沒有黃燈的功能。
2.3硬件方案
根據(jù)設計的要求可知,系統(tǒng)的硬件原理框圖如下圖所示
|
| file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif |
圖1 硬件原理框圖
單片機可選用STC89C52,它與8051系列單片機全兼容,但其內部帶有8KB的FLASH ROM,設計時無需外接程序存儲器,為設計和調試帶來極大的方便。南北向和東西向各采用2個數(shù)碼管計時,同時需要對該方向的指示燈的點亮時間進行倒計時。按鍵可以根據(jù)系統(tǒng)的需要進行復位。用三極管驅動數(shù)碼管顯示,三極管控制共陽位選端,控制數(shù)碼管的顯示。
2.4 軟件方案
首先南北方向紅燈、東西方向綠燈亮,南北方向紅燈15秒、東西方向綠燈10秒,相應的數(shù)碼管顯示對應的數(shù)字并讀秒,同時南北方向紅色的二極管和東西方向的綠色二極管接通點亮顯示,當東西方向的綠燈時間到,則東西方向的綠燈轉為黃燈,同時數(shù)碼管顯示黃燈的時間5秒,東西方向的黃色二極管接通點亮,此時南北方向的紅燈不變。南北方向的紅燈和東西方向的黃燈時間同時到,此時南北方向的紅燈跳轉為綠燈,時間同樣為10秒,東西方向有黃燈跳轉為紅燈,時間為15秒。當南北方向的綠燈時間到,南北綠燈跳轉為黃燈,東西方向的紅燈不變,當南北方向的黃燈和東西方向的紅燈時間到,南北方向的黃燈跳轉為紅燈,東西方向的紅燈跳轉為綠燈。進入開始的狀態(tài),循環(huán)執(zhí)行。
根據(jù)設計要求,程序框圖如圖所示。軟件可由匯編語言完成,也可由C語言完成。軟件設計可以分為以下幾個功能模塊:
數(shù)碼管顯示模塊
動態(tài)顯示方式:動態(tài)顯示方式是指一位一位地輪流點亮每位顯示器(稱為掃描),即每個數(shù)碼管的位選被輪流選中,多個數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對位選選中的數(shù)碼管有效。對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導通電流有關,也與點亮時間和間隔時間的比例有關。通過調整電流和時間參數(shù),可以既保證亮度,又保證顯示。若顯示器的位數(shù)不大于8位,則顯示器的公共端只需一個8位I/O口進行動態(tài)掃描(稱為掃描口),控制每位顯示器所顯示的字形也需一個8位口(稱為段碼輸出)。
LED紅綠燈顯示模塊
狀態(tài)1, 東西綠燈亮,南北紅燈亮
狀態(tài)2, 東西黃燈亮,南北紅燈亮
狀態(tài)3, 東西紅燈亮,南北綠燈亮
狀態(tài)4, 東西紅燈亮,南北黃燈亮
結構框圖file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image002.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image003.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image004.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image005.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image003.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image006.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image007.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image008.giffile:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image009.gif
file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif
圖2 LED紅綠燈顯示框圖
3 系統(tǒng)硬件設計3.1單片機的最小系統(tǒng) STC公司生產(chǎn)的AT89C52單片機它是硬件電路的核心部分,時鐘電路晶振使用12MHz,復位電路采取按鍵復位方式。
3.2電源電路設計 電源用5V直流變壓器直接供電,usb接口供電。
3.3數(shù)碼管顯示電路 顯示電路采用4個共陽數(shù)碼管,用74HC244做驅動器,P0口作為數(shù)碼管的輸入,ULN2803作為控制位選端,P2.0,P2.1,P2.2, P2.3分別作為東西,南北四路數(shù)碼管的位選端。
4 系統(tǒng)軟件設計4.1 主程序設計 系統(tǒng)程序流程圖
|
| file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image011.gif |
圖3 系統(tǒng)程序流程圖
4.2系統(tǒng)程序 根據(jù)設計方案,設計滿足要求的程序,并將程序燒寫進單片機,運行程序,觀察現(xiàn)象是否符合要求,若不符合要求繼續(xù)修改程序。直至能達到要求。程序清單見附錄
5 調試及性能分析5.1軟件調試 軟件調試主要是利用protus仿真軟件完成電路的搭建,運行以發(fā)現(xiàn)設計中的錯誤及時改正。
5.2硬件調試 硬件調試主要是檢測硬件電路是否有短路、斷路、虛焊等。具體步驟及測試結果如下:
(1)檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導線是否完全連接,對未連接的進行修復。(2)參照原理圖,檢查各個器件之間的連接是否連接正確,是否存在虛焊,經(jīng)測試,各連接不存在問題。(3)以上兩項檢查并修復完后,給該硬件電路上電,電源指示燈點亮。
5.3系統(tǒng)功能調試 通過通電調試系統(tǒng)的功能,觀察系統(tǒng)是否正常運行,是否達到設計指標,通過修改軟件完成系統(tǒng)的系能指標,也可以通過仿真軟件進行仿真運行,調試并修改系統(tǒng),以便達到最佳水準。讓系統(tǒng)最大限度的發(fā)揮其功效。
6 遇到的問題及解決 在設計過程中,會出現(xiàn)了一些問題,但都是常見的小問題,如:代碼中雙引號的使用并不是在英語書寫狀態(tài)下,輸入字母出錯等,在調試時出現(xiàn)異常,不過這些都是經(jīng)常性錯誤,經(jīng)過調試修改都一一解決,程序順利完成,并實現(xiàn)了其功能。
綜合課程設計讓我把以前學習到的知識得到鞏固和進一步的提高認識,對已有知識有了更進一步的理解和認識。在此,由于自身能力有限,在課程設計中碰到了很多的問題,我通過查閱相關書籍、資料以及和周圍同學交流。
由于使用的是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大,而且可以隨時的更新系統(tǒng),進行不同狀態(tài)的組合。但是在我們設計和調試的過程中,也發(fā)現(xiàn)了一些問題,譬如紅燈和綠燈的切換還不夠迅速,紅綠燈規(guī)則不完善效率還不是很高等等,這需要在實踐中進一步完善。
7 心得體會這學期是我們首次接觸單片機這門課程,大一的時候學長為我們展示了單片機,告訴我們這是我們以后要學習的很重要的東西,那時候只看到一塊板子上可以顯示數(shù)字,現(xiàn)在我知道了那個叫數(shù)碼管。單片機剛剛學習的時候我覺得很難,代碼都看不懂,更別說編程了,所以這次課設對我們來說很困難,可是隨著組員之間的討論我們解決了一些問題,也更深的了解了單片機的原理,交通燈在所有課設里面不算是難的,可是對我們來說都一樣很困難。問題雖然很多但我們還是努力去解決,從計時到LED亮都很難,從書本學習的東西用在實際中才知道有多重要,最后我們只實現(xiàn)了簡單的紅綠燈而沒有黃燈,這是我們的課設需要改進的。在以后的學習中我們應該勤動手,多動腦,遇到問題思考怎么解決,并且要有合作意識,團隊的能力總是比一個人要大的,我們會改進作品,更好的使用單片機。
附錄: ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTT0
ORG 0013H
LJMP INTT1
ORG 001BH
LJMP TT1
ORG 0100H
TT1: MOV TH1,#0D8H ;定時器1,定時10us
MOV TL1,#0F0H
DJNZ R6,EXIT
MOV R6,#100 ;定時器定時100次
MOV R1,#0FFH
EXIT: RETI
INTT0:MOV P1,#0BEH ;外部中斷0,
JB P3.4,$
RETI
INTT1:MOV P1,#0BBH ;外部中斷1,
JB P3.4,$
RETI
ORG 1000H
MAIN: MOV R6,#100 ;主程序;
MOV R1,#00H
MOV TMOD,#10H ;初始化
MOV TH1,#0D8H
MOV TL1,#0F0H
MOV IE,#8DH
MOV 20H,#10
MOV 21H,#5
MOV 22H,#10
MOV 23H,#15
MOV 24H,#15
SETB TR1
ST1: MOV P1,#0EBH
CJNE R1,#0FFH,TZ1
MOV R1,#00H
DEC 20H
DEC 23H
TZ1: MOV R2,20H
MOV R3,23H
LCALL DISP
MOV A,20H
CJNE A,#00H,ST1
MOV 20H,#10
ST2: MOV P1,#0EDH
CJNE R1,#0FFH,TZ2
MOV R1,#00H
DEC 21H
DEC 23H
TZ2: MOV R2,21H
MOV R3,23H
LCALL DISP
MOV A,21H
CJNE A,#00H,ST2
MOV 21H,#05
MOV 23H,#15
ST3: MOV P1,#0BEH
CJNE R1,#0FFH,TZ3
MOV R1,#00H
DEC 24H
DEC 22H
TZ3: MOV R2,24H
MOV R3,22H
LCALL DISP
MOV A,22H
CJNE A,#00H,ST3
MOV 22H,#10
ST4: MOV P1,#0DEH
CJNE R1,#0FFH,TZ4
MOV R1,#00H
DEC 24H
DEC 21H
TZ4: MOV R2,24H
MOV R3,21H
LCALL DISP
MOV A,21H
CJNE A,#00H,ST4
MOV 21H,#05
MOV 24H,#15
LJMP ST1
DISP: MOV A,R2
MOV B,#10
DIV AB
MOV 60H,A
MOV 61H,B
MOV A,R3
MOV B,#10
DIV AB
MOV 62H,A
MOV 63H,B
MOV 40H,#04H
MOV R5,#01H
MOV R0,#60H
LLP: MOV A,@R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,R5
MOV P2,A
LCALL DELAY1
MOV P2, #00H;
RL A
MOV R5,A
INC R0
DJNZ 40H,LLP
RET
DELAY1: ;延時子程序
MOV R4,#12
DL2: MOV R7,#12
DJNZ R7,$
DJNZ R4,DL2
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
END
總結
交通燈的設計總結:
通過此次課程設計,使我更加扎實的掌握了有關電子線路方面的知識,在設計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。實踐出真知,通過自己親手實踐,是我們掌握的知識不再是紙上談兵。
過而能改,善莫大焉。在課程設計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領悟,不斷獲取。最終的檢測調試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設計終于順利完成了,在設計中遇到了很多問題,最后在老師的指導下,終于游逆而解。在今后社會的發(fā)展和學習實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所在,然后一一進行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠不可能收獲成功,收獲喜悅,也永遠不可能得到社會極大人的認可。
課程設計誠然是一門專業(yè)課,給我很多專業(yè)知識以及專業(yè)技能上的提升,同時又是一門講道課,一門辯思課,給了我許多道,給了我很多思,給了我莫大的空間。同時,設計讓我感觸很深。使我對抽象的理論有了具體的認識。通過這次課程設計,我掌握了NI Multisim軟件的使用方法,了解了紅綠燈的實際控制過程,以及如何提高電路的性能等等。
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |