單片機系統(tǒng)課程設(shè)計報告基于單片機系統(tǒng)的交通燈設(shè)計_第1頁
單片機系統(tǒng)課程設(shè)計報告基于單片機系統(tǒng)的交通燈設(shè)計_第2頁
單片機系統(tǒng)課程設(shè)計報告基于單片機系統(tǒng)的交通燈設(shè)計_第3頁
單片機系統(tǒng)課程設(shè)計報告基于單片機系統(tǒng)的交通燈設(shè)計_第4頁
單片機系統(tǒng)課程設(shè)計報告基于單片機系統(tǒng)的交通燈設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機系統(tǒng)課程設(shè)計報告 題目: 基于單片機系統(tǒng)的交通燈設(shè)計 專業(yè): 姓 名 學(xué)號: 同組人: 指 導(dǎo) 教 師: 完成日期:2010年12月26日南北東西1 設(shè)計任務(wù)和性能指標(biāo)1.1設(shè)計任務(wù)利用單片機完成交通信號燈控制器的設(shè)計,該交通信號燈控制器由一條主干道和一條支干道匯合成十字路口,在每個入口處設(shè)置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。用紅、綠、黃發(fā)光二極管作信號燈。如圖右圖所示。設(shè)東西向為主干道,南北為支干道。1.2性能指標(biāo)(1)處于常允許通行的狀態(tài),支干道有車來時才允許通行。主干道亮綠燈時,支干道亮紅燈;支干道亮綠燈時,主干道亮紅燈

2、。(2)干道均有車時,兩者交替允許通行,主干道每次放行60秒,支干道每次放行40秒,設(shè)立60秒、40秒計時、顯示電路。(3)綠燈亮到紅燈亮的轉(zhuǎn)換過程中,要亮5秒黃燈作為過渡。黃燈亮?xí)r,原紅燈按1hz的頻率閃爍。(4)支干道通行時間及黃燈亮的時間均可在099秒內(nèi)任意設(shè)置。2 設(shè)計方案2.1任務(wù)分析模擬交通燈控制器就是使用單片機來控制一些led 和數(shù)碼管,模擬真實交通燈的功能。紅、黃、綠交替閃亮,利用數(shù)碼管倒計數(shù)顯示間隔等,用于管理十字路口的車輛及行人交通,計時牌顯示路口通行轉(zhuǎn)換剩余時間等2.2方案設(shè)計根據(jù)設(shè)計的要求可知,系統(tǒng)的硬件原理框圖如下圖所示。 系統(tǒng)硬件框圖單片機可選用at89c51,它與

3、8051系列單片機全兼容,但其內(nèi)部帶有4kb的flash rom,設(shè)計時無需外接程序存儲器,為設(shè)計和調(diào)試帶來極大的方便。南北向和東西向各采用2個數(shù)碼管計時,同時需要對該方向的指示燈的點亮?xí)r間進行倒計時。鍵盤系統(tǒng)可以根據(jù)系統(tǒng)的需要設(shè)置不同的鍵的個數(shù),可以選擇線式鍵盤或矩陣式鍵盤,若單片機的io口不夠用時,可以考慮擴展8255或8155滿足系統(tǒng)的要求。2. 3軟件方案 根據(jù)設(shè)計要求,程序框圖如圖所示。軟件可由匯編語言完成,也可由c語言完成。軟件設(shè)計可以分為以下幾個功能模塊:主程序:初始化及鍵盤監(jiān)控。計時程序模塊:為定時器的中斷服務(wù)子程序,完成0.1秒(或其他時間)和1秒的時間定時。 顯示程序模塊:

