1.設計背景1.1開發背景隨著我國國民經濟的迅速發展和人口的快速增加,人們對各種交通車輛的需求更是越來越大,交通工具的迅猛發展以及道路資源的局限性,給城市交通帶來巨大的壓力,交通擁堵問題已成為影響現代城市可持續發展的重要因素。城市交通控制系統是用于城市交通數據監測、交通信號燈控制與交通疏導的計算機綜合管理系統,它是現代城市交通監控系統中最重要的組成部分。如何采用合適的控制方法,最大限度利用好耗費巨資修建的城市道路,緩解城市道路壓力,越來越成為交通運輸管理和城市規劃部門亟待解決的主要問題。
傳統的解決途徑主要有兩個:一是加大交通基礎設施建設的投入,但資金、土地等稀缺資源的有限性又是不可回避的問題,道路基礎設施是不可能無限擴展的;另一個就是限制交通流量,主要是通過法律和行政的手段實現。但是很顯然,傳統的方法滿足不了日益增長的交通出行,因此人們就希望通過增加技術含量的方法提高現有道路的利用率,提高道路交通的安全程度和道路使用的舒適性,所以對交通燈的智能化需求越來越迫切。
1.2發展前景 智能交通系統是將先進的信息技術、數據通訊傳輸技術、電子傳感技術、電子控制技術及計算機處理技術等有效的集成運用于整個地面交通管理系統而建立的一種在大范圍內、全方位發揮作用的實時、準確、高效的綜合交通運輸管理系統。對城市交通流進行智能控制,可以使道路暢通,提高交通效率。合理進行交通控制可以對交通流進行有效的引導和調度,使交通保持在一個平穩的運行狀態,從而避免或緩和交通擁擠狀況,大大提高交通運輸的運行效率,還可以減少交通事故,增加交通安全,降低污染程度,節省能源消耗。
交通系統作為一個時變的、具有隨機性的復雜系統,越來越多研究控制理論的學者投身到交通控制的研究中,在交通信號控制領域提出了一些新方法、新思路。如靜態多段配時控制、準動態多段配時控制、最優控制、大系統遞階控制、模糊控制、神經網絡控制,網絡路由控制等。利用模糊控制智能控制技術進行交叉口信號燈控制能取得比定時控制與感應控制更好的效果,因此模糊交通控制已經成為了交通信號控制的主流方向之一
2.設計方案2.1方案一采用標準AT89C52單片機作為控制器;通行倒計時顯示采用兩位數碼管;通行與禁行指示燈采用紅、黃、綠發光二極管;按以上系統構架設計,單片機端口資源剛好滿足要求。該系統具有電路簡單、設計方便、顯示亮度高、耗電較少以及可靠性高等特點。整體電路組成框圖如圖1所示。
圖2 采用16×16點陣LED發光管設計的交通燈控制系統(見51hei附件)
2.2方案二采用AT89C52單片機作為控制器,通行倒計時顯示采用16×16點陣LED發光管,通行與禁行指示燈也采用16×16點陣雙色LED發光管。該系統設計框架如圖2所示。列驅動采用74LS595以實現串行端口擴展,行驅動采用4/16譯碼器74LS154動態掃描,譯碼器74LS154生成16條行選通信號線,通過驅動器驅動對應的行線。每條行線上需要較大的驅動電流,應選用大功率三極管作為驅動管。這種設計方案圖案顯示逼真,單片機占用端口資源少;缺點是需要大量的硬件,電路復雜,耗電量大。因此在模型制作中較少采用此方案。
2.3方案三采用AT89S51單片機作為控制器,通行倒計時及通行與禁行指示采用單塊LCD液晶點陣顯示器。這種設計方案占用單片機的端口最少,硬件也少,耗電也最小,顯示圖案也很精美,但亮度太暗,晚上還得開背光燈,所以也較少采用。
綜上所述,方案一具有綜合設計優點,因此交通燈控制系統模型采用方案一設計。
3. 方案實施3.1設計內容此次設計的交通燈系統可分為三個模塊:電源模塊,單片機的最小系統模塊以及顯示模塊。
1.電源模塊
電源模塊是用來給單片機的工作提供電源的,此次設計的電源模塊需要為單片機工作提供+5V的固定穩壓直流電壓,主要是用三端穩壓器7805來實現的。
該模塊包括三部分電路:整流電路,濾波電路,穩壓電路。整流電路的目的是將不能直接給單片機提供工作電源的交流電轉化成能為單片機提供電源的直流電。本電路中選用的是橋式整流,是通過KBP206G–BP整流橋來實現的。濾波電路是用來對整流電路輸出的電壓進行處理,整流電路輸出的直流電壓中脈動成分比較大,所以需要經過濾波電路的處理。本電路中選用的是電容濾波,是通過電容并聯來實現的。穩壓電路是指在輸入電壓、負載、環境溫度、電路參數等發生變化時仍能保持輸出電壓恒定。為了保證單片機能長時間持續穩定的工作,就需要有相對穩定的可用電源。本次設計中選用固定三端穩壓器7805來實現穩壓電路的工作。設計完成的電源模塊原理圖及仿真圖如

