基于單片機AT89C52控制的交通燈附帶程序_第1頁
基于單片機AT89C52控制的交通燈附帶程序_第2頁
基于單片機AT89C52控制的交通燈附帶程序_第3頁
基于單片機AT89C52控制的交通燈附帶程序_第4頁
基于單片機AT89C52控制的交通燈附帶程序_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

資資料.資資料.學號:2009學院

機械工程學院

課程設計題目基于AT89C52單片機的交通燈控制系統(tǒng)設計專業(yè)機械電子工程班級姓名指導教師20XX年12月XX日

課程設計任務書姓名XXX學號1X班級XXXX課程名稱單片機課程設計課程性質必修設計時間2012年12月16日——2012年12月30日設計名稱基于AT89C52單片機的交通燈控制系統(tǒng)設計設計要求用AT89C52單片機控制一個交通信號燈系統(tǒng),晶振采用12MHz。設A車道與B車道交叉組成十字路口,A是主道,B是支道。設計要求如下:1)用發(fā)光二極管模擬交通信號燈,用按鍵開關模擬車輛檢測信號;2)正常情況下,A、B兩車道輪流放行,A車道放行50s,其中5s用于警告;B車道放行30s,其中5s用于警告;3)在交通繁忙時,交通信號燈控制系統(tǒng)應有手控開關,可人為地改變信號燈的狀態(tài),以緩解交通擁擠狀況。在B車道放行期間,若A車道有車而B車道無車,按下開關K1使A車道放行15s;在人車道放行期間,若B車道有車而A車道無車,按下開關K2使B車道放行15s;4)有緊急車輛通過時,按下K3開關使A、B車道均為紅燈,禁行20s。5)完成系統(tǒng)電路設計;6)完成系統(tǒng)軟件設計;7)完成系統(tǒng)Proteus下的仿真。8)完成課程設計報告。

時間:二周1)方案設計2天2)電路設計2天3)軟件設計3天計劃與進度4)軟、硬件聯(lián)調2天5)系統(tǒng)仿真2天6)答辯1天7)完成報.告2天任課教師意見年月日教研室主任簽名年月日平時考勤:20%設計:30%仿真:20%答辯:10%說明設計報告:20%共計100分。目錄TOC\o"1-5"\h\z目錄II第一章緒論11.1交通燈設計的意義11.2交通燈設計的思想11.3交通燈設計滿足的基本功能2第二章總體方案32.1總體方案設計思想32.2系統(tǒng)方案選擇與比較32.3系統(tǒng)總體方案論證5第三章硬件設計6總體設計與描述6交通燈通行模式及行車方向指示6主干道單獨時間設置功能8倒計時計數(shù)功能及其實現(xiàn)8各功能模塊硬件設計及實現(xiàn)9第四章軟件設計12軟件總體流程圖12定時器初始化124.3動態(tài)顯示134.4設置狀態(tài)子程序14第五章系統(tǒng)調試155.1系統(tǒng)操作說明15調試15調試心得19第六章設計總結21參考資料參考資料22參考資料參考資料22資資料.資資料.附錄23I原理圖23II原程序24資資料.資資料.第一章緒論1.1交通燈設計的意義交通的發(fā)達,標志著城市的發(fā)達,相對交通的管理則顯得越來越重要。交通燈是城市交通中的重要指揮系統(tǒng),它與人們日常生活密切相關.隨著人們生活水平的提高,對交通管制也提出了更高的要求,因此提供一個可靠、安全、便捷的多功能交通燈控制系統(tǒng)有著現(xiàn)實的必要性。對于復雜的城市交通系統(tǒng),為了確保安全,保證正常的交通秩序,十字路口的信號控制必需按照一定的規(guī)律變化,以便于車輛行人能順利地通過十字路口。單片機自問世以來,性能不斷提高和完善,其資源又能滿足很多場合的應用,加之單片機具有集成度高、功能強、速度快、體積小、功耗低、使用方便、性能可靠、價格低廉,其易于產(chǎn)品化、抗干擾能力強、可在各種惡劣環(huán)境下可靠的工作等特點。特別是它強大的面向控制能力,使它在工業(yè)控制領域,智能儀表、外設控制、家用電器、機器人、軍事裝置等方面得到了廣泛的應用??紤]到單片機具有物美價廉、功能強、使用方便靈活、可靠性高等特點,擬采用MCS-51系列的單片機來實現(xiàn)十字路口交通信號燈的控制。正常情況下,十字路口的紅綠燈應交替變換,考慮緊急情況下,如有救護車或警車到來時,應優(yōu)先讓其通過。另外,單片機課程設計是應用電子專業(yè)學生的必修課程。通過交通燈模擬系統(tǒng)的設計可以進一步認識單片機在控制系統(tǒng)中的重要性。在完成理論學習和必要的實驗后,掌握了單片機的基本原理和各種基本功能的應用,但對單片機的硬件實際應用設計和單片機完整的用戶程序設計還不清楚,實際動手能力不夠,因此對該課程進行一次課程設計是有必要的。

交通燈模擬系統(tǒng)的課程設計既讓學生鞏固了課本學到的理論,還讓學生學習了單片機硬件電路設計和用戶程序設計的整個過程,同時學習了查閱資料、參考資料的方法。單片機的課程設計主要是通過學生獨立設計方案并自己動手用計算機電路設計軟件,編寫和調試用戶程序,來加深對單片機的認識,充分發(fā)揮學生的創(chuàng)新能力。交通燈設計的思想該設計在熟練掌握單片機及其仿真系統(tǒng)的使用方法基礎上,綜合應用單片機原理、單片機應用技術等課程方面的知識,設計一個采用AT89C52單片機控制的交通燈控制電路。根據(jù)設計功能及要求,我們可得系統(tǒng)的原理框圖如圖所示。開關電源LED數(shù)碼管顯示模塊―北-開關電源LED數(shù)碼管顯示模塊LED數(shù)碼管