4、完成60個發(fā)光二極管(實際上只需驅(qū)動30個)和8個led數(shù)碼管的顯示驅(qū)動。調(diào)用緊急狀態(tài)子程序調(diào)用正常運行子程序判斷當(dāng)前狀態(tài)初始化開始 程序流程圖3系統(tǒng)硬件設(shè)計3.1單片機的最小系統(tǒng)atmel公司生產(chǎn)的at89c52單片機它是硬件電路的核心部分,時鐘電路晶振使用12mhz,復(fù)位電路采取按鍵復(fù)位方式。具體連接圖3.1和圖3.2。 單片機系統(tǒng)的時鐘電路 單片機系統(tǒng)的復(fù)位電路3.2電源電路設(shè)計 電源用5v直流變壓器直接供電。 3.3數(shù)碼管顯示電路 顯示電路采用8個共陰數(shù)碼管,p1口作為數(shù)碼管的輸入,p3.4、p3.5、p3.6 p3.7分別作為東西南北四路數(shù)碼管的位選端。 數(shù)碼管顯示電路3.4信號燈控

5、制電路 中斷處理顯示子程序參數(shù)初始化開始 應(yīng)急電路4 系統(tǒng)軟件設(shè)計4.1 主程序設(shè)計 緊急中斷子程序中斷處理 系統(tǒng)程序流程圖 5 調(diào)試及性能分析5.1 調(diào)試分析5.1.1 軟件調(diào)試 軟件調(diào)試主要是利用proteus仿真軟件完成電路的搭建,運行以發(fā)現(xiàn)設(shè)計中的錯誤及時改正。5.1.2 硬件調(diào)試硬件調(diào)試主要是檢測硬件電路是否有短路、斷路、虛焊等。具體步驟及測試結(jié)果如下:(1)檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導(dǎo)線是否完全連接,對未連接的進行修復(fù)。(2)參照原理圖,檢查各個器件之間的連接是否連接正確,是否存在虛焊,經(jīng)測試,各連接不存在問題。(3)以上兩項檢查并修復(fù)完后,給該硬件

6、電路上電,電源指示燈點亮。5.1.3 系統(tǒng)功能調(diào)試 通過軟件仿真顯示,系統(tǒng)基本能完成要求,由于設(shè)計思路出現(xiàn)問題,鍵盤沒有正確的做出來,沒有鍵盤電路,緊急情況也可以通過一個按鈕來采取相關(guān)的動作。6 心得體會 由于使用的是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大,而且可以隨時的更新系統(tǒng),進行不同狀態(tài)的組合。經(jīng)過這次單片機設(shè)計,我認(rèn)識到自己在這方面的很大不足,還好有同學(xué)的幫助,一起研究,同時查閱了許多資料,最后終于把這個交通燈的設(shè)計搞出來。以前我們做實驗也做出來過交通燈這個項目,但是那跟這個相比很容易了,因為那只需要輸入并不需要芯片的程序設(shè)計,而這個設(shè)計則完全是我們一手起草并

7、借鑒前人經(jīng)驗而做成的,很有成就感,感覺單片機這門課真的很重要,因為它功能太強大了,我們學(xué)好了可以做許多有用的東西。以前對單片機還心里面一直對單片機害怕,感覺太深奧了不好理解。但是經(jīng)過這次仿真,給人以很真實的感覺,它確實就是這樣,從現(xiàn)象觀察發(fā)現(xiàn),我們的思維是對的,程序是正確的,因此,感覺單片機又不是那樣難以理解,我以后要更加的努力學(xué)習(xí)更多的關(guān)于單片機設(shè)計的知識,把它學(xué)好,以后能夠用到的。我相信自己是能夠做到的! 參考文獻1李朝青.單片機原理及接口技術(shù)(第3版).北京:北京航空航天大學(xué)出版社2 徐維祥.單片微型機原理及應(yīng)用 大連理工大學(xué)出版社3 胡漢才.單片機原理與接口技術(shù)m.北京: 清華大學(xué)大學(xué)