圖3.電源模塊仿真圖
2.單片機的最小系統模塊
最小系統模塊包括三部分:單片機,復位電路,晶振電路。
晶振電路的作用是為系統提供基本的時鐘信號。它結合單片機內部的電路,產生單片機所必須的時鐘頻率,單片機的一切指令的執行都是建立在這個基礎上的,晶振的提供的時鐘頻率越高,單片機的運行速度也就越快。在該設計中,我們選用的是11.0592MHz的晶振振蕩器,且采用的是內部震蕩的典型電路。
復位電路的第一功能是上電復位,它是一種用來使電路恢復到起始狀態的電路設備,可以確保單片機系統中電路穩定可靠工作。它的優勢在于一是在給電路通電時馬上進行復位操作,二是在必要時可以由手動操作,三是根據程序或者電路運行的需要自動地進行。在本次設計中,我們選用的是手動按鈕復位,復位電路用電阻和電容組合就可以實現了。
本次設計用到的單片機型號為AT89S51,是一個低功耗,高性能CMOS8位單片機,片內含4kB的可反復擦寫1000次的Flash只讀程序存儲器。它有32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。

圖4.復位電路 圖5.引腳圖
AT89S51單片機有40個引腳下邊簡單介紹一下這40個引腳的功能。
①電源引腳2個
VCC:供電電壓
GND:接地
②時鐘引腳2個
XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。用片內振蕩器時,該腳接外部石英晶體和微調電容。外接時鐘源時,該腳接外部時鐘振蕩器的信號。
XTAL2:來自反向振蕩器的輸出。當使用片內振蕩器,該腳連接外部石英晶體和微調電容。當使用外部時鐘源時,本腳懸空。
③控制引腳(4個并行I/O口引腳P0、P1、P2、P3,RST,ALE/PROG,PSEN,EA/VPP)
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,作輸入,P1口被外部下拉為低電平時,將輸出電流。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,作為輸入。并因此作為輸入時,將輸出電流。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容,在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流。
I/O口作為輸入口時有兩種工作方式:讀端口,讀引腳。
RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。
PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。
EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
以上就是對AT89S51單片機引腳的介紹。
3.顯示模塊
通過I/O端口的輸入和輸出實現對數碼管和LED燈的控制。
3.2 方案執行 基于以上方案原理及設計,我們用Altium Designer軟件設計了原理圖并生成了PCB圖,用Proteus軟件進行了仿真。
Altium Designer軟件實現了原理圖設計、電路仿真、PCB繪制編輯、拓撲邏輯自動布線、信號完整性分析和設計輸出等技術的完美融合,可以為設計者提供全新的設計解決方案。因此,在本次設計中我們也選擇用該軟件來進行原理圖的設計。原理圖如圖7所示,PCB圖如圖8所示
Proteus軟件可完成從原理圖布圖、PCB設計、代碼調試到單片機與外圍電路的協同仿真,真正實現了從概念到產品的完整設計,是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺。Proteus軟件可以支持主流單片機系統的仿真圍芯片,還可以提供軟件調試功能,具有全速、單步、設置斷點等調試功能,同時可以觀察各變量以及寄存器等的當前狀態,并支持第三方編譯和調試環境,因此,我們選用Proteus軟件來實現本次設計的仿真。仿真圖如圖9
在完成原理圖設計,轉成PCB圖,完成仿真之后,需要進行程序的寫入。寫程序用的是C語言,程序見附錄,程序結構框架如圖6所示