顯示模塊紅、綠、黃、藍LED狀態(tài)指示燈LED數(shù)LED數(shù)碼管顯示模塊LED數(shù)碼管顯示模塊圖1-1系統(tǒng)原理框圖根據(jù)系統(tǒng)的原理框圖,分別分析各部分電路的元器件的功能以及選擇合適的元件。具體設計思路如下:收集并整理資料,硬件設計,軟件設計,Proteus仿真,設計體會與總結。交通燈設計滿足的基本功能1、南北方向(主干道)車道和東西方向(次干道)車道兩條交叉道路上的車輛交替運行,主干道每次通行時間都設為20秒、支干道每次通行間為20秒,時間可設置修改。2、在綠燈轉為紅燈時,要求黃燈先亮3秒鐘,才能變換運行車道;3、黃燈亮時,要求每秒閃亮一次4、東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用顯示器進行顯示(采用計時的方法)。5、一道有車而另一道無車,交通燈控制系統(tǒng)能立即讓有車道放行。第二章總體方案總體方案設計思想根據(jù)傳統(tǒng)十字路口交通燈的設計,可將本系統(tǒng)分為四個模塊,第一個模塊是控制模塊,主要負責整個系統(tǒng)工作的控制和運算,從而使各模塊正常工作;第二個模塊為顯示模塊,主要是對車輛和行人應該遵守交通規(guī)則的指導性的直觀顯示,它主要包括倒計時顯示和紅、綠、黃燈兩大部分;第三個模塊是輸入模塊,它的主要作用是輔助控制模塊,相當于輸入裝置,利用它可以對交通燈各路口通行時間的設置以及出現(xiàn)緊急情況時,進行不同工作方式的切換設置;第四個模塊是電源模塊,它是整個系統(tǒng)的“心臟”,負責給各模塊提供合適的電壓,讓各模2.2系統(tǒng)方案選擇與比較2.2.1控制模塊方案選擇方案一:由計數(shù)器74LS161級聯(lián)組成,配合譯碼器和秒脈沖信號發(fā)生器等器件組成交通燈系統(tǒng),整個系統(tǒng)簡單,控制簡單,調試容易等優(yōu)點。方案二:采用ATC公司的單片機ATC89C52作為控制器。單片機運算能力強,軟件編程靈活,自由度大。它是MCS-51系列單片機的派生產(chǎn)品,在指令系統(tǒng)、硬件結構和片內資源上與標準8052單片機完全兼容,使用時容易掌握;采用ATC89C52單片機穩(wěn)定可靠、應用廣泛、通用性強,在系統(tǒng)/在應用可編程。方案比較:采用方案一來實現(xiàn)十字路口交通燈控制系統(tǒng)非常方便,電路結構簡單,控制單一,但整個系統(tǒng)性能不是很高,倒計時不是非常精確,如果要求系統(tǒng)能設置不同工作時間不容易,因而對于完成題目較困難,而方案二完全能實現(xiàn)設計要求,容易掌握,利用編程,易控制,I/O接口很多,易于擴展外圍電路,價格便宜,故選擇方案二。2.2.2顯示模塊方案選擇該系統(tǒng)要求完成倒計時、狀態(tài)燈等功能?;谏鲜鲈?,考慮了三種方案。方案一:完全采用數(shù)碼管顯示。這種方案只顯示有限的符號和數(shù)碼字苻,無法勝任題目要求。方案二:完全采用點陣式LED顯示。這種方案實現(xiàn)復雜,且須完成大量的軟件工作;但功能強大,可方便的顯示各種英文字符,漢字,圖形等。方案三:用七段LED數(shù)碼管完成倒計時顯示,用LED燈作為狀態(tài)燈指示功能。方案比較:方案一和方案二都不符合設計要求,實現(xiàn)較復雜,而方案三采用數(shù)碼管與LED燈相結合的方法因為設計既要求倒計時數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實情況,用數(shù)碼管與LED燈分別顯示時間與提示信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實現(xiàn)的復雜度。權衡利弊,選擇方案三。2.2.3輸入模塊方案選擇方案一:采用8155擴展I/O口及鍵盤,顯示等。該方案的優(yōu)點是:使用靈活可編程,并且有RAM,及計數(shù)器。若用該方案,可提供較多/O口,但操作起來稍顯復雜。方案二:直接在IO口線上接上按鍵開關。因為設計時精簡和優(yōu)化了電路,所以剩余的口資源還比較多,我們使用三個按鍵,分別是SET_KEY、UP_KEY、DOWN_KEY。由于該系統(tǒng)對于交通燈及數(shù)碼管的控制,只用單片機本身的I/O口就可實現(xiàn),且本身的計數(shù)器及RAM已經(jīng)夠用,故選擇方案二。2.2.4電源模塊方案選擇方案一:采用單片機控制模塊提供電源。該方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)約成本;缺點是輸出功率不高,不能驅動數(shù)碼管。方案二:采用獨立的穩(wěn)壓電源,采用開關電源作為整個系統(tǒng)的供電,它具有多路電源輸出,此方案的優(yōu)點是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點是各模塊都采用獨立電源。方案比較:方案一只采用單片機自身的I/O來驅動數(shù)碼管顯示是不行的,而方案二雖然要給各模塊供電,但卻能給各模塊提供穩(wěn)定可靠的電壓從而達到顯示明亮的程度。故選擇第二種方案。

