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

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

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

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

圖8.PCB圖

圖9.仿真圖

圖10實物圖