圖6.程序結構框圖
3.3制版與調試 以電子線路為基礎的各種電子產品在安裝完成后一般都要進行調試,才能正常地進行工作。在調試過程中常常會出現各種電路故障,經過檢測、排查,才能準確地排除故障。調試主要是包括調整和測試兩個部分。
調整主要是對電路參數的調整。一般是對電路中可調元器件,例如電容、電感等部分進行調整,使電路功能達到預期的效果。測試主要是對電路的各項技術指標和功能進行測試和檢查,并與設計要求的性能指標相比較,以確定電路是否能實現預期的功能。
調試和調測試是相互依賴、互相補充的,統稱為調試。由于在實際工作中,二者是一項工作的兩個方面。經測試、調整、再測試、再調整,直到實現電路要求的設計指標為止。能夠采用適當的方法查找、判斷和確定故障的具體部位及其原因,是故障檢測的關鍵。
在應用中,我們檢測電子線路故障經常采用觀察法。觀察法又分為靜態觀察法和動態觀察法。所謂靜態觀察法就是在電子線路通電前通過目視檢查找出某些故障。主要檢查焊點是否虛焊、導線接頭是否接好、接插件是否松脫、管腳是否插錯方向或折彎等。當靜態觀察沒有發現異常時,可進一步采用動態觀察法。
動態觀察法又稱通電觀察法,即給電路通電后,通過觀察電路內有無打火,冒煙現象,或是聞到電路內有無燒焦、燒糊的異味;手觸摸一些器件有無發燙。發現異常立刻斷開電源。由通電觀察,可以確定故障原因,但大部分情況下并不能確認故障的確切位置。
4. 結果與結論 預期的結果是該交通燈不僅可以實現指示燈三個狀態的轉換和倒計時的顯示,而且可以根據實際情況隨時手動,實現東西與南北方向的禁行與通行,且東西、南北方向的禁行與通行時間可靈活調整。按下復位鍵,系統可以恢復到初始狀態進行工作,按下東西方向的通行鍵,東西方向可以通行,按下南北方向的通行鍵南北方向可以通行。理想和現實還是有差距的,完成焊接和調試之后,經過簡單的觀察和調試,并沒有發現電路板上有開路和短路現象,接通電源之后,紅黃綠三個狀態的指示燈相互轉化,復位鍵可以正常工作,但是數碼管并沒有實現倒計時計數,沒有得到預期的結果。電路板成品圖如圖10所示
5.收獲與致謝通過這次的課程設計,我們進一步了解和掌握了單片機的應用和工作原理,同時也鞏固了C語言編程,熟悉了Altium Designer軟件的操作,熟悉了原理圖的設計和PCB圖的生成,更重要的是接觸到了Proteus軟件,又學到了一些新的知識,在這次的課程設計中,既鞏固了原來學過的舊知識,同時也接觸到了新的知識;既學到了知識,也鍛煉了自己的動手能力,同時也加強了學生與學生之間的配合,融洽了師生之間的關系。同時也在告訴我們學無止境,要多多的去嘗試新的知識,接受新的事物。讓我們能在融洽的環境中學到知識,也不斷成長。特別感謝學院和老師們能為我們提供這么好的學習條件,讓我們能在融洽的環境中學到知識,也不斷成長。感謝老師的指導和同學的幫助,雖然課程設計的結果不盡人意,但是從中受益無窮。
6. 參考文獻[1] 張毅剛.單片機原理及接口技術[M] .哈爾濱:哈爾濱工業大學出版社,1990.
[2] 李廣弟.單片機基礎[M] .北京:北京航空航天大學出版社,1992.
[3] 譚浩強.單片機課程設計[M] .北京:清華大學出版社,1989.
[4] 先鋒工作室.單片機程序設計實例[M] .北京:清華大學出版社,2003.
7. 附件7.1附錄1元器件清單
7.3 附錄3圖7.原理圖

圖8.PCB圖

圖9.仿真圖

圖10實物圖