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

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)論文(設(shè)計(jì))題目單片機(jī)交通控制燈設(shè)計(jì)與實(shí)現(xiàn)院系電子信息學(xué)院?jiǎn)纹瑱C(jī)交通控制燈設(shè)計(jì)與實(shí)現(xiàn)電力系統(tǒng)及其自動(dòng)化專業(yè)【摘要】交通紅綠燈是建設(shè)在各個(gè)要塞路口系統(tǒng),用于指揮人和車安全有序通過十字路口,是保證道路暢通重要手段;隨著我經(jīng)濟(jì)迅速發(fā)展,物流業(yè)迅速發(fā)展,車流量不斷增長(zhǎng);導(dǎo)致交通堵塞成為人們暢通出行重要問題。因而開發(fā)出智能、可靠、便宜控制系統(tǒng)成為當(dāng)前重要問題。隨著科技迅速發(fā)展,單片測(cè)控地位不斷加深。依照當(dāng)前需求,提出以單片機(jī)為控制核心紅綠燈系統(tǒng)。單片機(jī)交通燈控制系統(tǒng)重要由STC89C51單片機(jī)、LED紅綠燈批示、8段數(shù)碼管倒計(jì)時(shí)、緊急狀況按鍵解決模塊構(gòu)成。本系統(tǒng)除了基本交通燈功能外,還具備通行時(shí)間手動(dòng)設(shè)立、可倒計(jì)時(shí)顯示、夜間模式、發(fā)生緊急事件車輛綠色通道等有關(guān)功能。通過電路仿真證明該系統(tǒng)可以簡(jiǎn)樸、經(jīng)濟(jì)、有效地疏導(dǎo)交通,提高交通路口通行能力。【核心詞】單片機(jī)交通紅綠燈LED定期計(jì)數(shù)數(shù)碼管

MicrocontrollerDesignAndImplementationOfTrafficControlLights【Abstract】trafficlightsbuildingfortressjunctionsystemforcommandandthecarsafeandorderlythroughthecrossroadsisanimportantmeanstoensurethattheroadsarewider;Withtherapideconomicdevelopmentofthelogisticsindustryrapiddevelopment,thetrafficvolumeisincreasing;causetrafficjams,smoothtravel.Thereforedevelopedasmart,reliable,low-costcontrolsystembecomethemainproblem.Withtherapiddevelopmentofscienceandtechnology,measurementandcontrolofthemonolithicstatuscontinuestodeepen.Accordingtothecurrentdemand,amicrocontrollerasthecorecontroltrafficlightssystem.ThethemicrocontrollertrafficlightcontrolsystemmainlybytheSTC89C51microcontroller,LEDtrafficlightindicator,LEDcountdown,anemergencybuttonprocessingmodule.Inadditiontobasictrafficlights,thesystemalsohastheaccesstimemanuallysetthecountdowndisplay,nightmode,theoccurrenceofthegreenchanneloftheemergencyvehiclesandotherrelatedfunctions.Simulationresultsshowthatthesystemcanbesimple,economic,effectivelyeasetrafficcongestion,improvetrafficjunctioncapacity.【KeyWords】single-chiptrafficlightsLEDTimercounterDigitaltube