系統(tǒng)總體方案論證經(jīng)上述各模塊的方案選擇與論證,十字路口交通燈控制系統(tǒng)的控制芯片選用單片機AT89C52作為整個系統(tǒng)的核心控制器件,主要負責整個系統(tǒng)工作的控制和運算,從而使各模塊正常工作;采用七段LED數(shù)碼管和LED燈作為顯示器件,用七段LED數(shù)碼管完成倒計時顯示,用LED燈作為狀態(tài)燈指示功能;用觸發(fā)按鍵構成系統(tǒng)的輸入部分,它可以對系統(tǒng)進行狀態(tài)設置,結合數(shù)碼管,可根據(jù)交通情況對整個系統(tǒng)進行直觀的控制;以開關電源作為系統(tǒng)電源部分,它有+12V、-12V、+5V、-5V電壓輸出,可方便對各個模塊供電。系統(tǒng)設計方框總圖如圖2-2:開關電源LED數(shù)碼管顯示模塊北開關電源LED數(shù)碼管顯示模塊LED數(shù)碼管顯示模塊紅、綠、黃、藍LED狀態(tài)指示燈LED數(shù)LED數(shù)碼管顯示模塊LED數(shù)碼管顯示模塊圖2-2系統(tǒng)設計方框總圖第三章硬件設計硬件設計是整個系統(tǒng)的基礎,要考慮的方方面面很多,除了實現(xiàn)交通燈基本功能以外,主要還要考慮如下幾個因素:①系統(tǒng)穩(wěn)定度;②器件的通用性或易選購性;③軟件編程的易實現(xiàn)性;④系統(tǒng)其它功能及性能指標;因此硬件設計至關重要?,F(xiàn)從各功能模塊的實現(xiàn)逐個進行分析探討??傮w設計與描述本設計以單片機AT89S52為控制核心,采用模塊化設計,共分以下幾個功能模塊:單片機控制系統(tǒng)、鍵盤及狀態(tài)顯示、行車方向指示和倒計時模塊等。單片機作為整個硬件系統(tǒng)的核心,它既是協(xié)調整機工作的控制器,又是數(shù)據(jù)處理器。它由單片機、時鐘電路、復位電路等組成。行車方向指示采用紅、綠、黃、藍(表示向左轉)LED發(fā)光管,用四種顏色指示車輛放行、暫停、禁止,形象直觀。鍵盤及狀態(tài)顯示,鍵盤采用三只觸發(fā)按鍵組成,電路簡潔可靠;顯示器采用七段LCD數(shù)碼管,可實時顯示系統(tǒng)運行狀態(tài),可供交警在室內實時監(jiān)視交通狀況。通過鍵盤可設置:緊急情況發(fā)生時的交通燈狀態(tài)控制、主干道通行時間等。系統(tǒng)采用雙數(shù)碼管倒計時計數(shù)功能,最大顯示數(shù)字不超過80。交通燈模擬仿真如圖3-1所示:

D4aD1ELED-GREENEP19-YELLOIAJ■D11*D1^hLED-cqpniled-'^hKij訂ed?D4aD1ELED-GREENEP19-YELLOIAJ■D11*D1^hLED-cqpniled-'^hKij訂ed?匚仃車ri?pD5piz■*D2占D3厶LED-I^VLEDD-SHEEND9LED-BLUEsTBTP-圖3-1交通燈模擬仿真圖交通燈通行模式及行車方向指示按交通燈控制規(guī)則,每個街口有轉彎、直行及行人三種指示燈。主要指示燈有紅、綠、黃三種顏色,但我在其中修改了一下,加進一個藍燈。交道口模型如圖3-2所示:和功〒聲北和功〒聲北人行廉■ll■機如l迫人行廉■ll■機如l迫二人行逋——』氏g牛道書站車道機功牛道機訕44百II^AA■迫t甫圖機訕44百II^AA■迫t甫圖3-2交道口模型圖非機刮T迢人行道1I~PL功下議2組LED數(shù)碼管按照設置的通行時間(各路口默認的通行時間均為20秒)進行倒計時,并各自進行顯示,共有四種通行狀態(tài),分別為:圖3-3通行狀態(tài)一示意圖圖3-4通行狀態(tài)二示意圖圖3-5通行狀態(tài)三示意圖圖3-6通行狀態(tài)四示意圖直行默認時間為20秒,轉彎默認時間為20秒,系統(tǒng)設置了任意更改功能可以根據(jù)實際情況進行倒計時調整,以提高車輛通過率,緩減交通壓力。在直行狀態(tài)變?yōu)檗D彎狀態(tài)時黃燈倒計時3秒后轉彎。本設計選用一只綠色、一只藍色LED發(fā)光管來指示轉彎、直行等交通指示信息。綠燈亮表示直行,藍燈亮表示允許轉彎行駛,紅色則表示禁止通行。所有指示信息一目了然。主干道單獨時間設置功能當主干道方向的車輛過多發(fā)生堵塞,正常的信號燈時序將會使交通狀況更加惡化。本設計添加了主次干道單獨時間設置功能,交警可按需求設置綠燈的點亮時間,該措施可在一定程度緩減短暫的交通壓力。三個按鍵如圖3-7所示:3.4倒計時計數(shù)功能及其實現(xiàn)本系統(tǒng)使用數(shù)碼管完成倒計時顯示功能。以南北方向為例,數(shù)碼管顯示的數(shù)值從綠燈的設置時間最大值往下減,每秒鐘減1,一直減到0。然后又從紅燈的設置時間最大值往下減,一直減到0。接下來又顯示綠燈時間,如此循環(huán)。系統(tǒng)共有2個兩位的LED數(shù)碼管,分別放置在模擬交通燈控制板上的南北、東西路口。因為對應的兩個方向應該顯示同樣的內容,所以可以把它們同樣對待。也就是說各個方向的數(shù)碼管個位(把數(shù)碼管第二位定義為個位,第一位定義為十位)用一根信號線控制,十位用另一根信號線控制。3.5各功能模塊硬件設計及實現(xiàn)3.5.1單片機控制模塊設計單片微機簡稱為單片機。它在一塊芯片上集中成了中央處理單元CPU、隨機存儲器RAM、只讀存儲器ROM、定時/計數(shù)和多功能輸入/輸出I/O口,如并行口I/O、串行口I/O和轉換A/D等。MCS-51系列單片機在我國得到了廣泛的應用,是單片機的主流系列,軟硬件應用設計資料豐富齊全。為了提高指令的執(zhí)行速度和效率,采用了面向控制的結構和指令系統(tǒng)的獨立CPU。因此本設計采用AT89C52單片機作為系統(tǒng)的控制器件,這是因為AT89C52是目前應用比較廣泛的MCS-51系列兼容單片機作為主控制器。AT89C52單片機的主要性能特點:1、與MCS-51系列單片機產(chǎn)品兼容;2、8K字節(jié)在系統(tǒng)可編程Flash存儲器,1000次擦寫周期;3、全靜態(tài)操作:0?33Hz;4、三級加密程序存儲器;5、32個可編程I/O口線,3個16位定時器/定時器,8個中斷源;6、全雙工UART串行通道,低功耗空閑和掉電模式;7、掉電后中端可喚醒,看門狗定時器;8、雙數(shù)據(jù)指針和掉電標識符;電源、時鐘信號以及復位電路時單片機工作的基本條件,缺一不可。AT89C52單片機系統(tǒng)的基本工作電路包括電源電路、時鐘電路、復位電路。其組成方框圖如圖3-8所示:圖3-8單片機控制系統(tǒng)基本硬件組成方框圖1)、電源電路電源電路模塊為系統(tǒng)板上的其他模塊提供+5V電源。供電電源可由開關電源提供,即能滿足。(2)、時鐘電路模塊的設計單片機的時鐘信號用來為單片機芯片內部的各種操作提供時間基準。時鐘電路為單片機產(chǎn)生時鐘脈沖序列,作為單片機工作的時間基準,典型的晶體振蕩頻率為12MHz。MCS-51系列單片的時鐘信號可以由兩種方式產(chǎn)生:一種是內部時鐘方式,利用芯片內部的振蕩電路;另一種方式為外部時鐘方式。(3)、復位電路模塊設計復位電路使單片機或系統(tǒng)中的其他部件處于某種確定的狀態(tài)。當在MCS-51系列單片的RST引腳處引入高電平并保持2個機器周期,單片機內部就執(zhí)行復位操作。復位操作有兩種基本形式:一種是上電復位,另一位是按鍵復位。本設計采用按鍵復位方式。3.5.2倒計時顯示及狀態(tài)指示模塊的設計倒計時顯示采用七段數(shù)碼管顯示,如下表格所示是七段顯示組合與數(shù)字對照表3-1:段碼位碼'abcdefG0HHHHHHL1LHHLLLL2HHLHHLH3HHHHLLH

