
完整的設計資料下載:
http://www.zg4o1577.cn/bbs/dpj-76749-1.html
目錄 一、緒 論 1.1交通信號燈的發展及研究意義 1.2現在城市路口交通燈控制技術現狀 1.3方案的設計與論證 1.3.1電源提供方案 1.3.2顯示界面方案 二、系統硬件設計 2.1總體設計 2.2 單片機的基本結構 2.3單片機外圍電路設計 2.3.1復位電路設計 2.3.2外部晶振時鐘電路設計 2.3.3 顯示模塊電路設計 三、交通信號燈控制系統的設計 3.1 十字路口交通信號燈具體的控制要求 四、交通信號燈控制系統程序編制 4.1 軟件設計應用環境 4.2 軟件設計流程 五、結論 參考文獻 附件一:總體原理圖 附件二:源程序代碼
摘要 隨著社會主義的建設,城市的規模在不斷擴大,城市的交通也在不斷的提高和改進,交通的順暢已經成為制約社會主義建設的一個重要因素。目前,伴隨著機動車輛的不斷增加,尤其是十字路口的交通建設頗為關鍵,嚴重的影響到城市交通安全。社會主義建設以來,有許許多多的設計工作者投身于十字路口交通建設的研究之中,創造和設計出了很多新型的方案,把我國交通建設推向了更高的發展階段。 當前,十字路口都采用了信號燈來控制車輛和人的通行,不僅便于維護管理,而且有較強的自動化。大量的信號燈電路正向著數字化、小功率、多樣化、方便人、車、路三者關系的協調,多值化方向發展隨著社會經濟的發展,城市交通問題越來越引起人們的關注。它的出現使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現這井然秩序呢?靠的就是交通信號燈的自動指揮系統。交通信號燈控制方式很多。 本系統采用單片機AT89S52來設計交通燈控制器,實現了能根據實際車流量通過AT89C51芯片的P0口設置紅、綠燈燃亮時間的功能;紅綠燈循環點亮,倒計時剩5秒時綠燈閃爍警示,剩2秒時黃燈亮起。本系統實用性強、操作簡單、擴展功能強。 關鍵詞: AT89C51單片機;交通燈;倒計時;時間顯示 一、緒 論1.1交通信號燈的發展及研究意義當今,紅綠燈安裝在各個道口上,已經成為疏導交通車輛最常見和最有效的手段,這一技術已經有相當長的發展歷史了。 1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。 電氣啟動的紅綠燈出現在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。 1918年,又出現了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變為綠燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變為綠燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發生交通事故。 又經過前人的設計和改造,交通信號燈終于普及整個城市的十字路口。 交通信號燈的出現,使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果,更改變了交警輪流指揮和疏散交通擁擠的現狀,實現了人,車,路三者的同步協調。現階段,許多設計工作者又設計出許多智能化,自動化,數字化等更先進的交通燈控制方案,這更方便于維護管理,給人們提供了更加便利的交通環境。 目前,城市規模還在不斷的擴大,人們對交通信號燈的控制也越來越高,我們需要更高層次的去了解交通信號燈,結合城市十字路口交通的需要,不斷地去創新,才能達到發展的需求,所以研究交通信號燈的極為重要。 1.2現在城市路口交通燈控制技術現狀 隨著城市機動車量的不斷增加,許多大城市出現了交通超負荷運行的情況,因此,自80年代后期,這些城市紛紛修建城市高速道路,在高速道路建設完成的初期,它們也曾有效地改善了交通狀況。然而,隨著交通量的快速增長和缺乏對高澎路的系統研究和控制,高速道路沒有充分發揮出預期的作用。而城市高速道路在構造上的特點,也決定了城市高速道路的交通狀況必然受高速道路與普通道路藕合處交通狀況的制約。所以,如何采用合適的控制方法,最大限度利用好耗費巨資修建的城市高速道路,緩解主干道車流量繁忙的交通擁堵狀況,越來越成為交通運輸管理和城市規劃部門待解決的主要問題。 1.3方案的設計與論證本設計以單片機為核心,以LED數碼管作為倒計時指示,根據設計的要求我們考慮了各功能模塊的幾種設計方案,以求最佳方案,實現實時顯示系統各種狀態,系統還增設了根據交通擁擠情況可分別設置主干道和次干道的通行時間,以提高效率,緩減交通擁擠。系統總體設計框圖如圖所示。 交通燈控制的框圖如下圖1.1所示,主要有控制電路、按鍵電路、晶振電路、復位電路、顯示電路、電源電路等電路組成。
220144trmn1qp36nrppzum.png (9.43 KB, 下載次數: 43)
下載附件
2017-2-12 22:46 上傳
圖1.1 交通燈控制框圖 1.3.1電源提供方案為使模塊穩定工作,須有可靠電源。本次設計考慮了兩種電源方案: 方案一:采用獨立的穩壓電源。此方案的優點是穩定可靠,且有各種成熟電路可供選用;缺點是各模塊都采用獨立電源,會使系統復雜,且可能影響電路電平。 方案二:采用單片機控制模塊提供電源。該方案的優點是系統簡明扼要,節約成本;缺點是輸出功率不高。 綜上所述,選擇第二種方案。 1.3.2顯示界面方案該系統要求完成倒計時功能;谏鲜鲈,本次設計考慮了兩種方案: 方案一:完全采用點陣式LED顯示。這種方案功能強大,可方便的顯示各種英文字符,漢字,圖形等,但實現復雜,且須完成大量的軟件工作。 方案二:完全采用數碼管顯示。這種方案優點是實現簡單,可以完成倒計時功能。缺點是功能較少,只能顯示有限的符號和數碼字符。根據本設計的要求,方案二已經滿足了要求,所以本次設計采用方案二以實現系統的顯示功能。 1.3.3輸入方案 這里同樣討論了兩種方案: 方案一:采用8155擴展I/O口、鍵盤及顯示等。該方案的優點是使用靈活可編程,并且有RAM及計數器。若用該方案,可提供較多I/O口,但操作起來稍顯復雜。 方案二:直接在I/O口線上接上按鍵開關。因為設計時精簡和優化了電路,所以剩余的端口資源還比較多。 由于該系統是對交通燈及數碼管的控制,只需用單片機本身的I/O口就可實現,且本身的計數器及RAM已經夠用,故選擇方案二。 二、系統硬件設計硬件設計是整個系統的基礎,要考慮的方方面面很多,除了實現交通燈基本功能以外,主要還要考慮如下幾個因素:①系統穩定度;②器件的通用性或易選購性;③軟件編程的易實現性;④系統其它功能及性能指標;因此硬件設計至關重要。現從各功能模塊的實現逐個進行分析探討。 2.1總體設計 本設計以單片機為控制核心,采用模塊化設計,共分以下幾個功能模塊:單片機控制系統、鍵盤及狀態顯示、倒計時模塊等。 單片機作為整個硬件系統的核心,它既是協調整機工作的控制器,又是數據處理器。它由單片機振蕩電路、復位電路等組成。 系統采用雙數碼管倒計時計數功能,最大顯示數字99。 2.2 單片機的基本結構 AT89S51單片機是一款低功耗、低電壓、高性能CMOS8位單片機,片內含8KB(可經受1000次擦寫周期)的FLASH可編程可反復擦寫的只讀程序存儲器(EPROM),器件采用CMOS工藝和ATMEL公司的高密度,非易失性存儲器(NURAM)技術制造,其輸出引腳和指令系統都與MCS-51兼容,片內的FLASH存儲器允許在系統內可改編程序或用常規的非易失性存儲編程器來編程。因此,AT89C51是一種功能強,靈活性高且價格合理的單片機,可方便的應用在各個控制領域[1]。 AT89S51具有以下主要性能: 1.8KB可改編程序FLASH存儲器; 2.全表態工作 :0~24HZ; 3.256X8字節內部RAM; 4.32個外部雙向輸入,輸出(I、O)口; 引腳說明如圖2.1。
1.012.jpg (35.6 KB, 下載次數: 54)
下載附件
2017-2-12 22:46 上傳
圖2.1 AT89C5單片機 引腳功能說明如下[2]: VCC:電源電壓。 GND:地。 P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數據線復用口。作為輸出口時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端。 在訪問外部數據儲存器或程序儲存器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。FLASH編程時,P0口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。 P1口:P1是一個帶內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作為輸入口。作為輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。FLASH編程和程序校驗期間,P1接收低8位地址。 P2口:P2是一個帶內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作為輸入口。作為輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序儲存器或16位地址的外部數據儲存器(例如執行MOVX@DPTR指令)時,P2口送出高8位地址數據。在訪問8位地址的外部數據儲存器(例如執行MOVX@RI指令)時,P2口線上的內容(也即特殊功能寄存器(SFR)區中R2寄存器的內容),在整個訪問期間不改變。P3口:P3是一個帶內部上拉電阻的8位雙向I/O口,P3的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作為輸入口。作為輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。 P3除了作為一般的I/O口線外,更重要的用途是它的第二功能,具體功能說明如表2-1。 P3口還接收一些用于FLASH閃速存儲器編程和程序校的控制信號。 RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位 ALE/PROG:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節。 即使不訪問外部存儲器,ALE仍以是時鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此他可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。 如有必要,可通過對特殊功能寄存器(SFR)區中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令ALE才會被激活。此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ALE無效。 PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT80C51由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數據存儲器,這兩次有效的PSEN信號不出現。 EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序儲存器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需要注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態。如EA端為高電平(Vcc端),CPU則執行內部程序儲存器中的指令。 FLASH儲存器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12v編程電壓。 XTAL1:振蕩器反相放大器的及內部時鐘發生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端 2.3單片機外圍電路設計2.3.1復位電路設計 MCS-51的復位輸入引腳RST為MCS-51提供了初始化的手段,可以使程序從指定處開始執行,在MCS-51的時鐘電路工作后,只要RST引腳上出現超過兩個機器周期以上的高電平時,即可產生復位的操作,只要RST保持高電平,則MCS-51循環復位,只有單RET由高電平變成低電平以后,MCS-51才從0000H地址開始執行程序,本系統采用按鍵復位方式的復位電路如圖2.2。
0.png (8.24 KB, 下載次數: 55)
下載附件
2017-2-12 22:47 上傳
圖2.2復位電路 2.3.2外部晶振時鐘電路設計MCS-51的時鐘可以由兩種方式產生,一種是內部方式,利用芯片內部的振蕩電路;另外一種為外部方式,本論文根據實際需要和簡便,采用內部振蕩方式,如圖2.3,MCS-51內部有一個用于構成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個放大器與作為反饋元件的片外晶體或陶瓷諧振器一起構成了一個自激振蕩器。 MCS-51雖然有內部振蕩電路,但要形成時鐘,必須外接元件,所以實際構成的振蕩時鐘電路,外接晶振以及電容C1和C2構成了并聯諧振電路接在放大器的反饋回路中,對接電容的值雖然沒有嚴格的要求,但電容的大小會影響振蕩頻率的高低,振蕩器的穩定性,起振的快速性和溫度的穩定性。晶振的頻率可在1.2MHZ~12MHZ之間任選,電容C1和C2的典型值在20pf~100pf之間選擇,由于本系統用到定時器,為了方便計算,采用了12MHZ的晶振,采用電容選擇30pf。
1.014.jpg (13.29 KB, 下載次數: 59)
下載附件
2017-2-12 22:46 上傳
圖2.3 晶振電路 2.3.3 顯示模塊電路設計該模塊由共陽LED數碼管組成,利用數碼管的動態掃描原理,由三極管進行鎖存,當控制數碼管的IO口P20和P21為低電平時(及三極管基極為低電平),則三極管導通,VCC通三極管給數碼管供電,則數碼管被點亮,利用數碼管點亮的余輝和人眼的視覺暫留原理,則看起來數碼管是同時被點亮的。
1.015.jpg (24.62 KB, 下載次數: 59)
下載附件
2017-2-12 22:46 上傳
從設計完成的任務與要求來看,顯示通行時間必須用二位數碼管,從節省硬件資源的角度考慮,可采用掃描的方式來處理,對于7段數碼管,占用7個單片機的I/O口,另外設置2個電子開關對2位顯示進行配合,占用2個I/O端口,十字路口共需4組紅綠燈,加上轉換黃燈,一共是12只燈,須用12個端口進行控制,加上兩個方向的緊急通行按鈕,占2個I/O端口和一個蜂鳴器端口,因此實際占用的單片機I/O口為24個,為此,我們可以選用51系列單片機中的ATAT89S51來作為中央處理器。這款單片機的I/O口作為輸出時,具有較大的吸收電流能力,因此我們可以選用共陽型數碼管,這樣由單片機的I/O口就可以直接驅動,能簡化硬件電路的設計。 三、交通信號燈控制系統的設計 交通信號燈由紅燈、綠燈、黃燈組成。紅燈表示禁止通行,綠燈表示準許通行,黃燈表示警示。交通信號燈分為機動車信號燈、非機動車信號燈、人行橫道信號燈、車道信號燈、方向指示信號燈、閃光警告信號燈、道路與鐵路平面交叉道口信號燈。交通信號燈用于道路平面交叉路口,通過對車輛、行人發出行進或停止的指令,使各同時到達的人、車交通流盡可能減少相互干擾,從而提高路口的通行能力,保障路口暢通和安全。因此必須合理的設計路口主干道的系統。 3.1 十字路口交通信號燈具體的控制要求 (1) 交通信號燈分布于東南西北,每個路口均有三個。南北方向綠燈和東西方向的綠燈不能同時亮;如果同時亮,則應自動立即關閉信號燈系統,并立即發出報警信號。系統工作后,首先南北紅燈亮并維持30s;與此同時,東西綠燈亮,并維持25s時間,到25s時,東西綠燈熄滅。在東西綠燈熄滅時,東西綠燈閃爍并維持3s,然后東西黃燈熄滅,東西紅燈亮,同時南北紅燈熄滅,南北綠燈亮;東西紅燈亮并維持30s;與此同時,南北綠燈亮并維持15s;然后,南北綠燈熄滅南北綠燈熄滅時,南北黃燈亮維持2s后熄滅;同時南北紅燈亮,東西綠燈亮。至此,結束一個工作循環,如下交通信號燈變化表如圖3.1:
1.016.jpg (32.35 KB, 下載次數: 63)
下載附件
2017-2-12 22:46 上傳
圖3.1 交通變化表 (2)在交通信號燈亮和閃爍的同時,路口設有兩位七段碼的顯示器倒數計時,讓車輛行人能夠清楚地知道再過多久信號燈就會發生變化。以便于司機和行人能夠在有限的時間內準確的通行。
四、交通信號燈控制系統程序編制 4.1 軟件設計應用環境本設計軟件的設計是在Keil C51的環境下編譯的。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。C語言有以下特點: 1、語言簡潔、緊湊、使用方便、靈活。C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示,壓縮了一切不必要的成分。 2、運算符豐富。C的運算符包含的范圍很廣泛,共有34種運算符,使得C的運算類型極其豐富,表達式類型多樣化,靈活使用各種運算符可以實現在其他高級語言中難以實現的運算。 3、數據結構豐富,具有現代化語言的各種數據結構,能用來實現各種復雜的數據結構的運算。 4、具有結構化的控制語句,用函數作為程序的模塊單位,便于實現程序的模塊化。 5、語法限制不太嚴格,程序設計自由度大。 6、C語言能進行位操作,能實現匯編語言的大部分功能,可以直接對硬件進行操作。因此,C既具有高級語言的功能,又具有低級語言的許多功能,可用來寫系統軟件。C語言的這種雙重性,使它既是成功的系統描述語言,又是通用的程序設計語言。 7、生成目標代碼質量高,程序執行效率高。 8、用C語言寫的程序可移植性好;旧喜挥眯薷木湍苡糜诟鞣N型號的計算機和各種操作系統。 對操作系統和系統實用程序以及需要對硬件進行操作的場合,用C語言明顯地優勢于其他高級語言,有的大型應用軟件也用C語言來編寫。 4.2 軟件設計流程軟件總體設計主要完成各部分的軟件控制和協調。本系統主程序模塊主要完成的工作是對系統的初始化,發送顯示數據,同時對鍵盤進行掃描,等待外部中斷,以及根據所需要的功能進行相應的操作。
220213whrsugr6x7xzpjyv.png (15.58 KB, 下載次數: 52)
下載附件
2017-2-12 22:46 上傳
220230pqusrjaicsarq319.png (5.94 KB, 下載次數: 55)
下載附件
2017-2-12 22:46 上傳
4.3交通燈定時器模塊 AT89C52單片機內部有3個定時器T0,T1和T2,本次設計中使用T0工作在方式1,即16位定時器,定時50ms,20次中斷產生秒信號,從而控制紅綠燈的點亮時間。 工作方式寄存器TMOD用來設置T0、T1的工作方式。這次實習中設置TMOD=0x01,即T0工作于方式0(16位定時器)。 內部定時器/計數器用作定時器時,是對機器周期計數,每個機器周期的長度是12個振蕩周期。定時常數的設置可用一下方式計算: 機器周期=12/12MHz=1us (65536-定時常數)*1.0us=50ms 所以定時常數是50000。
五、結論本論文介紹了一種基于AT89C51單片機的交通燈的設計方法,本論文完成了系統的硬件設計與制作,詳細介紹了系統硬件設計的過程,并結合軟件系統完成了整個系統的軟、硬件聯調,系統工作良好,實現了基本功能。完成了東西南北紅綠燈的指示,同時我們增添了東西南北等待時間具有時間差的功能,更好的仿真,模擬了實際情況中的交通指示燈。 由于時間緊張,這次課設也有許多不足的地方,比如倒計時時間調整復雜,人機交互性較差,錯按按鍵會使系統崩潰等等,這些問題都是我們沒有解決的,希望以后有時間可以更加完善我們的課題。 參考文獻 [1]劉鯤,孫春亮.單片機C語言入門.人民郵電出版社,2008年4月第一版 [2]王守中.51單片機開發入門與典型實例.人民郵電出版社,2007年8月第一版 [3]樓然苗,李光飛.北京航空航天大學出版社.2012年2月第二版 [4]肖婧.單片機入門與趣味實驗設計.北京航空航天大學出版社,2008年4月第一版 [5]陳忠平.基于Proteus的51系列單片機設計與仿真.中國工信出版社,電子工業出版社,2005年9月第一版 [6]許維鎣,鄭榮煥.Proteus電子電路設計及仿真.電子工業出版,2014年2月第二版 [7]萬良生.單片機在城市智能交通燈控制中的應用.研究與討論,2014年9月 [8] 孫曉燕.基于8051單片機的交通燈控制系統設計與模擬[J].南寧職業技術學院學報,2007年03期. [9] 陳毅,許飛,王學飛.基于單片機的交通燈智能控制系統[J].中國高新技術企業,2009年第15期. [10]YX.Single microcomputer principle application and interface technology[M].Beijing:National DE——fence Industry Press,1993 [11]XIYB.GUJ.The summarization for technology of dis-tributed networked measurement JI.Chinese Journal of Scientific Instrument,2002(S3):212--216 附件一:總體原理圖
1.043.jpg (79.44 KB, 下載次數: 62)
下載附件
2017-2-12 22:46 上傳
|