目錄TOC\o"1-3"\h\u188691緒論 1268571.1交通燈歷史背景 1294891.1.1交通燈定義 17351.1.2交通燈發(fā)展歷史 1219411.2研究交通燈意義 2284781.3研究?jī)?nèi)容 2259752系統(tǒng)方案與論證 339682.1設(shè)計(jì)任務(wù) 3111902.2系統(tǒng)總體設(shè)計(jì)方案 517482.2.1系統(tǒng)控制模塊 5107932.2.2系統(tǒng)顯示模塊 557072.2.3系統(tǒng)按鍵模塊 6130402.2.4顯示驅(qū)動(dòng)模塊 6203722.2.5系統(tǒng)電源模塊 684163原理簡(jiǎn)介 6313653.1STC89C51單片機(jī)簡(jiǎn)介 6315913.1.1STC89C51單片機(jī)引腳功能 7112663.1.2控制引腳 8108433.1.3輸入/輸出引腳 8166423.2單片機(jī)最小系統(tǒng) 9167493.2.1時(shí)鐘電路 9181053.2.2.復(fù)位電路 10266563.2.3顯示原理 10248913.374HC245簡(jiǎn)介 11190484系統(tǒng)硬件設(shè)計(jì) 1330934.1系統(tǒng)總構(gòu)成 1380374.2系統(tǒng)總電路 14114255系統(tǒng)軟件設(shè)計(jì) 15324695.1主函數(shù)流程圖 15276955.2子函數(shù)程序流程圖 15172005.2.1外部中斷 15164335.2.2定期器中斷 16259976調(diào)試 18309906.1軟件調(diào)試 18270706.2硬件調(diào)試 1813385參照文獻(xiàn) 1925671附錄 2013595程序 2012578系統(tǒng)實(shí)物圖 3032442道謝 311緒論1.1交通燈歷史背景1.1.1交通燈定義交通信號(hào)批示燈普通由紅燈、黃燈、綠燈構(gòu)成;紅燈表達(dá)禁止通行;綠燈表達(dá)容許通行、黃燈表達(dá)警示含義。根據(jù)其形式、用途不同分為機(jī)動(dòng)車信號(hào)燈、非機(jī)動(dòng)車信號(hào)燈、人行橫道信號(hào)燈、車道信號(hào)燈、方向批示信號(hào)燈、閃光警告信號(hào)燈、道路與鐵路交叉道口信號(hào)燈等。1.1.2交通燈發(fā)展歷史 十九世紀(jì)中葉,當(dāng)時(shí)涉及英國(guó)在內(nèi)某些歐洲國(guó)家已經(jīng)普及了馬車,但卻并沒有指引行人與馬車通行信號(hào)批示設(shè)備,因而無論是在山間小路還是市中心繁華大道上,馬車軋人事故經(jīng)常浮現(xiàn),這不但對(duì)行人安全導(dǎo)致了危害,更會(huì)經(jīng)常導(dǎo)致交通混亂、擁堵現(xiàn)象。1868年12月10日,歷史上第一盞交通信號(hào)燈浮現(xiàn),在這盞燈下必要要站立一名手持長(zhǎng)桿警察,通過皮帶拉拽提燈進(jìn)行顏色轉(zhuǎn)換,日后還在這盞信號(hào)燈中間加裝了紅、綠兩色燈罩,前面有紅、綠兩塊玻璃交替進(jìn)行遮擋,白天不點(diǎn)亮煤氣燈,僅以紅、綠燈罩切換引導(dǎo)人們邁進(jìn)或停止,夜晚則將煤氣燈點(diǎn)燃,照亮紅、綠兩色燈罩。1869年1月2日,僅僅誕生23天第一盞交通信號(hào)燈便突然爆炸損毀了,但這個(gè)僅有23天生命信號(hào)燈卻點(diǎn)燃了整個(gè)歐洲乃至整個(gè)世界開發(fā)交通信號(hào)燈激情,不久之后,各式各樣交通信號(hào)燈便如雨后春筍般浮現(xiàn)了。在“后煤氣信號(hào)燈”時(shí)代,有些歐洲國(guó)家開始在道路上設(shè)立執(zhí)勤警察以及可翻轉(zhuǎn)標(biāo)記。19,美國(guó)鹽湖城一名叫做LesterWire警員創(chuàng)造了第一盞電動(dòng)交通信號(hào)燈。198月5日,美國(guó)交通信號(hào)燈公司在LesterWire創(chuàng)造交通信號(hào)燈基本上進(jìn)行了改進(jìn),并在頂部安裝了一種蜂鳴器。19,美國(guó)鹽湖城街道上初次浮現(xiàn)了互有關(guān)聯(lián)交通信號(hào)系統(tǒng),由一種崗?fù)?nèi)警員統(tǒng)一控制顏色轉(zhuǎn)換。19,美國(guó)密歇根州底特律一位名叫WilliamPotts警官在當(dāng)時(shí)交通信號(hào)燈基本上再次進(jìn)行了改進(jìn),研制出了一種四周三燈多功能交通信號(hào)燈,這種信號(hào)燈共分為四周,每面均豎立排列三盞燈,當(dāng)時(shí)它排列形式與功能已經(jīng)與咱們當(dāng)前所熟知信號(hào)燈大同小異,紅燈與綠燈表達(dá)停止與通過,黃燈則表達(dá)“謹(jǐn)慎”。1922年3月,GarrettMorgan創(chuàng)造了一種完全獨(dú)立手搖式交通信號(hào)系統(tǒng)。1936年,在澳大利亞墨爾本道路上浮現(xiàn)了一種名為Marshalite交通信號(hào)批示系統(tǒng)。1963年,加拿大多倫多市街道上第一次浮現(xiàn)了一套用計(jì)算機(jī)芯片控制完整交通信號(hào)系統(tǒng)。上世紀(jì)90年代,美國(guó)某些地區(qū)開始引進(jìn)帶有計(jì)時(shí)器交通信號(hào)燈??梢哉f,在近百年發(fā)展中,道路交通信號(hào)控制系統(tǒng)經(jīng)歷了無感應(yīng)控制到有感應(yīng)控制、手動(dòng)控制到自動(dòng)控制再到智能控制、單點(diǎn)控制(點(diǎn)控)到干線控制(線控)再到區(qū)域控制和網(wǎng)絡(luò)控制(面控)過程,當(dāng)前正浮現(xiàn)基于物聯(lián)網(wǎng)智能交通控制系統(tǒng)[1]。1.2研究交通燈意義1月1日,國(guó)內(nèi)開始實(shí)行最新《機(jī)動(dòng)車駕駛証申領(lǐng)和使用規(guī)定》,關(guān)于部門對(duì)于新規(guī)定解釋中明確提到:“搶黃燈屬于違背道路交通信號(hào)燈通行行為,將對(duì)駕駛?cè)颂?0元以上200元如下罰款,并記6分?!毙乱?guī)定一經(jīng)出臺(tái)便觸動(dòng)了機(jī)動(dòng)車駕駛員們神經(jīng),許多司機(jī)在路口正好遇到黃燈時(shí)往往不知所措,以往為司機(jī)們“提示兒”黃燈如今成了人見人畏“違章陷阱”。由于不少司機(jī)紛紛“中招”,新規(guī)定也因而引起了許多爭(zhēng)議,直到公安部近日稱將暫時(shí)不對(duì)闖黃燈行為做出懲罰之后,這次由黃燈引起風(fēng)波才算逐漸平息。當(dāng)前,大量交通信號(hào)燈電路正向著數(shù)字化、小功率化、多樣化、多值化方向發(fā)展。隨著社會(huì)經(jīng)濟(jì)發(fā)展,人們生活水平不斷提高,都市交通問題越來越引起人們關(guān)注。人們?cè)絹碓狡诖右员恪惩ǔ鲂协h(huán)境;人、車、路三者關(guān)系協(xié)調(diào),已成為交通管理部門需要解決重要問題之一。1.3研究?jī)?nèi)容本系統(tǒng)采用STC89C51單片機(jī)為控制核心,來設(shè)計(jì)交通燈控制器,進(jìn)行交通燈路口管理。它用簡(jiǎn)樸硬件電路模仿交通燈信號(hào)燈交替變換,實(shí)現(xiàn)紅綠燈循環(huán)點(diǎn)亮。用LED數(shù)碼管作為倒計(jì)時(shí)批示,通行批示燈采用發(fā)光二極管,LED顯示動(dòng)態(tài)掃描,以節(jié)約端口,特殊緊急車輛通行采用實(shí)時(shí)中斷完畢。實(shí)時(shí)控制當(dāng)前交通燈時(shí)間使LED顯示屏進(jìn)行倒計(jì)時(shí)工作并與狀態(tài)燈保持同步;設(shè)計(jì)緊急綠色通道,禁止所有路口通行。使緊急車輛如120、119等車輛安全迅速通行;針對(duì)新交通規(guī)則,設(shè)計(jì)黃燈閃爍時(shí),加蜂鳴器起到提示路人和司機(jī)采用安全辦法,在保持交通安全同步最大限度提高交通順暢交替運(yùn)營(yíng);同步增長(zhǎng)交通燈夜間模式,使交通燈在夜間黃燈亮以警示司機(jī)和路人,關(guān)閉LED數(shù)碼管。大大提高交通運(yùn)送運(yùn)營(yíng)效率,還可以減少交通事故,節(jié)約能源消耗。2系統(tǒng)方案與論證2.1設(shè)計(jì)任務(wù)在交通十字路口,分為東西方向和南北方向,在任一時(shí)刻最多只有一種方向通行,另一方向禁行,持續(xù)一定期間,通過短暫過渡時(shí)間,將通行和禁行方向?qū)Q。其詳細(xì)狀態(tài)如下圖所示。紅色表達(dá)禁止通行,綠色表達(dá)通行,黃燈表達(dá)敬告車倆和行人注意安全。十字路口整體設(shè)計(jì)如圖2-1所示:圖2-1整體設(shè)計(jì)狀態(tài)一:東西方綠燈亮,表達(dá)東西方向行人和車輛通行;倒計(jì)時(shí)30秒,東西方向綠燈滅,南北方向紅燈亮,東西方向黃燈閃爍5秒。切換到下一狀態(tài)。其狀態(tài)圖如下圖2-2所示:圖2-2紅綠燈東西通行狀態(tài)圖狀態(tài)二:南北方向綠燈亮,表達(dá)南北方向行人和車輛通行;倒計(jì)時(shí)30秒,南北方向綠燈滅,東西方向仍為紅燈亮,東西方向黃燈閃爍5秒。切換到下一狀態(tài)。其狀態(tài)圖如下圖2-3所示:圖2-3紅綠燈南北通行狀態(tài)圖狀態(tài)三:當(dāng)為白天正常模式下,為上述四種狀態(tài)循環(huán)切換。當(dāng)為緊急狀態(tài)時(shí),需要為緊急車輛和路人提供綠色通道時(shí),東西南北倆個(gè)方向均禁止通行;此外當(dāng)為夜間模式時(shí),使四個(gè)路口交通燈為黃色,均通行警示車輛和行人慢行注意安全。狀態(tài)圖如下圖2-4所示:圖2-4紅綠燈特殊狀態(tài)狀態(tài)圖綜上所述:整個(gè)交通燈狀態(tài)可由下表2.1圖所示:表2.1交通燈狀態(tài)表2.2系統(tǒng)總體設(shè)計(jì)方案依照整個(gè)系統(tǒng)設(shè)計(jì)規(guī)定,本系統(tǒng)采用模塊化設(shè)計(jì)。整個(gè)系統(tǒng)重要涉及控制模塊、顯示模塊、電源模塊、驅(qū)動(dòng)模塊構(gòu)成。一方面是控制模塊就是重要負(fù)責(zé)整個(gè)系統(tǒng)控制和運(yùn)算,從而使各模塊正常工作,第二個(gè)模塊式顯示模塊涉及LED燈和數(shù)碼管;第三是電源模塊,給各模塊提供電源,讓各模塊工作;第四是按鍵模塊,切換系統(tǒng)工作狀態(tài);另一方面是系統(tǒng)驅(qū)動(dòng)模塊,使系統(tǒng)顯示模塊可以正常工作;其系統(tǒng)整體設(shè)計(jì)構(gòu)造如圖2-4所示:圖2-4系統(tǒng)整體框圖2.2.1系統(tǒng)控制模塊方案一:由上表2.1真值表可得,本系統(tǒng)可以依照數(shù)字電子技術(shù)搭建電路實(shí)現(xiàn)上述功能,使用數(shù)字計(jì)數(shù)器、譯碼器、數(shù)字脈沖發(fā)生器實(shí)現(xiàn)上述功能。電路簡(jiǎn)樸,成本低廉。方案二:采用單片機(jī)STC89C51最小系統(tǒng)作為控制器。單片機(jī)運(yùn)算能力強(qiáng),軟件編程非常靈活,自由度大。使用時(shí)容易掌握;采用STC89C51單片機(jī)穩(wěn)定可靠、應(yīng)用廣泛、通用性強(qiáng)。方案比較:采用方案一來實(shí)現(xiàn)十字路口交通燈控制系統(tǒng)非常以便,電路構(gòu)造簡(jiǎn)樸,控制單一,但整個(gè)系統(tǒng)性能不是很高,倒計(jì)時(shí)不是很精準(zhǔn),如果規(guī)定系統(tǒng)能設(shè)立不同工作時(shí)間不容易,設(shè)計(jì)復(fù)雜。而方案二完全能實(shí)現(xiàn)設(shè)計(jì)規(guī)定,容易掌握,利于編程,易控制,I/O接口諸多,易于擴(kuò)展外圍電路,價(jià)格便宜,故選取方案二。2.2.2系統(tǒng)顯示模塊方案一:采用8段數(shù)碼管顯示。這種方案完全夠用紅綠燈倒計(jì)時(shí)顯示,且價(jià)格便宜。方案二:采用點(diǎn)陣式LED顯示。這種方案雖然功能強(qiáng)大,并可以便顯示各種符號(hào),但實(shí)現(xiàn)復(fù)雜,且須完畢大量軟件工作,價(jià)格昂貴。綜上所述,我選取第一種方案,四個(gè)路口采用兩個(gè)二位共陰極數(shù)碼管。2.2.3系統(tǒng)按鍵模塊方案一:矩陣鍵盤:編程簡(jiǎn)樸,但揮霍i/o接口。方案二:獨(dú)立鍵盤:需要較多按鍵設(shè)計(jì)時(shí),占用接口較少,但編程相稱復(fù)雜。綜上所述,雖然單片機(jī)接口有限,但是此交通燈按鍵較少,系統(tǒng)接口夠用,故適當(dāng)采用[2]。我選用方案一。2.2.4顯示驅(qū)動(dòng)模塊方案一:使用三極管驅(qū)動(dòng)。軟件規(guī)定較低,由于本次設(shè)計(jì)需要數(shù)碼管數(shù)量較多,故需要較多三極管,硬件規(guī)定較高,電路復(fù)雜。方案二:采用74HC245,編程簡(jiǎn)樸;集成度較高,硬件簡(jiǎn)樸。綜上所述,我選用第二種方案。2.2.5系統(tǒng)電源模塊方案一:采用獨(dú)立穩(wěn)壓電源。此方案長(zhǎng)處是穩(wěn)定可靠,且有各種成熟電路可供選用;缺陷是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且也許影響電路電平;且成本較高。方案二:采用單片機(jī)控制模塊提供電源,使用電池盒供電。該方案長(zhǎng)處是系統(tǒng)簡(jiǎn)要扼要,節(jié)約成本;缺陷是輸出功率不高。綜上所述,為使模塊穩(wěn)定工作,須有可靠電源,我選取第二種方案[2]。3原理簡(jiǎn)介3.1STC89C51單片機(jī)簡(jiǎn)介STC89C51是89C51系列單片機(jī)中應(yīng)用較為廣泛一種型號(hào),它把所有控制所需功能集中到一種尺寸有限集成電路芯片上。重要由CPU、RAM、4KFLASHROM、四個(gè)8位可編程并行I/O口、一種全雙工串行、2個(gè)16位定期/計(jì)數(shù)、中斷系統(tǒng)、SFR[3]。其內(nèi)部構(gòu)造如下圖3-1所示:圖3-151單片機(jī)內(nèi)部構(gòu)造STC89C51單片機(jī)40條引腳按功能來分,40個(gè)引腳可以分為三大類:電源及時(shí)鐘引腳—Vcc、Vss、XTAL1、XTAL2??刂埔_—RESET(即RSR/VPD)、ALE、EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(_________),PSEN)、EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(____),EA)。和輸入/輸出引腳—P0、P1、P2、P3,4個(gè)8位I/O外部引腳。單片機(jī)引腳如圖3-2所示:圖3-2STC89C51單片機(jī)引腳3.1.1STC89C51單片機(jī)引腳功能主電源及時(shí)鐘引腳(1)Vcc(40引腳):接+5V電源,為單片機(jī)芯片提供電能。(2)Vss(20引腳)接地。(3)XTAL1(19引腳)在單片機(jī)內(nèi)部,它是一種片內(nèi)振蕩器反向放大器輸入端,該放大器構(gòu)成了片內(nèi)振蕩器,可提供單片機(jī)時(shí)鐘控制信號(hào)。當(dāng)使用片內(nèi)振蕩器時(shí),該腳接外部石英晶體和微調(diào)電容。當(dāng)采用外接時(shí)鐘電源時(shí),引腳接外部時(shí)鐘信號(hào),XTAL2懸空。(4)XTAL2(18引腳)在單片機(jī)內(nèi)部,接至上述振蕩器反向輸出端。當(dāng)使用片內(nèi)振蕩器時(shí),該角接外部石英晶體和微調(diào)電容。3.1.2控制引腳控制引腳:(1)RST(9引腳):復(fù)位信號(hào)輸入端,高電平有效,當(dāng)單片機(jī)運(yùn)營(yíng)時(shí),在此引腳加上兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)高電平時(shí),將使單片機(jī)復(fù)位。要使單片機(jī)正常工作,復(fù)位后應(yīng)使此引腳電平保持為不不不大于0.5V低電平[3]。(2)ALE/EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(_________),PROG)(30引腳):ALE為低8位地址鎖存容許信號(hào)。在系統(tǒng)擴(kuò)展時(shí),ALE負(fù)跳沿將P0口發(fā)送出低8位地址鎖存在外接地址鎖存器中,然后P0口再作為數(shù)據(jù)端口,以實(shí)現(xiàn)P0口低8位地址和數(shù)據(jù)分時(shí)傳送[3]。(3)EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(),PSEN)(29引腳):片外程序存儲(chǔ)器選通信號(hào)。在單片機(jī)讀外部程序存儲(chǔ)器時(shí),此引腳輸出脈沖負(fù)跳沿作為讀外部程序存儲(chǔ)器選通信號(hào)。此引腳接外部程序存儲(chǔ)器EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(),OE)端;在訪問外部RAM時(shí),EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(————),PSEN)信號(hào)無效[3]。(4)EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(———),EA)(31腳):EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(———),EA)功能為內(nèi)外程序存儲(chǔ)器選取控制端。當(dāng)EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(———),EA)端保持高電平時(shí),單片機(jī)讀片內(nèi)部程序存儲(chǔ)器,但在PC值超過0FFFH時(shí)將自動(dòng)轉(zhuǎn)向訪問外部程序存儲(chǔ)器內(nèi)程序。當(dāng)EQ\*jc0\*"Font:宋體"\*hps12\o\ad(\s\up11(———),EA)引腳為低電平時(shí),對(duì)程序存儲(chǔ)器只限定在外部程序存儲(chǔ)器[3]。3.1.3輸入/輸出引腳此類引腳涉及P0口、P1口、P2口和P3口。(1)P0(P0.0-P0.7)是一種8位三態(tài)雙向I/O口,在不訪積壓處部存儲(chǔ)器時(shí),做通用I/O口使用,用于傳送CPU輸入/輸出數(shù)據(jù),當(dāng)訪問外部存儲(chǔ)器時(shí),此口為地址總路線低8位及數(shù)據(jù)總路線分時(shí)復(fù)用口,可帶8個(gè)LSTTL負(fù)載[4]。(2)P1(P1.0-P2.7)是一種8位準(zhǔn)雙向I/O口,帶有內(nèi)部上拉電阻,可帶4個(gè)LSTTL負(fù)載[4]。(3)P2(P2.0-P2.7)是一種8位準(zhǔn)雙向I/O口,與地址總路線高8位復(fù)用,可驅(qū)動(dòng)4個(gè)LSTTL負(fù)載[4]。(4)P3(P3.0-P3.7)是一種8位準(zhǔn)雙向I/O口,除此之外每位還具備第二功能[4]。P3口功能表如下表3.1所示:

表3.1P3口第二功能定義3.2單片機(jī)最小系統(tǒng)圖3-4單片機(jī)最小系統(tǒng)電路圖3.2.1時(shí)鐘電路STC89C51單片機(jī)個(gè)功能部件運(yùn)營(yíng)都已時(shí)鐘控制信號(hào)為基準(zhǔn),使系統(tǒng)有條不絮工作。直接關(guān)系到系統(tǒng)穩(wěn)定和工作速度,因而時(shí)鐘是系統(tǒng)重要構(gòu)成某些;時(shí)鐘電路有兩種方式,內(nèi)部時(shí)鐘和外部時(shí)鐘方式,本系統(tǒng)選用內(nèi)部時(shí)鐘。內(nèi)部時(shí)鐘電路如下圖3-5所示:圖3-5時(shí)鐘電路電路中電容C1、C2典型值普通選取30pF左右,該電容大小會(huì)影響震蕩頻率高低,震蕩迅速性此系統(tǒng)選取30pF;晶振頻率范疇在1.2-12MHZ晶體頻率越高,系統(tǒng)頻率越高,運(yùn)營(yíng)速度越快。此系統(tǒng)選用12MHZ;晶體振蕩器和電容應(yīng)盡量安裝得與單片機(jī)芯片接近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作[5]。3.2.2.復(fù)位電路最小系統(tǒng)復(fù)位是由外部電路來實(shí)現(xiàn),復(fù)位操作不會(huì)對(duì)內(nèi)部RAM有所影響。片內(nèi)復(fù)位引腳RST通過一種斯密特觸發(fā)器與復(fù)位電路相連,施密特觸發(fā)器可用來抑制噪聲,在每個(gè)機(jī)器周期S5P2,由復(fù)位電路采樣一次。復(fù)位電路普通采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,按鍵電平復(fù)位電路如下圖3-6所示:圖3-6復(fù)位電路此復(fù)位電路采用是按鈕復(fù)位電路。時(shí)鐘頻率選用12MHz,C取10μF,Rs選用電阻值為2.2KΩ,Rk電阻值為10KΩ。3.2.3顯示原理LED是LightEmittingDiode縮寫,中文意思是發(fā)光二極管,是一種可以將電能轉(zhuǎn)化為可見光固態(tài)半導(dǎo)體器件,LED特點(diǎn)非常明顯,具備壽命長(zhǎng)、光效高、輻射低、功耗低等長(zhǎng)處。LED因其高亮度、低熱量、長(zhǎng)壽命、無毒、可回收再運(yùn)用等長(zhǎng)處,交通燈運(yùn)用發(fā)光二極管來顯示不同顏色信號(hào)批示燈。電路圖如下圖3-7所示:圖3-7LED燈數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管;按發(fā)光二極管單元點(diǎn)亮方式可以分為共陰極數(shù)碼管和共陽數(shù)碼管。共陽極就是將所有發(fā)光二級(jí)管陽級(jí)接到一種公共端,公共端接高電壓,慣用+5V;同理共陰極就是講所有發(fā)光二級(jí)管陰極接到一起,公共端接地。本系統(tǒng)采用倆位共陰極八段數(shù)碼管。其管腳電路如下圖3-8所示:圖3-8數(shù)碼管顯示引腳圖由如上管腳圖可知,該數(shù)碼管有十個(gè)管腳G1為公共端,該引腳接地A~G和dp分別相應(yīng)數(shù)碼管各段被點(diǎn)亮,S1、S2為選通位,分別相應(yīng)數(shù)碼管第一、二位。其顯示數(shù)字和編碼相應(yīng)如下表3.2所示:表3.2共陰極數(shù)碼管顯示編碼3.374HC245簡(jiǎn)介74HC24,總線收發(fā)器(bustransceiver),典型CMOS型三態(tài)緩沖門電路。用于提高單片機(jī)數(shù)據(jù)總線、地址總線、控制總線端口負(fù)載能力[7]。其引腳圖如下圖3-9所示:圖3-974HC245引腳圖管腳定義如下表3.3所示:表3.3245管腳定義功能真值表如下表3.4所示:表3.4功能真值