4L4LHH5HLH6HLH7HHH8HHH9HHHLLHHHLHHHHHHLLLLHHHHHLHH(表中“L”表示低電位,“H”表示高電位)狀態(tài)指示采用LED數(shù)碼管,半導體數(shù)碼管又稱LED數(shù)碼管,是一種廣泛使用的顯示器件。LED有兩種:共陽極型和共陰極型。LED優(yōu)點:亮度高、字形清晰,工作電壓低(1.5?3V)、體積小、可靠性高、壽命長,響應速度極快。如圖3-10所示是硬件中的LED燈:mD16匕耳即乍LUOM壽命長,響應速度極快。如圖3-10所示是硬件中的LED燈:mD16匕耳即乍LUOM1LEP-BLUE百tDIMD9LE[>-BLUE圖3-9硬件中的LED燈3.5.2鍵盤及狀態(tài)指示顯示模塊的設計鍵盤及狀態(tài)顯示如圖3-11所示:酣氷眄mDO師酣氷眄mDO師圖3-10鍵盤及狀態(tài)顯示按下開始設置SET_KEY一下首先開始南北直行綠燈設置,可以增也可以減時間;按下SET_KEY兩下設置南北的左轉彎藍燈時間,可以增也可以減時間;按下SET_KEY三下東西直行綠燈設置,可以增也可以減時間;按下SET_KEY四下東西左轉彎藍燈設置,可以增也可以減時間;按下SET_KEY五下返回正常運行狀態(tài)。第四章軟件設計硬件平臺結構一旦確定,大的功能框架即形成。軟件在硬件平臺上構筑,完成各部分硬件的控制和協(xié)調。系統(tǒng)功能是由軟硬件共同實現(xiàn)的,由于軟件的可伸縮性,最終實現(xiàn)的系統(tǒng)功能可強可弱,差別可能很大。因此,軟件是本系統(tǒng)的靈魂。軟件采用模塊化設計方法,不僅易于編程和調試,也可減小軟件故障率和提高軟件的可靠性。同時,對軟件進行全面測試也是檢驗錯誤排除故障的重要手段。由于編程多涉及到數(shù)值運算,比較復雜,還有LCD的菜單界面設計都是需要多重選擇判斷,用我們平時常用的匯編語言編程是很難實現(xiàn)的,這里我們選用了移值性好、結構清晰、能進行復雜運算的C語言來實現(xiàn)編程。軟件總體流程圖軟件總體設計及流程圖見圖4-1,主要完成各部分的軟件控制和協(xié)調。本系統(tǒng)主程序模塊主要完成的工作是對系統(tǒng)的初始化。圖4-1總流程圖

定時器初始化定時/計數(shù)器方式寄存器TMOD相關知識如表4-1T1TOGATEC/TM1MOGATEC/TM1MOM1和M0為方式選擇位。定義如下表4-2:M1MO工作方式功能說明00方式013位計數(shù)器01方式116位計數(shù)器10方式2自動再裝入8位計數(shù)器11方式3定時器0:分成兩個8位計數(shù)器定時器1:停止計數(shù)TMOD=0x21;intChar.uiTime0=0xffff-10000;程序中用到兩個定時器,分別是TH0=intChar.ucTime0Buf[0];定時器1跟定時器0,采用了方TL0=intChar.ucTime0Buf[1];式2跟方式1,TMOD=0X21,調TR0=1;用了定時器T0和T1。定時器1TH1=0xfd;方式2定時器0方式1TL1=0xfd;TR1=1;SCON=0x50;ET0=1;ES=1;EA=1;動態(tài)顯示主要是燈跟數(shù)碼管顯示,數(shù)碼管顯示流程圖如圖4-2所示:首先是位碼初始

化然后送位碼,選位碼,位碼右移,延時,關位碼。設置狀態(tài)子程序在設置狀態(tài),按下開始設置SET_KEY一下首先開始南北直行綠燈設置,可以增也可以減時間;按下SET_KEY兩下設置南北的左轉彎藍燈時間,可以增也可以減時間;按下SET_KEY三下東西直行綠燈設置,可以增也可以減時間;按下SET_KEY四下東西左轉彎藍燈設置,可以增也可以減時間;按下SET_KEY五下返回正常運行狀態(tài)。藍燈和綠燈的時間最大可以設為79,超出79的時候會出現(xiàn)亂碼現(xiàn)象。如圖4-3所示是設置狀態(tài)子程序流程圖:圖4-3設置狀態(tài)子程序流程圖第五章系統(tǒng)調試因本設計本身要求有穩(wěn)定性高、免維護、抗干擾能力強等功能,系統(tǒng)調試除了驗證數(shù)據(jù)處理的精度,確保判斷的準確性外,同時必須確認各項的功能的正常運行。系統(tǒng)操作說明系統(tǒng)分為兩個狀態(tài):設置狀態(tài)和顯示狀態(tài)。利用鍵盤可以進行兩個狀態(tài)間的切換;開機時,系統(tǒng)為顯示狀態(tài),此時數(shù)碼管從默認的倒計時時間開始倒計時;LED燈開始有規(guī)律工作,作行車方向指示;設置狀態(tài)時利用鍵盤可以設置各路口通行倒計時時間,主次干道的通行時間可以不相等,這里我們增添了分開分別設置功能;顯示狀態(tài)時,交通燈四個led燈進行倒計時;LED發(fā)光管各組的交替指示;如果LED箭頭指示板上的綠燈亮,兩邊紅燈亮,則顯示的是通行時間;顯示過程中按鍵可以重新進入設置狀態(tài)。調試根據(jù)系統(tǒng)設計方案,本系統(tǒng)的調試共分為三大部分:硬件調試,軟件調試和軟硬件聯(lián)調。由于在系統(tǒng)設計中采用模塊化設計,所以方便了對各電路功能模塊的逐級測試,包括對:交通燈演示功能調試,倒計時功能調試,主次干道分開設置功能調試等。單片機軟件先在最小系統(tǒng)板上調試,確保工作正常之后,再與硬件系統(tǒng)聯(lián)調。最后將各模塊組合后在交道口模型上進行整體測試,使系統(tǒng)的所有功能得以實現(xiàn)。硬件調試總硬件圖如圖5-1所示:如硬件系統(tǒng)圖所示接線,圖中,在十字路口的紅、黃、綠、藍交通燈,主要是對通行方式功能調試、倒計時功能調試。包括對四種通行方式控制調試,行車方向指示燈和驅動電路調試。tPMFT1ruffln“in*rrsrjafX.VJUPZ3ur.1iPZIla-H■注;ztPMFT1ruffln“in*rrsrjafX.VJUPZ3ur.1iPZIla-H■注;z巴JId:?~?EnI:K2l3E9l應M利sslsss.1-55~-TEO嚴p5叫圖5-1總硬件圖具體仿真效果:1、如圖5-2所示正常情況下南北方向亮綠燈,東西方向亮紅燈。南北放行,東西禁行,綠燈30S,紅燈是50+3+20=63S圖5-3黃燈延時圖5-3黃燈延時3S轉下一個狀態(tài)資料.圖5-3黃燈延時圖5-3黃燈延時3S轉下一個狀態(tài)資料.■■■■wnEraEEEE.Himrivsrra^-cPH*11ra旳*arrsw-aF-2ta?P.i-irarwl=eCDEFGDPIE134;E■:Tfcir>lIDl?Rki/TkD

raafflin

puim■■■■wnEraEEEE.Himrivsrra^-cPH*11ra旳*arrsw-aF-2ta?P.i-irarwl=eCDEFGDPIE134;E■:Tfcir>lIDl?Rki/TkD

raafflin

puimF3Igirrn

rDflfTI

raaPff

Fs.nnrA圖5-2南北直行通道2、如圖5-3所示是南北直行綠燈轉為黃燈到下一個狀態(tài),黃燈3S延時:1EE5-JF~31■::<Thli:<T2JIET>WTALE口'P~H2"F-:□□Di3<°piFFii"P1UT2pi.imci:PI71EE5-JF~31■::<Thli:<T2JIET>WTALE口'P~H2"F-:□□Di3<°piFFii"P1UT2pi.imci:PI7沖P1.I-?I,F-ijSPi'SaPP3MMP111Z1]"15MEEnraEparaF3LIE?laaffmraan-TpiownhliiTT£t3、如圖5-4是南北左轉彎顯示20S:資資料.資資料.rUILADIFCL4UD-I"DWJ?AQAidKFCL7LAJV?-f.BTK-Knz-h才丄」冋■3imTOT■zig■LJJJ|:f3i6n'3~Ti''ggclls!rUILADIFCL4UD-I"DWJ?AQAidKFCL7LAJV?-f.BTK-Knz-h才丄」冋■3imTOT■zig■LJJJ|:f3i6n'3~Ti''ggclls!口怙-K-f3IWW&

PJl/TXIl

Fsz^nn

rajffTTTP34OUra^Tirairtir詠耐圖5-4南北左轉彎通道4、如圖5-5是東西直行綠燈亮50S:l書匚口EF&trIE>yr*.Li:E.LTEMREEraEBST丁WeTajue-QP.P'jllF1H72?IE"P13rrKrarararan阿:pj?E?■rFP"“口.IED

l書匚口EF&trIE>yr*.Li:E.LTEMREEraEBST丁WeTajue-QP.P'jllF1H72?IE"P13rrKrarararan阿:pj?E?■rFP"“口.IED

Fl^TITn

rxsfmREP3C/T1

ritfQH

BITT1LRP3f.lK圖5-5東西直行通道5、如圖5-6所示是東西直行綠燈轉為黃燈到下一個狀態(tài),黃燈3S延時:A嚴卜JJ-I7Z.1LAIFtD11.ipinmFI.VT2MM2PI3FldA嚴卜JJ-I7Z.1LAIFtD11.ipinmFI.VT2MM2PI3FldrijFlV,C(MDDW1K?:「巳□ihrtpwLEUBJEEilIjtSh-i1HJ1■■1TEaCFa■wX■圖5-6黃燈延時3S轉下一個狀態(tài)6、如圖5-7所示是東西左轉彎藍燈顯示,時間為12S:圖5-7東西左轉彎通道軟件調試本系統(tǒng)的軟件系統(tǒng)很大,全部用C51來編寫。除了語法差錯外,當確認程序沒問題時,通過直接下載到單片機來調試。采取的是自下到上的調試方法,即單獨調試好每一個模塊,然后再連接成一個完整的系統(tǒng),最后完成一個完整的系統(tǒng)調試。軟硬件聯(lián)調系統(tǒng)做好后,進行系統(tǒng)的完整調試。主要任務是檢驗實現(xiàn)的功能及其效果并校正數(shù)值。根據(jù)實測數(shù)據(jù),逐步校正數(shù)據(jù),使測量結果更準確。單片機軟件先在最小系統(tǒng)板上調試,確保工作正常之后,再與硬件系統(tǒng)聯(lián)調。調試心得通過交通燈的編程到硬件的實現(xiàn),我們只有充分掌握了理論知識的基礎之上才能做好。首先,判斷數(shù)碼管是共陰管還是共陽管,其次根據(jù)操作要求和自己的程序設計進行調試看是否相同。在課程設計中,我們學習到了很多的東西:首先,怎么樣去查閱資料,收集與課設要用的有關的知識。其次,要完成一件工作,還得專心致志才行,細心耐心。第三,遇到困難要冷靜,要多想解決辦法,多嘗試。通過這次課程設計,我們也進一步熟悉數(shù)字電路的設計與特點。而且讓我們了解了電路設計的基本思路,增強了實踐動手能力,理論結合實際的能力加強。除此以外,我們還深深地認識到嚴謹、認真的科學態(tài)度在科學實驗中發(fā)揮的重要作用。交通燈是本次課設中原理比較簡單的一個,但是它的組成部分多,電路連接有些復雜,出現(xiàn)問題后分析起來比較困難,所以我們養(yǎng)成了完成一個部分就調試檢驗一個部分,確保正確才進行下一步工作,出現(xiàn)了問題只要在未檢驗的部分查尋就可以很快找出,效果很不錯。此次課程設計中我投入了很大的熱情和精力,從設計電路圖,選擇元器件,使用protel99,其過程中出現(xiàn)了不少的問題,我沒有氣餒,沒有退縮,積極向同學請教,并且一遍又一遍的重復實踐,直到期望的結果實現(xiàn)。事實也證明我們的努力沒有白費,認真嚴謹?shù)膶嵙晳B(tài)度給我?guī)砹顺晒Φ南矏?!這短短一月的實踐,我感覺到自己在課本上學到的理論知識和實踐仍有一定的差距。有的知識,自己感覺已經(jīng)掌握得差不多了,但是實際操作起來就有問題出現(xiàn)了。我還遇到了不少,花費了很多的時間。這讓我們重新反思我們的學習,覺得這與自己當時不注意實驗課是分不開的。第六章設計總結本設計以單片機AT89C52為核心,以LED發(fā)光管作為直行和左右拐彎指示,以LED數(shù)碼管作為倒計時指示,以雙色LED點陣作為行人通行的指示,完成了題目要求的所有功能。在此基礎上,增設了可根據(jù)交通擁擠情況分別設置主干道和次干道的通行時間,并對系統(tǒng)機械結構進行了優(yōu)化設計。該設計很好地完成了題目的各項要求,但這與實際情況還有很大一部分差距,具體有以下幾個方面:1、出現(xiàn)緊急情況時,交通燈的控制;2、人行通道的設計沒有加進去;3、軟件中設計左轉彎是交通燈顏色的改變。雖然這些功能未能設計進去,但這一樣可以簡單實現(xiàn)交通燈的控制,該設計在確保功能實現(xiàn)的基礎上,充分考慮了控制系統(tǒng)操作方便、人性化、抗干擾能力強、可靠性高、穩(wěn)定性好等要求。本設計雖然結束了,但由于時間、設備、條件和水平等各方面因素有限,系統(tǒng)還存在一些不足,一個新系統(tǒng)最終走向成熟和完善還需要我們在以后的學習和工作中作不懈的努力!另外,在重復修改與設計的過程中,我又重新把《單片機原理與應用技術》這本書仔細的看了一下,弄懂了一些以前一知半解的東西,進一次加強和鞏固了我的理論知識。在此次課程設計過程中,我把單片機的理論知識用于實踐中,使理論與實踐相結合,使我的理論知識的到了鞏固,在查資料翻閱資料的過程中也豐富了我的知識跟閱歷。參考資料[1]胡漢才單片機原理及其接口技術[M]清華大學出版,1996[2]蔡美琴MCS-51系列單片機系統(tǒng)及其應用高等教育出版社2004.2⑶付家才單片機控制工程實踐技術[M]化學工業(yè)出版社,2004.5潘新民微型計算機控制技術[M]人民郵電出版社,1999.9余錫存單片機原理及接口技術[M]西安電子科技大學出版社,2000.7雷麗文等?微機原理與接口技術[M]電子工業(yè)出版社,1997.2蔣萬君在論循環(huán)時序電路的簡便設計J]機電一體化,2005第5期周立功增強型80C51單片機速成與實戰(zhàn)北京航空航天大學出版社2004.5何立民單片機應用技術選編⑩北京航空航天大學出版社2004.3何立民單片機應用技術選編⑨北京航空航天大學出版社2004.3何立民MCS-5系列單片機應用系統(tǒng)設計北京航空航天大學出版社,1995.[12]李華MCS-51系列單片機實用接口技術[M]北京航空航天大學出版社,1993[13張云龍.交通信號控制器的設計J].兵工自動化,2003,(04).白炳良.單片機自動控制交通信號燈J].漳州師范學院,1997,(02).譚浩強.C程序設計[M].清華大學出版社,1999年12月第2版附錄I原理圖A51O'c訕-jtaFQhtaGiiT0AT■?.1'■-■II原程序#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint//I/O口定義定義南北方向為主通道東西方向為次通道sbitCI_GREEN=P1A0;//次通道--綠燈sbitZHU_GREEN=P1A1;//主通道--綠燈sbitCI_ZUO=P1A2;//次通道--左轉sbitZHU_ZUO=P1A3;//主通道--左轉sbitCI_RED=P1A4;//次通道--紅燈sbitZHU_RED=P1A5;//主通道--紅燈sbitCI_YELLOW二PM6;//次通道--黃燈sbitZHU_YELLOW=P1A7;//主通道--黃燈sbitZHU_LED1二P3^4;sbitZHU_LED2=P3A5;sbitCI_LED1=P3A6;sbitCI_LED2=P3A7;//位變量定義bitbFlag10ms;bitbResponse;

