基于單片機(jī)交通控制燈的設(shè)計與實(shí)現(xiàn)(含有程序).doc_第1頁
基于單片機(jī)交通控制燈的設(shè)計與實(shí)現(xiàn)(含有程序).doc_第2頁
基于單片機(jī)交通控制燈的設(shè)計與實(shí)現(xiàn)(含有程序).doc_第3頁
基于單片機(jī)交通控制燈的設(shè)計與實(shí)現(xiàn)(含有程序).doc_第4頁
基于單片機(jī)交通控制燈的設(shè)計與實(shí)現(xiàn)(含有程序).doc_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

畢業(yè)論文(設(shè)計) 題 目 單片機(jī)交通控制燈設(shè)計與實(shí)現(xiàn) 院 系 電子信息學(xué)院 單片機(jī)交通控制燈設(shè)計與實(shí)現(xiàn)電力系統(tǒng)及其自動化專業(yè) 【摘 要】交通紅綠燈是建設(shè)在各個要塞路口的系統(tǒng),用于指揮人和車安全有序的通過十字路口,是保證道路暢通的重要手段;隨著我經(jīng)濟(jì)的快速發(fā)展,物流業(yè)的快速發(fā)展,車流量不斷增加;導(dǎo)致交通堵塞成為人們暢通出行的主要問題。因此開發(fā)出智能、可靠、廉價的控制系統(tǒng)成為當(dāng)前的主要問題。 隨著科技的快速發(fā)展,單片的測控地位不斷加深。根據(jù)目前的需求,提出以單片機(jī)為控制核心的紅綠燈系統(tǒng)。單片機(jī)的交通燈控制系統(tǒng)主要由STC89C51單片機(jī)、LED紅綠燈指示、8段數(shù)碼管倒計時、緊急情況按鍵處理模塊組成。本系統(tǒng)除了基本交通燈功能外,還具有通行時間手動設(shè)置、可倒計時顯示、夜間模式、發(fā)生緊急事件車輛綠色通道等相關(guān)功能。通過電路仿真證明該系統(tǒng)能夠簡單、經(jīng)濟(jì)、有效地疏導(dǎo)交通,提高交通路口的通行能力。 【關(guān)鍵詞】單片機(jī) 交通紅綠燈 LED 定時計數(shù) 數(shù)碼管Microcontroller Design And Implementation Of Traffic Control Lights【Abstract】traffic lights building fortress junction system for command and the car safe and orderly through the crossroadsis an important means to ensure that the roads are wider; With the rapid economic development of the logistics industry rapid development,the traffic volume is increasing; cause traffic jams, smooth travel. Therefore developed a smart, reliable, low-cost control system become the main problem.With the rapid development of science and technology, measurement and control of the monolithic status continues to deepen. According to the current demand, a microcontroller as the core control traffic lights system. The the microcontroller traffic light control system mainly by the STC89C51 microcontroller, LED traffic light indicator, LED countdown, an emergency button processing module. In addition to basic traffic lights, the system also has the access time manually set the countdown display, night mode, the occurrence of the green channel of the emergency vehicles and other related functions. Simulation results show that the system can be simple, economic, effectively ease traffic congestion, improve traffic junction capacity. 【Key Words】 single-chip traffic lights LED Timer counter Digital tube目錄1 緒論11.1 交通燈歷史背景11.1.1交通燈的定義11.1.2 交通燈的發(fā)展歷史11.2 研究交通燈的意義21.3 研究內(nèi)容22系統(tǒng)的方案與論證32.1 設(shè)計任務(wù)32.2系統(tǒng)總體設(shè)計方案52.2.1 系統(tǒng)控制模塊52.2.2 系統(tǒng)顯示模塊52.2.3 系統(tǒng)按鍵模塊62.2.4 顯示驅(qū)動模塊62.2.5 系統(tǒng)電源模塊63 原理簡介63.1 STC89C51單片機(jī)簡介63.1.1 STC89C51單片機(jī)引腳功能73.1.2 控制引腳83.1.3 輸入/輸出引腳83.2 單片機(jī)最小系統(tǒng)93.2.1 時鐘電路93.2.2.復(fù)位電路103.2.3 顯示原理103.3 74HC245簡介114 系統(tǒng)硬件設(shè)計134.1 系統(tǒng)的總構(gòu)成134.2 系統(tǒng)總電路145 系統(tǒng)軟件設(shè)計155.1 主函數(shù)流程圖155.2 子函數(shù)程序流程圖155.2.1 外部中斷155.2.2 定時器中斷166 調(diào)試186.1 軟件調(diào)試186.2 硬件調(diào)試18參考文獻(xiàn)19附錄20程序20系統(tǒng)實(shí)物圖30致謝311 緒論1.1 交通燈歷史背景1.1.1交通燈的定義交通信號指示燈一般由紅燈、黃燈、綠燈組成;紅燈表示禁止通行;綠燈表示允許通行、黃燈表示警示的含義。依據(jù)其形式、用途不同分為機(jī)動車信號燈、非機(jī)動車信號燈、人行橫道信號燈、車道信號燈、方向指示信號燈、閃光警告信號燈、道路與鐵路交叉道口信號燈等。1.1.2 交通燈的發(fā)展歷史十九世紀(jì)中葉,當(dāng)時包括英國在內(nèi)的部分歐洲國家已經(jīng)普及了馬車,但卻并沒有指導(dǎo)行人與馬車通行的信號指示設(shè)備,因此無論是在山間小路還是市中心的繁華大道上,馬車軋人的事故經(jīng)常出現(xiàn),這不僅對行人的安全造成了危害,更會經(jīng)常造成交通混亂、擁堵的現(xiàn)象。1868年12月10日,歷史上第一盞交通信號燈出現(xiàn),在這盞燈下必須要站立一名手持長桿的警察,通過皮帶拉拽提燈進(jìn)行顏色的轉(zhuǎn)換,后來還在這盞信號燈的中間加裝了紅、綠兩色的燈罩,前面有紅、綠兩塊玻璃交替進(jìn)行遮擋,白天不點(diǎn)亮煤氣燈,僅以紅、綠燈罩的切換引導(dǎo)人們前進(jìn)或停止,夜晚則將煤氣燈點(diǎn)燃,照亮紅、綠兩色燈罩。1869年1月2日,僅僅誕生23天的第一盞交通信號燈便突然爆炸損毀了,但這個僅有23天生命的信號燈卻點(diǎn)燃了整個歐洲乃至整個世界開發(fā)交通信號燈的激情,不久之后,各式各樣的交通信號燈便如雨后春筍般出現(xiàn)了。在“后煤氣信號燈”時代,有些歐洲國家開始在道路上設(shè)置執(zhí)勤警察以及可翻轉(zhuǎn)的標(biāo)識。1912年,美國鹽湖城一名叫做Lester Wire的警員發(fā)明了第一盞電動交通信號燈。1914年8月5日,美國交通信號燈公司在Lester Wire發(fā)明的交通信號燈基礎(chǔ)上進(jìn)行了改進(jìn),并在頂部安裝了一個蜂鳴器。1917年,美國鹽湖城街道上首次出現(xiàn)了相互關(guān)聯(lián)的交通信號系統(tǒng),由一個崗?fù)?nèi)的警員統(tǒng)一控制顏色的轉(zhuǎn)換。1920年,美國密歇根州底特律一位名叫William Potts的警官在當(dāng)時交通信號燈的基礎(chǔ)上再次進(jìn)行了改進(jìn),研制出了一種四面三燈的多功能交通信號燈,這種信號燈共分為四面,每面均豎立排列三盞燈,當(dāng)時它的排列形式與功能已經(jīng)與我們現(xiàn)在所熟知的信號燈大同小異,紅燈與綠燈表示停止與通過,黃燈則表示“謹(jǐn)慎”。1922年3月,Garrett Morgan發(fā)明了一種完全獨(dú)立的手搖式交通信號系統(tǒng)。 1936年,在澳大利亞墨爾本的道路上出現(xiàn)了一種名為Marshalite的交通信號指示系統(tǒng)。1963年,加拿大多倫多市的街道上第一次出現(xiàn)了一套用計算機(jī)芯片控制的完整交通信號系統(tǒng)。上世紀(jì)90年代,美國部分地區(qū)開始引進(jìn)帶有計時器的交通信號燈??梢哉f,在近百年的發(fā)展中,道路交通信號控制系統(tǒng)經(jīng)歷了無感應(yīng)控制到有感應(yīng)控制、手動控制到自動控制再到智能控制、單點(diǎn)控制(點(diǎn)控)到干線控制(線控)再到區(qū)域控制和網(wǎng)絡(luò)控制(面控)的過程,現(xiàn)在正出現(xiàn)基于物聯(lián)網(wǎng)的智能交通控制系統(tǒng)1。1.2 研究交通燈的意義2013年1月1日,我國開始實(shí)行最新的機(jī)動車駕駛証申領(lǐng)和使用規(guī)定,有關(guān)部門對于新規(guī)定的解釋中明確提到:“搶黃燈屬于違反道路交通信號燈通行的行為,將對駕駛?cè)颂?0元以上200元以下罰款,并記6分?!毙乱?guī)定一經(jīng)出臺便觸動了機(jī)動車駕駛員們的神經(jīng),許多司機(jī)在路口恰好遇到黃燈時往往不知所措,以往為司機(jī)們“提醒兒”的黃燈如今成了人見人畏的“違章陷阱”。由于不少司機(jī)紛紛“中招”,新規(guī)定也因此引發(fā)了許多爭議,直到公安部近日稱將暫時不對闖黃燈的行為做出處罰之后,這次由黃燈引發(fā)的風(fēng)波才算逐漸平息。當(dāng)前,大量的交通信號燈電路正向著數(shù)字化、小功率化、多樣化、多值化的方向發(fā)展。隨著社會經(jīng)濟(jì)的發(fā)展,人們的生活水平不斷提高,城市交通問題越來越引起人們的關(guān)注。人們越來越期待更加方便、暢通的出行環(huán)境;人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。1.3 研究內(nèi)容本系統(tǒng)采用STC89C51單片機(jī)為控制核心,來設(shè)計交通燈控制器,進(jìn)行交通燈路口的管理。它用簡單的硬件電路模擬交通燈信號燈的交替變換,實(shí)現(xiàn)紅綠燈循環(huán)點(diǎn)亮。用LED數(shù)碼管作為倒計時指示,通行指示燈采用發(fā)光二極管,LED顯示動態(tài)掃描,以節(jié)省端口,特殊緊急車輛通行采用實(shí)時中斷完成。實(shí)時的控制當(dāng)前交通燈時間使LED顯示器進(jìn)行倒計時工作并與狀態(tài)燈保持同步;設(shè)計緊急綠色通道,禁止所有路口通行。使緊急車輛如120、119等車輛安全快速通行;針對2013年新的交通規(guī)則,設(shè)計黃燈閃爍時,加蜂鳴器起到提示路人和司機(jī)采取安全措施,在保持交通安全的同時最大限度的提高交通的順暢交替運(yùn)行;同時增加交通燈的夜間模式,使交通燈在夜間黃燈亮以警示司機(jī)和路人,關(guān)閉LED數(shù)碼管。大大提高交通運(yùn)輸?shù)倪\(yùn)行效率,還可以減少交通事故,節(jié)省能源消耗。2系統(tǒng)的方案與論證2.1 設(shè)計任務(wù)在交通十字路口,分為東西方向和南北方向,在任一時刻最多只有一個方向通行,另一方向禁行,持續(xù)一定時間,經(jīng)過短暫的過渡時間,將通行和禁行方向?qū)Q。其具體狀態(tài)如下圖所示。紅色表示禁止通行,綠色表示通行,黃燈表示敬告車倆和行人注意安全。十字路口整體設(shè)計如圖2-1所示:圖2-1 整體設(shè)計狀態(tài)一:東西方綠燈亮,表示東西方向行人和車輛通行;倒計時30秒,東西方向綠燈滅,南北方向紅燈亮,東西方向黃燈閃爍5秒。切換到下一狀態(tài)。其狀態(tài)圖如下圖2-2所示:圖2-2 紅綠燈東西通行狀態(tài)圖狀態(tài)二:南北方向綠燈亮,表示南北方向行人和車輛通行;倒計時30秒,南北方向綠燈滅,東西方向仍為紅燈亮,東西方向黃燈閃爍5秒。切換到下一狀態(tài)。其狀態(tài)圖如下圖2-3所示:圖2-3 紅綠燈南北通行狀態(tài)圖狀態(tài)三:當(dāng)為白天正常模式下,為上述四種狀態(tài)循環(huán)切換。當(dāng)為緊急狀態(tài)時,需要為緊急車輛和路人提供綠色通道時,東西南北倆個方向均禁止通行;另外當(dāng)為夜間模式時,使四個路口的交通燈為黃色,均通行警示車輛和行人慢行注意安全。狀態(tài)圖如下圖2-4所示:圖2-4 紅綠燈特殊狀態(tài)狀態(tài)圖綜上所述:整個交通燈的狀態(tài)可由下表2.1圖所示: 表2.1 交通燈狀態(tài)表2.2系統(tǒng)總體設(shè)計方案根據(jù)整個系統(tǒng)的設(shè)計要求,本系統(tǒng)采用模塊化設(shè)計。整個系統(tǒng)主要包括控制模塊、顯示模塊、電源模塊、驅(qū)動模塊組成。首先是控制模塊就是主要負(fù)責(zé)整個系統(tǒng)的控制和運(yùn)算,從而使各模塊正常工作,第二個模塊式顯示模塊包括LED燈和數(shù)碼管;第三是電源模塊,給各模塊提供電源,讓各模塊工作;第四是按鍵模塊,切換系統(tǒng)的工作狀態(tài);其次是系統(tǒng)的驅(qū)動模塊,使系統(tǒng)的顯示模塊能夠正常工作;其系統(tǒng)整體設(shè)計結(jié)構(gòu)如圖2-4所示:圖2-4 系統(tǒng)整體框圖2.2.1 系統(tǒng)控制模塊方案一:由上表2.1真值表可得,本系統(tǒng)可以根據(jù)數(shù)字電子技術(shù)搭建電路實(shí)現(xiàn)上述功能,使用數(shù)字計數(shù)器、譯碼器、數(shù)字脈沖發(fā)生器實(shí)現(xiàn)上述功能。電路簡單,成本低廉。方案二:采用單片機(jī)STC89C51最小系統(tǒng)作為控制器。單片機(jī)運(yùn)算能力強(qiáng),軟件編程非常靈活,自由度大。使用時容易掌握;采用STC89C51單片機(jī)穩(wěn)定可靠、應(yīng)用廣泛、通用性強(qiáng)。方案比較:采用方案一來實(shí)現(xiàn)十字路口交通燈控制系統(tǒng)非常方便,電路結(jié)構(gòu)簡單,控制單一,但整個系統(tǒng)性能不是很高,倒計時不是很精確,如果要求系統(tǒng)能設(shè)置不同工作時間不容易,設(shè)計復(fù)雜。而方案二完全能實(shí)現(xiàn)設(shè)計要求,容易掌握,利于編程,易控制,I/O接口很多,易于擴(kuò)展外圍電路,價格便宜,故選擇方案二。2.2.2 系統(tǒng)顯示模塊方案一:采用8段數(shù)碼管顯示。這種方案完全夠用紅綠燈的倒計時顯示,且價格便宜。方案二:采用點(diǎn)陣式LED 顯示。這種方案雖然功能強(qiáng)大,并可方便的顯示各種符號,但實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作,價格昂貴。綜上所述,我選擇第一種方案,四個路口采用兩個二位共陰極數(shù)碼管。2.2.3 系統(tǒng)按鍵模塊 方案一:矩陣鍵盤:編程簡單,但浪費(fèi)i/o接口。方案二:獨(dú)立鍵盤:需要較多按鍵設(shè)計時,占用接口較少,但編程相當(dāng)復(fù)雜。 綜上所述,雖然單片機(jī)接口有限,但是此交通燈按鍵較少,系統(tǒng)接口夠用,故適宜采用2。我選用方案一。2.2.4 顯示驅(qū)動模塊 方案一:使用三極管驅(qū)動。軟件要求較低,由于本次設(shè)計需要的數(shù)碼管數(shù)量較多,故需要較多三極管,硬件要求較高,電路復(fù)雜。方案二:采用74HC245,編程簡單;集成度較高,硬件簡單。綜上所述,我選用第二種方案。2.2.5 系統(tǒng)電源模塊方案一:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會使系統(tǒng)復(fù)雜,且可能影響電路電平;且成本較高。方案二:采用單片機(jī)控制模塊提供電源,使用電池盒供電。該方案的優(yōu)點(diǎn)是系統(tǒng)簡明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。綜上所述,為使模塊穩(wěn)定工作,須有可靠電源,我選擇第二種方案2。3 原理簡介3.1 STC89C51單片機(jī)簡介STC89C51是89C51系列單片機(jī)中應(yīng)用較為廣泛的一種型號,它把所有控制所需功能集中到一個尺寸有限的集成電路芯片上。主要由CPU、RAM、4K FLASH ROM、四個8位可編程并行I/O口、一個全雙工串行、2個16位定時/計數(shù)、中斷系統(tǒng)、SFR3。其內(nèi)部結(jié)構(gòu)如下圖3-1所示: 圖3-1 51單片機(jī)的內(nèi)部結(jié)構(gòu)STC89C51單片機(jī)的40條引腳按功能來分,40個引腳可以分為三大類:(1) 電源及時鐘引腳Vcc、Vss、XTAL1、XTAL2。(2) 控制引腳RESET(即RSR/VPD)、ALE、。(3) 和輸入/輸出引腳P0、P1、P2、P3,4個8位I/O外部引腳。單片機(jī)引腳如圖3-2所示:圖3-2 STC89C51單片機(jī)引腳3.1.1 STC89C51單片機(jī)引腳功能主電源及時鐘引腳 (1)Vcc(40引腳):接+5V電源,為單片機(jī)芯片提供電能。 (2)Vss(20引腳)接地。 (3)XTAL1(19引腳)在單片機(jī)內(nèi)部,它是一個片內(nèi)振蕩器反向放大器的輸入端,該放大器構(gòu)成了片內(nèi)的振蕩器,可提供單片機(jī)的時鐘控制信號。當(dāng)使用片內(nèi)振蕩器時,該腳接外部石英晶體和微調(diào)電容。當(dāng)采用外接時鐘電源時,引腳接外部時鐘信號,XTAL2懸空。 (4)XTAL2(18引腳)在單片機(jī)內(nèi)部,接至上述振蕩器的反向輸出端。當(dāng)使用片內(nèi)振蕩器時,該角接外部石英晶體和微調(diào)電容。3.1.2 控制引腳控制引腳: (1)RST(9引腳):復(fù)位信號輸入端,高電平有效,當(dāng)單片機(jī)運(yùn)行時,在此引腳加上兩個機(jī)器周期的(24個時鐘振蕩周期)高電平時,將使單片機(jī)復(fù)位。要使單片機(jī)正常工作,復(fù)位后應(yīng)使此引腳電平保持為不大于0.5V的低電平3。 (2)ALE/(30引腳):ALE為低8位地址鎖存允許信號。在系統(tǒng)擴(kuò)展時,ALE的負(fù)跳沿將P0口發(fā)送出的低8位地址鎖存在外接的地址鎖存器中,然后P0口再作為數(shù)據(jù)端口,以實(shí)現(xiàn)P0口的低8位的地址和數(shù)據(jù)分時傳送3。 (3)(29引腳):片外程序存儲器的選通信號。在單片機(jī)讀外部程序存儲器時,此引腳輸出脈沖的負(fù)跳沿作為讀外部程序存儲器的選通信號。此引腳接外部程序存儲器端;在訪問外部RAM時,信號無效3。 (4)(31腳):功能為內(nèi)外程序存儲器選擇控制端。當(dāng)端保持高電平時,單片機(jī)讀片內(nèi)部程序存儲器,但在PC值超過0FFFH時將自動轉(zhuǎn)向訪問外部程序存儲器內(nèi)的程序。當(dāng)引腳為低電平時,對程序存儲器只限定在外部程序存儲器3。3.1.3 輸入/輸出引腳此類引腳包括P0口、P1口、P2口和P3口。 (1)P0(P0.0-P0.7)是一個8位三態(tài)雙向I/O口,在不訪積壓處部存儲器時,做通用I/O口使用,用于傳送CPU的輸入/輸出數(shù)據(jù),當(dāng)訪問外部存儲器時,此口為地址總路線低8位及數(shù)據(jù)總路線分時復(fù)用口,可帶8個LSTTL負(fù)載4。 (2)P1(P1.0-P2.7)是一個8位準(zhǔn)雙向I/O口,帶有內(nèi)部上拉電阻,可帶4個LSTTL負(fù)載4。 (3)P2(P2.0-P2.7)是一個8位準(zhǔn)雙向I/O口,與地址總路線高8位復(fù)用,可驅(qū)動4個LSTTL負(fù)載4。 (4)P3(P3.0-P3.7)是一個8位準(zhǔn)雙向I/O口,除此之外每位還具有第二功能4。P3口功能表如下表3.1所示:表3.1 P3口第二功能定義3.2 單片機(jī)最小系統(tǒng)圖3-4 單片機(jī)最小系統(tǒng)電路圖3.2.1 時鐘電路 STC89C51單片機(jī)個功能部件運(yùn)行都已時鐘控制信號為基準(zhǔn),使系統(tǒng)有條不絮的工作。直接關(guān)系到系統(tǒng)的穩(wěn)定和工作速度,因此時鐘是系統(tǒng)的重要組成部分;時鐘電路有兩種方式,內(nèi)部時鐘和外部時鐘方式,本系統(tǒng)選用內(nèi)部時鐘。內(nèi)部時鐘電路如下圖3-5所示:圖3-5 時鐘電路 電路中的電容C1、C2的典型值通常選擇30pF左右,該電容的大小會影響震蕩頻率的高低,震蕩的快速性此系統(tǒng)選擇30pF;晶振的頻率范圍在1.2-12MHZ晶體的頻率越高,系統(tǒng)頻率越高,運(yùn)行速度越快。此系統(tǒng)選用12MHZ;晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作5。3.2.2.復(fù)位電路 最小系統(tǒng)復(fù)位是由外部電路來實(shí)現(xiàn)的,復(fù)位操作不會對內(nèi)部RAM有所影響。片內(nèi)復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,施密特觸發(fā)器可用來抑制噪聲,在每個機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,按鍵電平復(fù)位電路如下圖3-6所示:圖3-6 復(fù)位電路 此復(fù)位電路采用的是按鈕復(fù)位電路。時鐘頻率選用12MHz,C取10F,Rs選取電阻值為2.2K,Rk電阻值為10K。3.2.3 顯示原理 LED是Light Emitting Diode的縮寫,中文意思是發(fā)光二極管,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見光的固態(tài)的半導(dǎo)體器件,LED的特點(diǎn)非常明顯,具有壽命長、光效高、輻射低、功耗低等優(yōu)點(diǎn)。LED因其高亮度、低熱量、長壽命、無毒、可回收再利用等優(yōu)點(diǎn), 交通燈利用發(fā)光二極管來顯示不同顏色的信號指示燈。電路圖如下圖3-7所示:圖3-7 LED燈 數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管;按發(fā)光二極管單元點(diǎn)亮方式可以分為共陰極數(shù)碼管和共陽數(shù)碼管。共陽極就是將所有的發(fā)光二級管的陽級接到一個公共端,公共端接高電壓,常用+5V;同理共陰極就是講所有的發(fā)光二級管陰極接到一起,公共端接地。本系統(tǒng)采用倆位共陰極八段數(shù)碼管。其管腳電路如下圖3-8所示:圖3-8 數(shù)碼管顯示引腳圖 由如上管腳圖可知,該數(shù)碼管有十個管腳G1為公共端,該引腳接地AG和dp分別對應(yīng)數(shù)碼管的各段被點(diǎn)亮,S1、S2為選通位,分別對應(yīng)數(shù)碼管的第一、二位。其顯示的數(shù)字和編碼對應(yīng)如下表3.2所示:表3.2 共陰極數(shù)碼管顯示編碼3.3 74HC245簡介 74HC24,總線收發(fā)器(bus transceiver),典型的CMOS型三態(tài)緩沖門電路。用于提高單片機(jī)數(shù)據(jù)總線、地址總線、控制總線端口的負(fù)載能力7。其引腳圖如下圖3-9所示:圖3-9 74HC245引腳圖管腳定義如下表3.3所示:表3.3 245管腳定義功能真值表如下表3.4所示:表3.4 功能真值4 系統(tǒng)硬件設(shè)計4.1 系統(tǒng)的總構(gòu)成 本系統(tǒng)擬采用STC89C51單片機(jī)為控制核心的最小系統(tǒng)、74HC245驅(qū)動電路、以及外圍的按鍵和數(shù)碼管顯示等部件,設(shè)計一個基于單片機(jī)的交通燈設(shè)計。設(shè)計通過兩位一體共陰極數(shù)碼管顯示,并能通過按鍵對定時進(jìn)行設(shè)置。本系統(tǒng)實(shí)用性強(qiáng)、操作簡單、擴(kuò)展功能強(qiáng)。在相同的時間里提高通車的質(zhì)量、效率。并能在高峰期根據(jù)實(shí)際狀況結(jié)合方程式控制按鈕來調(diào)整主次干道的通車時間,降低交通擁擠堵塞現(xiàn)象。并使交通控制系統(tǒng)具有緊急控制,使救護(hù)車、救護(hù)車通過時, 使兩個方向均亮紅燈,救護(hù)車和消防車通過后,恢復(fù)原來狀態(tài),增加對出現(xiàn)特殊情況的處理能力。鍵盤設(shè)置模塊對系統(tǒng)輸入模式選擇及具體通行時間設(shè)置的信號,系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時將時間數(shù)據(jù)倒計時輸入到LED數(shù)碼管上實(shí)時顯示。在此過程中還要實(shí)時捕捉違規(guī)檢測和緊急按鍵信號,以達(dá)到對異常狀態(tài)進(jìn)行實(shí)時控制的目的。急停按違規(guī)檢測隨時調(diào)用中斷。本單片機(jī)控制交通燈系統(tǒng),可用單片機(jī)直接控制信號燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當(dāng)然,接入LED數(shù)碼管就可以顯示倒計時以提醒行使者,更具人性化。本系統(tǒng)在此基礎(chǔ)上,單片機(jī)對此進(jìn)行具體處理,及時調(diào)整控制指揮。如圖4.1所示:圖4.1 系統(tǒng)整體結(jié)構(gòu)圖 由上圖可得,本系統(tǒng)以單片機(jī)最小系統(tǒng)為核心,組成一個處理、自動控制為一身的閉環(huán)控制系統(tǒng)。系統(tǒng)硬件電路由單片機(jī)最小系統(tǒng)、LED紅綠燈、LED8段數(shù)碼管顯示、驅(qū)動電路、按鍵等組成。 實(shí)現(xiàn)本設(shè)計要求的具體功能,可以用STC89C51單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng),12個發(fā)光二極管分成4組紅綠黃三色燈構(gòu)成信號燈指示模塊,8個LED東西南北各兩個構(gòu)成倒計時顯示模塊,若干按鍵組成時間設(shè)置和模式選擇按鈕和緊急按鈕等。其中P0,P1,用于送顯LED數(shù)碼管的型和位,P2用于控制紅綠黃發(fā)光二極管,XTAL1和XTAL2接入晶振時鐘電路,REST引腳接上復(fù)位電路,P3用于口按鍵控制。 4.2 系統(tǒng)總電路 根據(jù)上述原理將各個部分用電路聯(lián)系在一起,構(gòu)成整個系統(tǒng)的電路如下圖4.2所示:圖4-2 系統(tǒng)電路原理圖5 系統(tǒng)軟件設(shè)計5.1 主函數(shù)流程圖將系統(tǒng)分解為若干模塊;按鍵模塊程序,顯示模塊程序,LED紅綠燈程序。最后主函數(shù)調(diào)用各個模塊。主函數(shù)程序流程圖如圖5-1所示:圖5-1 主函數(shù)流程圖5.2 子函數(shù)程序流程圖5.2.1 外部中斷 本系統(tǒng)存在兩個外部中斷;外部中斷有兩種觸發(fā)方式:即為電平觸發(fā)方式和跳沿觸發(fā)方式。電平觸發(fā)方式適合于外部中斷以低電平輸入且中斷服務(wù)程序能清除外部中斷請求源的情況;外部中斷的跳沿觸發(fā)方式適合于以負(fù)脈沖形式輸入的外部中斷請求11。本系統(tǒng)采用跳沿觸發(fā)方式。外部中斷的管腳為P3.2和P3.3,分別對應(yīng)外部中斷0的輸入和外部中斷1的輸入;當(dāng)P3.2或P3.3存在按鍵時,故觸發(fā)外部中斷。其程序流程如圖5-2所示:圖5-2 外部中斷程序流程圖當(dāng)存在P3.2或P3.3存在按鍵時,即存在外部中斷外部中斷的響應(yīng)程序流程圖如下圖5-3所示:圖5-3 外部中斷響應(yīng)程序流程圖5.2.2 定時器中斷 本設(shè)計單片機(jī)定時器的設(shè)置直接關(guān)系到系統(tǒng)的精確度,單片機(jī)定時器時間的計算方法可以有兩種:一種是單片機(jī)內(nèi)部定時器溢出中斷,另一種是采用軟延時的方法。STC89C51單片機(jī)的定時/計數(shù)有4種工作方式;工作方式的選擇如下表5.1所示: 表5.1 工作方式M0M1工作方式0013位定時/計數(shù)器0116位定時/計數(shù)器108位常數(shù)自動裝載定時/計數(shù)器11僅適用T0 當(dāng)且僅當(dāng)方式1時,最大計數(shù)為:216*1=65.535ms;TMOD=0X11;選擇T0,方式1;TH0=3C,TL0=B0,計時50ms; 因此1秒鐘已經(jīng)遠(yuǎn)遠(yuǎn)的超過了計數(shù)器方式一的最大定時間,我們定時中斷中設(shè)定一個初值count為0;并設(shè)置T0定時50ms每次中斷服務(wù)子程序。計數(shù)器count加1,然后判斷它是否等于20。等于20表示1秒已到可以返回到輸出時間顯示程序。程序流程圖5-4如下所示: 圖5-4 定時一秒流程圖6 調(diào)試6.1 軟件調(diào)試使用keil 編譯、運(yùn)行程序結(jié)果如下圖所示:圖6-1 keil編譯、運(yùn)行結(jié)果6.2 硬件調(diào)試使用protus電路仿真結(jié)果如下圖6-2所示:圖6-2 protus硬件仿真結(jié)果在硬件實(shí)物調(diào)試中出現(xiàn)如下問題:1、 系統(tǒng)不能正常工作問題原因:供電電源不足;解決辦法:采用USB電源供電。二、3個LED指示燈不亮、電源燈不亮。 問題原因:出現(xiàn)虛焊,漏焊,腐蝕電路出現(xiàn)漏焊。電源指示燈上拉電阻焊錯,本來焊接2.2K,焊成22K; 解決辦法:用萬用表檢查電路最終找到源頭,重焊,用焊錫連接斷路處。將22k換成2.2k。參考文獻(xiàn)1 Laisheng Xiao.Internet of Things: a New Application for Intelligent Traffic Monitoring System,Journal Of Networks,2011。2 嚴(yán)雨,廉潔。單片機(jī)c語言100應(yīng)用例,電子工業(yè)出版社,2009。3 張毅剛、彭喜元。單片機(jī)原理與應(yīng)用設(shè)計,電子工業(yè)出版社,2008。4 孫寶元、楊寶清。傳感器及其應(yīng)用手冊,2004。5 聶典、丁偉?;贛ultisim 10的51單片機(jī)仿真教程,電子工業(yè)出版社,2010。6 張志勇、何東健、肖軍利、王順。單片機(jī)在膠訂機(jī)智能控制系統(tǒng)中的應(yīng)用期刊論文-包裝工程,2005。7 王為青、邱文勛。 51單片機(jī)開發(fā)案例精選J,人民郵電出版社,2001。8張鑫,華臻,陳書謙。單片機(jī)原理及應(yīng)用J,電子工業(yè)出版社,2008。9張洪潤,張亞凡。單片機(jī)原理及應(yīng)用J,清華大學(xué)出版社,2005。10蔣輝平,周國雄。基于Proteus的單片機(jī)系統(tǒng)設(shè)計與仿真實(shí)例M,機(jī)械工業(yè)出版社,2009。11 張萌。單片機(jī)應(yīng)用系統(tǒng)開發(fā)綜合實(shí)例,清華大學(xué)出版社,2005。附錄程序整個系統(tǒng)的軟件程序如下所示:#include #define uchar unsigned char#define uint unsigned intuchar data buf4;uchar data sec_dx=20; /東西數(shù)默認(rèn)uchar data sec_nb=30; /南北默認(rèn)值uchar data set_timedx=20; /設(shè)置東西方向的時間uchar data set_timenb=30; /設(shè)置南北方向的時間int n;uchar data countt0; /定時器0中斷次數(shù)sbit k4=P37; /切換方向sbit k1=P35; /時間加sbit k2=P36; /時間減sbit k3=P34; /確認(rèn)sbit k5=P31; /禁止sbit k6=P15; /夜間模式sbit Red_nb=P26; /南北紅燈標(biāo)志sbit Yellow_nb=P25; /南北黃燈標(biāo)志sbit Green_nb=P24; /南北綠燈標(biāo)志sbit Red_dx=P23; /東西紅燈標(biāo)志sbit Yellow_dx=P22; /東西黃燈標(biāo)志sbit Green_dx=P21; /東西綠燈標(biāo)志sbit Buzz=P30;bit Buzzer_Indicate;bit set=0; /調(diào)時方向切換鍵標(biāo)志 =1時,南北,=0時,東西bit dx_nb=0; /東西南北控制位bit shanruo=0;uchar code table11=0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x00 ; /共陰極數(shù)碼管顯示數(shù)字編碼void delay(int ms); /聲明延聲時子程序void key(); /聲明按鍵掃描子程序void key_to1(); /聲明鍵處理子程序void key_to2();void key_to3();void display(); /顯聲明示子程序void logo(); /聲明開機(jī)LOGOvoid Buzzer();void main() /主程序TMOD=0X11; /定時器設(shè)置TH0=0X3C; /定時器0置初值 0.05STL0=0XB0;EA=1; /開總中斷ET0=1; /定時器0中斷開啟TR0=1; /啟動定時0EX0=1; /開外部中斷0EX1=1; /開外部中斷1 logo();P2=0Xc3; / 開始默認(rèn)狀態(tài),東西綠燈,南北黃燈 sec_nb=sec_dx+5; /默認(rèn)南北通行時間比東西多5秒while(1) key(); /調(diào)用按鍵掃描程序display(); /調(diào)用顯示程序Buzzer();void key(void) /按鍵掃描子程序 if(k1!=1) /當(dāng)K1(時間加)按下時display(); /調(diào)用顯示,用于延時消抖if(k1!=1) TR0=0; /關(guān)定時器shanruo=0;P2=0x00;if(set=0)set_timedx+; /南北加1Selseset_timenb+; /東西加1Sif(set_timenb=100)set_timenb=1;if(set_timedx=100)set_timedx=1; /加到100置1sec_nb=set_timenb ; /設(shè)置的數(shù)值賦給東西南北sec_dx=set_timedx; do display();while(k1!=1);if(k2!=1) /當(dāng)K2(時間減)按鍵按下時display(); /調(diào)用顯示,用于延時消抖 if(k2!=1) TR0=0; /關(guān)定時器shanruo=0;P2=0x00;if(set=0) set_timedx-; /南北減1Selseset_timenb-; /東西減1Sif(set_timenb=0)set_timenb=99;if(set_timedx=0 )set_timedx=99; /減到1重置99sec_nb=set_timenb ; /設(shè)置的數(shù)值賦給東西南北sec_dx=set_timedx; do display(); /調(diào)用顯示,用于延時while(k2!=1);if(k3!=1) /當(dāng)K3(確認(rèn))鍵按下時display(); /調(diào)用顯示,用于延時消抖if(k3!=1)TR0=1; /啟動定時器Buzzer_Indicate=0;sec_nb=set_timenb;/從中斷回復(fù),仍顯示設(shè)置過的數(shù)值sec_dx=set_timedx;/顯示設(shè)置過的時間if(set=0)/時間倒時到0時 P2=0X00;/東西綠燈,南北紅燈Green_dx=1;Red_nb=1;sec_nb=sec_dx+5; /回到初值else P2=0x00; /南北綠燈,東西紅燈Green_nb=1;Red_dx=1;sec_dx=sec_nb+5; if(k4!=1) /當(dāng)K4(切換)鍵按下 display(); /調(diào)用顯示,用于延時消抖if(k4!=1) TR0=0;set=!set; /取反set標(biāo)志位,以切換調(diào)節(jié)方向dx_nb=set;dodisplay(); while(k4!=1);if(k5!=1) /當(dāng)K5(禁止)鍵按下時 display(); /調(diào)用顯示,用于延時消抖 if(k5!=1) TR0=0;/關(guān)定時器P2=0x00;Red_dx=1;Red_nb=1;/全部置紅燈sec_dx=00;/四個方向的時間都為00sec_nb=00;Buzzer_Indicate=1;dodisplay(); while(k5!=1); if(k6!=1) /當(dāng)K6(夜間模式)按下 display(); /調(diào)用顯示,用于延時消抖 if(k6!=1) TR0=0; /關(guān)定時器P2=0x00;Yellow_dx=1;Yellow_nb=1;/全部置黃燈 sec_dx=00;/四個方向的時間都為00sec_nb=00;Buzzer_Indicate=1;dodisplay(); while(k6!=1); void display(void) /顯示子程序buf1=sec_nb/10; /第1位 東西秒十位buf2=sec_nb%10; /第2位 東西秒個位buf3=sec_dx/10; /第3位 南北秒十位buf0=sec_dx%10; /第4位 南北秒個位P1=0xff; / 初始燈為滅的P0=0x00;P1=0xfe; /片選LED1P0=tablebuf1; /送東西時間十位的數(shù)碼管編碼delay(1); /延時P1=0xff; /關(guān)顯示P0=0x00;P1=0xfd; /片選LED2P0=tablebuf2;delay(1);P1=0xff;P0=0x00;P1=0Xfb; /片選LED3P0=tablebuf3;delay(1);P1=0xff;P0=0x00;P1=0Xf7;P0=tablebuf0; /片選LED4delay(1);void time0(void) interrupt 1 using 1 /定時中斷子程序TH0=0X3C;/重賦初值TL0=0XB0;TR0=1;/重新啟動定時器countt0+;/軟件計數(shù)加1if(countt0=10)if(sec_nb=5)&(dx_nb=0)&(shanruo=1) /東西黃燈閃 Green_dx=0;Yellow_dx=0;Buzz=0; if(sec_dx=5)&(dx_nb=1)&(shanruo=1) /南北黃燈閃 Green_nb=0;Yellow_nb=0;Buzz=0;if(countt0=20) / 定時器中斷次數(shù)=20時(即1秒時)countt0=0; /清零計數(shù)器sec_dx-; /東西時間減1sec_nb-; /南北時間減1if(sec_nb=5)&(dx_nb=0)&(shanruo=1) /東西黃燈閃 Green

溫馨提示

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

評論

0/150

提交評論