4系統(tǒng)硬件設(shè)計(jì)4.1系統(tǒng)總構(gòu)成本系統(tǒng)擬采用STC89C51單片機(jī)為控制核心最小系統(tǒng)、74HC245驅(qū)動(dòng)電路、以及外圍按鍵和數(shù)碼管顯示等部件,設(shè)計(jì)一種基于單片機(jī)交通燈設(shè)計(jì)。設(shè)計(jì)通過兩位一體共陰極數(shù)碼管顯示,并能通過按鍵對(duì)定期進(jìn)行設(shè)立。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)樸、擴(kuò)展功能強(qiáng)。在相似時(shí)間里提高通車質(zhì)量、效率。并能在高峰期依照實(shí)際狀況結(jié)合方程式控制按鈕來調(diào)節(jié)主次干道通車時(shí)間,減少交通擁擠堵塞現(xiàn)象。并使交通控制系統(tǒng)具備緊急控制,使救護(hù)車、救護(hù)車通過時(shí),使兩個(gè)方向均亮紅燈,救護(hù)車和消防車通過后,恢復(fù)本來狀態(tài),增長(zhǎng)對(duì)浮現(xiàn)特殊狀況解決能力。鍵盤設(shè)立模塊對(duì)系統(tǒng)輸入模式選取及詳細(xì)通行時(shí)間設(shè)立信號(hào),系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同步將時(shí)間數(shù)據(jù)倒計(jì)時(shí)輸入到LED數(shù)碼管上實(shí)時(shí)顯示。在此過程中還要實(shí)時(shí)捕獲違規(guī)檢測(cè)和緊急按鍵信號(hào),以達(dá)到對(duì)異常狀態(tài)進(jìn)行實(shí)時(shí)控制目。急停按違規(guī)檢測(cè)隨時(shí)調(diào)用中斷。本單片機(jī)控制交通燈系統(tǒng),可用單片機(jī)直接控制信號(hào)燈狀態(tài)變化,基本上可以指揮交通詳細(xì)通行,固然,接入LED數(shù)碼管就可以顯示倒計(jì)時(shí)以提示行使者,更具人性化。本系統(tǒng)在此基本上,單片機(jī)對(duì)此進(jìn)行詳細(xì)解決,及時(shí)調(diào)節(jié)控制指揮。如圖4.1所示:圖4.1系統(tǒng)整體構(gòu)造圖由上圖可得,本系統(tǒng)以單片機(jī)最小系統(tǒng)為核心,構(gòu)成一種解決、自動(dòng)控制為一身閉環(huán)控制系統(tǒng)。系統(tǒng)硬件電路由單片機(jī)最小系統(tǒng)、LED紅綠燈、LED8段數(shù)碼管顯示、驅(qū)動(dòng)電路、按鍵等構(gòu)成。實(shí)現(xiàn)本設(shè)計(jì)規(guī)定詳細(xì)功能,可以用STC89C51單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng),12個(gè)發(fā)光二極管提成4組紅綠黃三色燈構(gòu)成信號(hào)燈批示模塊,8個(gè)LED東西南北各兩個(gè)構(gòu)成倒計(jì)時(shí)顯示模塊,若干按鍵構(gòu)成時(shí)間設(shè)立和模式選取按鈕和緊急按鈕等。其中P0,P1,用于送顯LED數(shù)碼管型和位,P2用于控制紅綠黃發(fā)光二極管,XTAL1和XTAL2接入晶振時(shí)鐘電路,REST引腳接上復(fù)位電路,P3用于口按鍵控制。4.2系統(tǒng)總電路依照上述原理將各個(gè)某些用電路聯(lián)系在一起,構(gòu)成整個(gè)系統(tǒng)電路如下圖4.2所示:圖4-2系統(tǒng)電路原理圖