bitbShan;bitbShan;//字節(jié)變量定義ucharucKey;ucharucNextKey;ucharucSetState,ucDispState;ucharucZhuTime,ucZhuZhuan,ucCiTime,ucCiZhuan;//主通道直行時間主通道轉彎時間次通道直行時間次通道轉彎時間ucharucZhuTimeDisp,ucCiTimeDisp;ucharucMiaoCount;ucharucShanCount;//常量定義#defineSET_KEY0xee#defineUP_KEY0xde#defineDOWN_KEY0xdducharcodeDISP_TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};////////////////////////////unionucharucTime0Buf[2];uintuiTime0;}intChar;//函數(shù)申明voidintSys();uchartestKey(void);ucharreadKey();dealKey(uchartempkey);voidStateCov(void);voiddisplay();voiddispSM(ucharx,uchary);delay();/////////////////////////////////////////////////////////////////////////voidmain(void){uchartemp;intSys();while(1){if(bFlag10ms==1){bFlag10ms=0;temp=testKey();if(temp!=0xff){ucKey=readKey();if(ucKey!=0xff){dealKey(ucKey);}}else{bResponse=0;}if(ucMiaoCount==0){ucMiaoCount=99;StateCov();}else{{{{資資料.資資料.ucMiaoCount--;}display();}}}voidtimeSer(void)interrupt1using1{TH0=intChar.ucTime0Buf[0];TL0=intChar.ucTime0Buf[1];bFlag10ms=1;}voidUARTSer(void)interrupt4using1{}資資料.資資料.*函數(shù)名:intSys*函數(shù)功能:系統(tǒng)初始化,包括內存單元、定時器、串行口、中斷voidintSys(){ucNextKey=0xff;ucSetState=ucDispState=0;ucZhuTime=20;ucZhuZhuan=18;ucCiTime=15;ucCiZhuan=12;ucMiaoCount=99;ucShanCount=19;ucDispState=0;ucCiTimeDisp=ucZhuTime+ucZhuZhuan+6;ucZhuTimeDisp=ucZhuTime;P1=0xff;ZHU_GREEN=0;CI_RED=0;ZHU_LED1=0;ZHU_LED2=0;CI_LED1=0;CI_LED2=0;bResponse=0;TMOD=0x21;intChar.uiTime0=0xffff-10000;TH0=intChar.ucTime0Buf[0];TL0=intChar.ucTime0Buf[1];TR0=1;TH1=0xfd;TL1=0xfd;TR1=1;SCON=0x50;ET0=1;ES=1;EA=1;}*函數(shù)名:testKey*函數(shù)功能:鍵盤測試函數(shù),測試鍵盤是否有鍵按下**********************************************************uchartestKey(void){資{資料.{資{資料.{資{資料.uchari;P0=0xf0;i=P0;i=i|0x0f;returni;}*函數(shù)名:readKey*函數(shù)功能:鍵盤鍵值讀取函數(shù)**********************************************************ucharreadKey(){uchari,j;P0=0xf0;i=P0;P0=0x0f;j=P0;i=i+j;if(ucNextKey==i)if(bResponse==0){bResponse=1;returni;}elsereturn0xff;}else{ucNextKey=i;bResponse=0;return0xff;}}*函數(shù)名:dealKey*函數(shù)功能:鍵盤鍵值處理函數(shù)**********************************************************dealKey(uchartempKey)資資料.資資料.caseUP_KEY:{資caseUP_KEY:{資料.switch(tempKey){caseSET_KEY:{if(ucSetState==4){ucSetState=0;ucDispState=0;ucCiTimeDisp=ucZhuTime+ucZhuZhuan+6;ucZhuTimeDisp=ucZhuTime;P1=0xff;ZHU_GREEN=0;CI_RED=0;}else{ucSetState++;}break;}switch(ucSetState){case0:{break;}case1:{if(ucZhuTime<80)ucZhuTime++;break;}case2:{if(ucZhuZhuan<80)ucZhuZhuan++;break;}case3:{if(ucCiTime<80)ucCiTime++;break;}casebreak;}case4:break;}casebreak;}case4:case1:{case1:{資料.case1:{case1:{資料.{if(ucCiZhuan<80)ucCiZhuan++;break;}}break;}caseDOWN_KEY:{switch(ucSetState){case0:{break;}if(ucZhuTime>5)break;}break;}break;}break;}資資料.資資料.ucZhuTime--;case2:{if(ucZhuZhuan>5)ucZhuZhuan--;break;}case3:{if(ucCiTime>5)ucCiTime--;break;}case4:{if(ucCiZhuan>5)ucCiZhuan--;break;}default:break;}break;}break;}break;}break;}break;}break;}break;}case0://主通道綠燈狀態(tài)結束判斷{case0://主通道綠燈狀態(tài)結束判斷{資料.case0://主通道綠燈狀態(tài)結束判斷{case0://主通道綠燈狀態(tài)結束判斷{資料.default:break;}}*函數(shù)名:stateCov*函數(shù)功能:顯示狀態(tài)轉換函數(shù)*入口參數(shù):鍵盤鍵值**********************************************************voidStateCov(void){if(ucSetState==0){switch(ucDispState){{ucZhuTimeDisp--;{ucZhuTimeDisp--;資料.{ucZhuTimeDisp--;{ucZhuTimeDisp--;資料.if(ucZhuTimeDisp==1){ucDispState++;ucZhuTimeDisp=3;}else{ucZhuTimeDisp--;ucCiTimeDisp--;}break;}case1://主通道黃燈狀態(tài)結束判斷{if(ucZhuTimeDisp==1){ucDispState++;ucZhuTimeDisp=ucZhuZhuan;}else}break;}}break;}}break;}}break;}if(ucZhuTimeDisp==1){資if(ucZhuTimeDisp==1){資料.if(ucZhuTimeDisp==1){資if(ucZhuTimeDisp==1){資料.ucCiTimeDisp--;case2://主通道左轉彎綠燈狀態(tài)結束判斷{if(ucZhuTimeDisp==1){ucDispState++;ucZhuTimeDisp=3;}else{ucZhuTimeDisp--;ucCiTimeDisp--;}break;}case3://主通道左轉彎綠燈閃爍狀態(tài)結束判斷{}}}}ucCiTimeDisp--;ucCiTimeDisp--;資料.ucCiTimeDisp--;ucCiTimeDisp--;資料.ucDispState++;ucZhuTimeDisp=ucCiTime+ucCiZhuan+6;ucCiTimeDisp=ucCiTime;else{ucZhuTimeDisp--;ucCiTimeDisp--;}break;}case4://次通道綠燈狀態(tài)結束判斷{if(ucCiTimeDisp==1){ucDispState++;ucCiTimeDisp=3;}else{ucZhuTimeDisp--;break;}break;}break;}break;}{資{資料.{資{資料.case5://次通道黃燈狀態(tài)結束判斷{if(ucCiTimeDisp==1){ucDispState++;ucCiTimeDisp=ucCiZhuan;}else{ucZhuTimeDisp--;ucCiTimeDisp--;}break;}case6://次通道左傳綠燈狀態(tài)結束判斷{if(ucCiTimeDisp==1)ucDispState++;/r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論