8、出版社4 閆勝利.altium designer 6.中文版使用教程電子工業(yè)出版社附錄1 系統(tǒng)原理圖 附錄2 系統(tǒng)仿真圖 附錄3 程序清單;-;程序?qū)崿F(xiàn)功能;西南北路口直行與轉(zhuǎn)彎交替通行,數(shù)碼管顯示直行通行倒計時,紅綠黃燈顯示包括人行道在內(nèi)的道路交通狀態(tài)。;某一方向道路擁擠時,可以人工控制調(diào)節(jié)東西南北方向通行時間。;緊急情況時,各路口交通燈顯示紅燈,數(shù)碼管保持?jǐn)?shù)據(jù)不變。;工作寄存器及存儲單元分配;1.工作寄存器;r2設(shè)置為定時器定時中斷次數(shù),r6、r7用于延時程序中的寄存器;2.片內(nèi)存儲單元;30h、31h作為兩組數(shù)碼管顯示數(shù)據(jù)存儲單元;32h、33h作為交通燈初始狀態(tài)存儲單元;40h、41h

9、作為交通燈顯示數(shù)據(jù)存儲單元;3.標(biāo)志位;00h:南北通行標(biāo)志位 ; 01h:東西通行標(biāo)志位;02h:緊急事件標(biāo)志位 ;-snf equ 00h ;南北通行標(biāo)志位ewf equ 01h ;東西通行標(biāo)志位urf equ 02h ;緊急事件標(biāo)志位org 0000hljmp main ;上電轉(zhuǎn)主程序org 000bh ;定時中斷入口ljmp dszd org 0003h ;緊急中斷入口ljmp urzdorg 0030h main: lcall init ;調(diào)用初始化子程序loop: lcall dis ;循環(huán)執(zhí)行顯示子程序 ajmp loop;/初始化程序init: setb snf setb ew

10、f setb urf mov r2,#20 ;定時器中斷20次為1s mov tmod,#01h ;初始化定時器 mov tl0,#0b0h mov th0,#3ch setb ea ;開定時中斷與緊急中斷 setb et0 setb tr0 setb ex0 setb it0 ;設(shè)置中斷程控方式 mov dptr,#tab ;數(shù)值首地址放入dptr中 mov 40h,#40 ;東南西北通行時間設(shè)置 mov 41h,#40 mov 30h,#40 ;通行時間初始化 mov 31h,#60 mov p0,#4ch ;初始化時南北通行并把交通燈狀態(tài)分別放在32h和33h中 mov 32h,#4ch

11、 mov p2,#15h mov 33h,#15h ret;/顯示子程序dis: mov p3,#0dfh ;選中南北方向的十位數(shù)碼管 mov a,30h ;把顯示數(shù)據(jù)送人數(shù)碼管顯示 mov b,#10 div ab movc a,a+dptr mov p1,a ; lcall d1ms mov p3,#0efh ;選中南北方向的個位數(shù)碼管 mov a,b ;送入數(shù)碼管顯示 movc a,a+dptr mov p1,a lcall d1ms mov p3,#7fh ;選中第東西方向的十位數(shù)碼管 mov a,31h ;送入數(shù)碼管顯示 mov b,#10 div ab movc a,a+dptr

12、mov p1,a lcall d1ms mov p3,#0bfh ;選中第東西方向的個位數(shù)碼管 mov a,b movc a,a+dptr mov p1,a lcall d1ms setb p3.0 setb p3.1 jnb p3.0,dis_s ;查詢是否第一個按鍵按下 jnb p3.1,dis_e ;查詢是否第二個按鍵按下 ajmp dis_r ;沒有鍵按下則返回dis_s:lcall d5ms ;按鍵去抖 jnb p3.0,dis_sn ajmp dis_r dis_sn:mov 40h,#50 ;對通行時間從新分配,南北通行時間加長 mov 41h,#30 ajmp dis_rdis