5系統(tǒng)軟件設(shè)計(jì)5.1主函數(shù)流程圖將系統(tǒng)分解為若干模塊;按鍵模塊程序,顯示模塊程序,LED紅綠燈程序。最后主函數(shù)調(diào)用各個(gè)模塊。主函數(shù)程序流程圖如圖5-1所示:圖5-1主函數(shù)流程圖5.2子函數(shù)程序流程圖5.2.1外部中斷本系統(tǒng)存在兩個(gè)外部中斷;外部中斷有兩種觸發(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存在按鍵時(shí),故觸發(fā)外部中斷。其程序流程如圖5-2所示:圖5-2外部中斷程序流程圖當(dāng)存在P3.2或P3.3存在按鍵時(shí),即存在外部中斷外部中斷響應(yīng)程序流程圖如下圖5-3所示:圖5-3外部中斷響應(yīng)程序流程圖5.2.2定期器中斷本設(shè)計(jì)單片機(jī)定期器設(shè)立直接關(guān)系到系統(tǒng)精準(zhǔn)度,單片機(jī)定期器時(shí)間計(jì)算辦法可以有兩種:一種是單片機(jī)內(nèi)部定期器溢出中斷,另一種是采用軟延時(shí)辦法。STC89C51單片機(jī)定期/計(jì)數(shù)有4種工作方式;工作方式選取如下表5.1所示:表5.1工作方式M0M1工作方式0013位定期/計(jì)數(shù)器0116位定期/計(jì)數(shù)器108位常數(shù)自動(dòng)裝載定期/計(jì)數(shù)器11僅合用T0當(dāng)且僅當(dāng)方式1時(shí),最大計(jì)數(shù)為:216*1=65.535ms;TMOD=0X11;選取T0,方式1;TH0=3C,TL0=B0,計(jì)時(shí)50ms;因而1秒鐘已經(jīng)遠(yuǎn)遠(yuǎn)超過了計(jì)數(shù)器方式一最大定期間,咱們定期中斷中設(shè)定一種初值count為0;并設(shè)立T0定期50ms.每次中斷服務(wù)子程序。計(jì)數(shù)器count加1,然后判斷它與否等于20。等于20表達(dá)1秒已到可以返回到輸出時(shí)間顯示程序。程序流程圖5-4如下所示:圖5-4定期一秒流程圖

6調(diào)試6.1軟件調(diào)試使用keil編譯、運(yùn)營(yíng)程序成果如下圖所示:圖6-1keil編譯、運(yùn)營(yíng)成果6.2硬件調(diào)試使用protus電路仿真成果如下圖6-2所示:圖6-2protus硬件仿真成果在硬件實(shí)物調(diào)試中浮現(xiàn)如下問題:系統(tǒng)不能正常工作問題因素:供電電源局限性;解決辦法:采用USB電源供電。二、3個(gè)LED批示燈不亮、電源燈不亮。問題因素:浮現(xiàn)虛焊,漏焊,腐蝕電路浮現(xiàn)漏焊。電源批示燈上拉電阻焊錯(cuò),本來焊接2.2KΩ,焊成22KΩ;解決辦法:用萬用表檢查電路最后找到源頭,重焊,用焊錫連接斷路處。將22kΩ換成2.2kΩ。

參照文獻(xiàn)[1]LaishengXiao.InternetofThings:aNewApplicationforIntelligentTrafficMonitoringSystem,JournalOfNetworks,。[2]嚴(yán)雨,廉潔。單片機(jī)c語言100應(yīng)用例,電子工業(yè)出版社,。[3]張毅剛、彭喜元。單片機(jī)原理與應(yīng)用設(shè)計(jì),電子工業(yè)出版社,。[4]孫寶元、楊寶清。傳感器及其應(yīng)用手冊(cè),。[5]聶典、丁偉?;贛ultisim1051單片機(jī)仿真教程,電子工業(yè)出版社,。[6]張志勇、何東健、肖軍利、王順。單片機(jī)在膠訂機(jī)智能控制系統(tǒng)中應(yīng)用[期刊論文]-包裝工程,。[7]王為青、邱文勛。51單片機(jī)開發(fā)案例精選[J],人民郵電出版社,。[8]張?chǎng)?,華臻,陳書謙。單片機(jī)原理及應(yīng)用[J],電子工業(yè)出版社,。[9]張洪潤(rùn),張亞凡。單片機(jī)原理及應(yīng)用[J],清華大學(xué)出版社,。[10]蔣輝平,周國(guó)雄。基于Proteus單片機(jī)系統(tǒng)設(shè)計(jì)與仿真實(shí)例[M],機(jī)械工業(yè)出版社,。[11]張萌。單片機(jī)應(yīng)用系統(tǒng)開發(fā)綜合實(shí)例,清華大學(xué)出版社,。

附錄程序整個(gè)系統(tǒng)軟件程序如下所示:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintuchardatabuf[4];uchardatasec_dx=20; //東西數(shù)默認(rèn)uchardatasec_nb=30; //南北默認(rèn)值uchardataset_timedx=20; //設(shè)立東西方向時(shí)間uchardataset_timenb=30; //設(shè)立南北方向時(shí)間intn;uchardatacountt0;//定期器0中斷次數(shù)sbitk4=P3^7;//切換方向sbitk1=P3^5; //時(shí)間加sbitk2=P3^6; //時(shí)間減sbitk3=P3^4; //確認(rèn)sbitk5=P3^1; //禁止sbitk6=P1^5; //夜間模式sbitRed_nb=P2^6; //南北紅燈標(biāo)志sbitYellow_nb=P2^5; //南北黃燈標(biāo)志sbitGreen_nb=P2^4;//南北綠燈標(biāo)志sbitRed_dx=P2^3; //東西紅燈標(biāo)志sbitYellow_dx=P2^2; //東西黃燈標(biāo)志sbitGreen_dx=P2^1; //東西綠燈標(biāo)志sbitBuzz=P3^0; bitBuzzer_Indicate;bitset=0; //調(diào)時(shí)方向切換鍵標(biāo)志=1時(shí),南北,=0時(shí),東西bitdx_nb=0; //東西南北控制位bitshanruo=0;ucharcodetable[11]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//共陰極數(shù)碼管顯示數(shù)字編碼voiddelay(intms); //聲明延聲時(shí)子程序voidkey(); //聲明按鍵掃描子程序voidkey_to1(); //聲明鍵解決子程序voidkey_to2();voidkey_to3();voiddisplay(); //顯聲明示子程序voidlogo(); //聲明開機(jī)LOGOvoidBuzzer();voidmain()//主程序{ TMOD=0X11; //定期器設(shè)立 TH0=0X3C; //定期器0置初值0.05S TL0=0XB0; EA=1; //開總中斷 ET0=1; //定期器0中斷啟動(dòng) TR0=1; //啟動(dòng)定期0 EX0=1; //開外部中斷0 EX1=1; //開外部中斷1logo(); P2=0Xc3; //開始默認(rèn)狀態(tài),東西綠燈,南北黃燈sec_nb=sec_dx+5; //默認(rèn)南北通行時(shí)間比東西多5秒 while(1) { key(); //調(diào)用按鍵掃描程序 display(); //調(diào)用顯示程序 Buzzer(); } }voidkey(void) //按鍵掃描子程序{ if(k1!=1) //當(dāng)K1(時(shí)間加)按下時(shí) { display(); //調(diào)用顯示,用于延時(shí)消抖 if(k1!=1) { TR0=0; //關(guān)定期器 shanruo=0; P2=0x00; if(set==0) set_timedx++; //南北加1S else set_timenb++; //東西加1S if(set_timenb==100) set_timenb=1; if( set_timedx==100) set_timedx=1; //加到100置1 sec_nb=set_timenb; //設(shè)立數(shù)值賦給東西南北 sec_dx=set_timedx; do { display(); } while(k1!=1); } } if(k2!=1) //當(dāng)K2(時(shí)間減)按鍵按下時(shí) { display(); //調(diào)用顯示,用于延時(shí)消抖 if(k2!=1) { TR0=0; //關(guān)定期器 shanruo=0; P2=0x00; if(set==0) set_timedx--; //南北減1S else set_timenb--; //東西減1S if(set_timenb==0) set_timenb=99; if( set_timedx==0) set_timedx=99; //減到1重置99 sec_nb=set_timenb; //設(shè)立數(shù)值賦給東西南北 sec_dx=set_timedx; do { display(); //調(diào)用顯示,用于延時(shí) } while(k2!=1); } } if(k3!=1) //當(dāng)K3(確認(rèn))鍵按下時(shí) { display(); //調(diào)用顯示,用于延時(shí)消抖 if(k3!=1) { TR0=1; //啟動(dòng)定期器 Buzzer_Indicate=0; sec_nb=set_timenb; //從中斷回答,仍顯示設(shè)立過數(shù)值 sec_dx=set_timedx; //顯示設(shè)立過時(shí)間 if(set==0) //時(shí)間倒時(shí)到0時(shí) { 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)用顯示,用于延時(shí)消抖 if(k4!=1) { TR0=0; set=!set; //取反set標(biāo)志位,以切換調(diào)節(jié)方向 dx_nb=set; do { display(); } while(k4!=1); } } if(k5!=1) //當(dāng)K5(禁止)鍵按下時(shí) { display(); //調(diào)用顯示,用于延時(shí)消抖 if(k5!=1) { TR0=0; //關(guān)定期器 P2=0x00; Red_dx=1; Red_nb=1; //所有置紅燈 sec_dx=00; //四個(gè)方向時(shí)間都為00 sec_nb=00; Buzzer_Indicate=1; do { display(); } while(k5!=1); } } if(k6!=1) //當(dāng)K6(夜間模式)按下 { display(); //調(diào)用顯示,用于延時(shí)消抖 if(k6!=1) { TR0=0; //關(guān)定期器 P2=0x00; Yellow_dx=1; Yellow_nb=1; //所有置黃燈 sec_dx=00; //四個(gè)方向時(shí)間都為00 sec_nb=00; Buzzer_Indicate=1; do { display(); } while(k6!=1); } }}voiddisplay(void)//顯示子程序{ buf[1]=sec_nb/10; //第1位東西秒十位 buf[2]=sec_nb%10; //第2位東西秒個(gè)位 buf[3]=sec_dx/10; //第3位南北秒十位 buf[0]=sec_dx%10; //第4位南北秒個(gè)位 P1=0xff; //初始燈為滅 P0=0x00; P1=0xfe; //片選LED1 P0=table[buf[1]]; /送東西時(shí)間十位數(shù)碼管編碼 delay(1); //延時(shí) P1=0xff; //關(guān)顯示 P0=0x00; P1=0xfd; //片選LED2 P0=table[buf[2]]; delay(1); P1=0xff; P0=0x00; P1=0Xfb; //片選LED3 P0=table[buf[3]]; delay(1); P1=0xff; P0=0x00; P1=0Xf7; P0=table[buf[0]]; //片選LED4 delay(1);}voidtime0(void)interrupt1using1 //定期中斷子程序{ TH0=0X3C; //重賦初值 TL0=0XB0; TR0=1; //重新啟動(dòng)定期器 countt0++; //軟件計(jì)數(shù)加1 if(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時(shí)(即1秒時(shí)) { countt0=0; //清零計(jì)數(shù)器 sec_dx--; //東西時(shí)間減1 sec_nb--; //南北時(shí)間減1 if((sec_nb<=5)&&(dx_nb==0)&&(shanruo==1)) //東西黃燈閃 { Green_dx=0; Yellow_dx=1; Buzz=1; } if((sec_dx<=5)&&(dx_nb==1)&&(shanruo==1)) //

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論