13、_e:lcall d5ms ;按鍵去抖 jnb p3.1,dis_ew ajmp dis_rdis_ew:mov 40h,#30 ;東西通行時間加長 mov 41h,#50dis_r:ret ;/定時中斷處理程序ds_c: ljmp ds_r ;接力跳轉(zhuǎn)dszd: push acc ;保護現(xiàn)場 push psw clr tr0 ;關(guān)定時器及中斷標(biāo)志位并重新賦值 clr tf0 mov tl0,#0b0h mov th0,#3ch djnz r2,ds_c ;判斷1m時間是否到達 mov r2,#20 ;到達重新賦值 dec 30h ;南北方向通行時間減一 mov a,30h ;把減一后的時間送

14、入顯示存儲單元;南北通行到達最后4秒時黃燈閃爍ds_10:cjne a,#4,ds_11 ;如果通行時間剩余4秒 jnb snf,ds_11 ;判斷是否是南北通行 mov p0,#8ah mov 32h, #8ah ;把交通燈狀態(tài)存入存儲單元(后面類似)ds_11:cjne a,#3,ds_12 ;不是剩余3秒,返回 jnb snf,ds_12 ;不是南北通行時間,返回 mov p0,#88h mov 32h, #88hds_12:cjne a,#2,ds_13 jnb snf,ds_13 mov p0,#8ah mov 32h, #8ah ds_13:cjne a,#1,ds_14 jnb

15、snf,ds_14 mov p0,#88h mov 32h, #88h;-ds_14:jnz ds_ne ;通行時間沒有結(jié)束轉(zhuǎn)向改變東西方向的數(shù)碼管 cpl snf ;如果通行時間結(jié)束則對標(biāo)志位取反 jnb snf,ds_1 ;判斷是否南北通行 mov 30h,40h ;是,點亮相應(yīng)的交通燈 mov p0,#4ch mov 32h,#4ch ;存儲交通燈狀態(tài) mov p2,#15h mov 33h, #15h ;存儲交通燈狀態(tài)ds_ne:dec 31h ;東西方向通行時間減一 mov a,31h ;把通行剩余時間送入顯示存儲單元;東西方向通行時間剩余4秒鐘黃燈閃爍(程序注釋與南北方向類似 略)

16、ds_20:cjne a,#4,ds_21 jb ewf,ds_21 mov p0,#51h mov 32h, #51hds_21:cjne a,#3,ds_22 jb ewf,ds_22 mov p0,#41h mov 32h, #41hds_22:cjne a,#2,ds_23 jb ewf,ds_23 mov p0,#51h mov 32h, #51hds_23:cjne a,#1,ds_24 jb ewf,ds_24 mov p0,#41h mov 32h, #41h;-ds_24:jnz ds_r ;東西方向時間沒有結(jié)束,返回 cpl ewf ;對通行狀態(tài)取反 jnb ewf,ds_

17、2 ;東西方向通行時間到來,跳轉(zhuǎn) mov 31h,#80 ;東西方向通行結(jié)束,重新顯示時間 mov p0,#89h ;點亮相應(yīng)的交通燈 mov 32h, #89h mov p2,#29h mov 33h, #29h ajmp ds_r ds_1: mov 30h,#80 ;南北通行時間結(jié)束,重新對顯示存儲單元賦值 mov p0,#89h ;執(zhí)行轉(zhuǎn)彎狀態(tài)1 mov 32h, #89h mov p2,#26h mov 33h, #26h ajmp ds_ne ds_2: mov 31h,41h ;東西方向開始通行,賦值予顯示存儲單元 mov p0,#61h ;點亮相應(yīng)的交通燈 mov 32h, #61h mov p2,#15h mov 33h, #15hds_r: setb tr0 pop psw ;恢復(fù)現(xiàn)場 pop acc reti;/緊急中斷處理程序urzd: push acc ;保護現(xiàn)場 push psw clr ie0 ;清除中斷標(biāo)志位 clr tr0 ;關(guān)定時器 cpl urf ;緊急事件標(biāo)志位 jb urf,ur_con ;緊急結(jié)束;跳轉(zhuǎn) mov p0,#49h

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論