版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE33PAGE26基于51單片機(jī)的交通燈設(shè)計(jì)與研究摘要系統(tǒng)以AT89C51單片機(jī)最小系統(tǒng)做為核心控制器,其他部分分別由數(shù)碼管顯示模塊、LED發(fā)光二極管顯示模塊、數(shù)碼管驅(qū)動(dòng)模塊、LED發(fā)光二極管驅(qū)動(dòng)模塊、獨(dú)立按鍵陣列模塊、聲光報(bào)警模塊、穩(wěn)壓電源模塊和程序下載模塊等組成。系統(tǒng)設(shè)計(jì)中充分利用了單片機(jī)的I/O口,并用了3個(gè)74HC573芯片作為單片機(jī)和數(shù)碼管、LED發(fā)光二極管之間的緩沖器和驅(qū)動(dòng)器,使數(shù)碼管和LED發(fā)光二極管正常顯示,并且使單片機(jī)的并口總電流不會(huì)超過(guò)規(guī)定的限制電流總和。系統(tǒng)對(duì)車輛放行和車輛禁行時(shí)間用數(shù)碼管進(jìn)行倒計(jì)時(shí)顯示,不僅實(shí)現(xiàn)了基本的交通信號(hào)燈切換功能,還實(shí)現(xiàn)了緊急情況處理、紅綠燈加時(shí)設(shè)置、夜間模式選擇、東西方向和南北方向車輛闖紅燈報(bào)警、東西方向和南北方向人行道臨時(shí)通行等功能,從一定程度上解決了人行道臨時(shí)通行、車流量大需要加時(shí)、車輛闖紅燈和緊急情況處理等問(wèn)題,同時(shí),系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低、實(shí)時(shí)強(qiáng)、安裝與維護(hù)方便,提高了交通燈控制系統(tǒng)的綜合應(yīng)用能力,具有廣泛的應(yīng)用前景。關(guān)鍵字單片機(jī),LED發(fā)光二極管,數(shù)碼管AbstractSystemtotheminimumsystemofat89c51microcontrollerasthecorecontroller,otherpartsofthedigitaldisplaymodule、ledlight-emittingdiodedisplaymodule、nixietubedrivermodule、independentkeyarraymodule、Soundandlightalarmmodule、regulatedpowersupplymoduleanddownloadmoduleandsoon.thesystemdesigntakesfulladvantageofthemicrocontrolleri/oport,andthree74hc573chipasamicrocontrolleranddigitaltube,bufferbetweentheledlightemittingdiodeanddrive,digitalcontrolandledlight-emittingdiodedisplayproperly,andthesumofthesinglechipparallelporttotalcurrentdoesnotexceedtheprescribedlimitthecurrent.Systemonthevehicleclearanceandvehiclebantimedigitaltubecountdowndisplay,notonlytoachievethebasicswitchingfunctionofthetrafficlights,emergencycircumstances,setwhenthetrafficlightsplus、nightmodeselectioneast-westdirectionandnorth-southdirectionofthevehicleranaredlightalarm,east-westdirectionandnorth-southdirectionofthesidewalk,temporaryaccessandotherfunctions,sidewalktemporarypassagetoacertainextenttosolvethe、whenthetrafficisheavyplus、vehiclesrunningredlightsandemergencytreatment,meanwhile,thesystemissimple,highreliability,lowcost,real-timestrong,installationandeasymaintenance,improvetheabilityoftrafficlightcontrolsystem,hasbroadapplicationprospects.Keywords:Mcu,Ledlight-emittingdiode,Digitaltube目錄1緒論 11.1交通燈控制系統(tǒng)的研究現(xiàn)狀 11.2基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)的意義 12設(shè)計(jì)任務(wù)與基本思路 32.1設(shè)計(jì)任務(wù) 32.2設(shè)計(jì)要求 32.3設(shè)計(jì)思路 43主控系統(tǒng)板及芯片簡(jiǎn)介 73.1主控系統(tǒng)板簡(jiǎn)介 73.2主控芯片簡(jiǎn)介 73.2.1AT89C51單片機(jī)主要特性 73.2.2AT89C51單片機(jī)管腳說(shuō)明 74方案比較與論證 114.1方案選擇 114.1.1系統(tǒng)電源模塊方案的選擇 114.1.2顯示模塊方案的選擇 114.1.3鍵盤掃描模塊方案選擇 124.1.4數(shù)碼管和LED發(fā)光二極管驅(qū)動(dòng)模塊選擇 124.1.5最小系統(tǒng)復(fù)位電路選擇 134.1.6軟件方案選擇 135系統(tǒng)硬件設(shè)計(jì) 145.1系統(tǒng)硬件框結(jié)構(gòu)圖 145.2單片機(jī)最小系統(tǒng)和各模塊原理 145.2.1單片機(jī)最小系統(tǒng)原理圖 145.2.2USB供電模塊 155.2.3獨(dú)立按鍵掃描模塊 155.2.4穩(wěn)壓電源模塊 185.2.5聲光報(bào)警模塊 185.2.6LED數(shù)碼管驅(qū)動(dòng)和顯示模塊 195.2.7LED發(fā)光二極管驅(qū)動(dòng)和顯示模塊 215.2.8最小系統(tǒng)程序下載模塊 225.2.9單片機(jī)最小系統(tǒng)時(shí)鐘電路 235.2.10按鍵與上電復(fù)位電路 246系統(tǒng)軟件設(shè)計(jì) 256.1系統(tǒng)主程序及程序流程圖 256.2緊急情況處理程序及程序流程圖 276.3紅綠燈加時(shí)程序及程序流程圖 296.4人行道通行程序及程序流程圖 306.5夜間模式程序及程序流程圖 347系統(tǒng)調(diào)試和功能描述 367.1系統(tǒng)硬件調(diào)試 367.1.1系統(tǒng)實(shí)物圖 367.1.2調(diào)試儀器 367.1.3調(diào)試過(guò)程 377.2系統(tǒng)軟件調(diào)試 377.3軟硬件結(jié)合調(diào)試 387.4系統(tǒng)功能描述和不足之處 387.4.1系統(tǒng)功能描述 387.4.2系統(tǒng)不足之處和改進(jìn)措施 39總結(jié) 41參考文獻(xiàn) 42附錄 43附錄1系統(tǒng)原理圖 43附錄2系統(tǒng)仿真圖 43附錄3程序清單 44致謝 481緒論1.1交通燈控制系統(tǒng)的研究現(xiàn)狀今天,紅綠燈安裝在十字路口上,已經(jīng)成為疏導(dǎo)交通非常有效的手段。1858年,英國(guó)倫敦的重要街頭都裝置了紅、綠兩種顏色的扳手式交通燈,對(duì)馬車進(jìn)行指揮,從此世界上最早的信號(hào)燈誕生了。1868年,英國(guó)安裝了世界上最早的煤氣紅綠燈。它由紅、綠兩色可以旋轉(zhuǎn)的玻璃提燈構(gòu)成,綠燈代表“警惕通行”,紅燈代表“禁止通行”。1915年,使用電氣控制的信號(hào)燈在美國(guó)成功安裝,這種信號(hào)燈由綠、黃、紅三種顏色的投光器組成,綠燈亮代表“允許通行”,紅燈亮代表“禁止通行”。而中國(guó)最早的馬路交通燈卻是出現(xiàn)在1928年的上海英租界。直到20世紀(jì)后交通信號(hào)燈在科學(xué)領(lǐng)域、自動(dòng)化領(lǐng)域上不斷地更新和發(fā)展,才開始用采用電子定時(shí)監(jiān)控。隨著社會(huì)的不斷進(jìn)步,傳統(tǒng)交通燈的不足之處不斷增加,不能滿足現(xiàn)狀要求,最明顯的問(wèn)題是達(dá)不到最大通行效率,紅綠燈交替變換時(shí)間過(guò)于太固定。隨著我國(guó)車輛的快速增加,人們對(duì)交通燈的綜合要求不斷加大,特別是大城市的交通擁堵情況非常嚴(yán)重,目前通常的解決方法是:首先通過(guò)車輛流量的統(tǒng)計(jì),利用原始的方法設(shè)計(jì)好紅綠燈的延時(shí),但是,實(shí)際上的車流量不斷變化的,有的路口在不同的時(shí)間段車流量的大小甚至有很大的差異,傳統(tǒng)的方法己不能適應(yīng)迅速發(fā)展的交通現(xiàn)狀。1.2基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)的意義國(guó)內(nèi)的交通燈基本都裝在十字道路,在明顯地方用綠、黃、紅三種顏色的信號(hào)燈,再用幾個(gè)數(shù)碼管顯示出紅綠燈的剩余時(shí)間。通常交通燈在一般道路下,對(duì)車輛分流能夠發(fā)揮作用,但在交通燈疏導(dǎo)車輛通行的過(guò)程中,還存在以下缺點(diǎn):①兩車道的車輛交換通行時(shí)間一樣且固定,在十字道路,主車道卻一直為主車道,太過(guò)于固定,通行時(shí)間也不太科學(xué);副車道卻一直為副車道,太過(guò)于固定,通行時(shí)間也不科學(xué)。②沒(méi)有緊急通行車道或者緊急情況處理措施,例如救護(hù)車搶救病人需要緊急通行,兩車道的其他車輛都應(yīng)禁止通行,讓救護(hù)車安全通過(guò)。由于傳統(tǒng)交通燈的控制系統(tǒng)設(shè)計(jì)過(guò)于固定,紅綠燈交替時(shí)間過(guò)于程式化的缺點(diǎn),更加顯示出智能交通燈控制系統(tǒng)的優(yōu)勢(shì),它能根據(jù)道路的實(shí)際情況進(jìn)行各種人性化的處理,這也利用單片機(jī)設(shè)計(jì)交通燈控制系統(tǒng)最大的意義。2設(shè)計(jì)任務(wù)與基本思路2.1設(shè)計(jì)任務(wù)利用51單片機(jī)做為核心控制器,設(shè)計(jì)一個(gè)交通燈模擬系統(tǒng)。2.2設(shè)計(jì)要求(1)首先交通燈模擬系統(tǒng)能夠?qū)崿F(xiàn)最基本的信號(hào)燈變換,同時(shí)具有顯示器顯示紅燈和綠燈的倒計(jì)時(shí)。(2)交通燈模擬系統(tǒng)分為白天模式和夜間模式,并且白天模式和夜間模式之間可以自由切換。白天模式:紅、綠信號(hào)燈交替變換,并用顯示器顯示紅、綠燈的倒計(jì)時(shí);夜間模式:在深夜車很少的時(shí)候,把交通信號(hào)燈的紅、綠燈關(guān)閉,四個(gè)方向只有黃燈閃爍,提示車輛注意通行。(3)交通燈模擬系統(tǒng)具有緊急通道或者緊急情況處理功能,當(dāng)要緊急通行或緊急情況處理時(shí),交通信號(hào)燈全亮紅燈,車輛禁止通行,蜂鳴器報(bào)警。(4)交通燈模擬系統(tǒng)具有車輛闖紅燈報(bào)警功能。當(dāng)南北方向車輛禁止通行時(shí),東西方向車輛允許通行,此時(shí)如果南北方向有車輛闖紅燈,則系統(tǒng)警報(bào),反之,如果東西方向闖紅燈,系統(tǒng)也警報(bào)。(5)交通燈模擬系統(tǒng)具有紅綠燈加時(shí)功能,當(dāng)東西方向允許通行,但是車流量大時(shí)候,可以手動(dòng)給綠燈加時(shí),即同時(shí)也給南北方向的紅燈加時(shí);當(dāng)南北方向允許通行,但是車流量大時(shí)候,可以手動(dòng)給綠燈加時(shí),即同時(shí)也給東西方向的紅燈加時(shí)。(6)交通燈模擬系統(tǒng)具有人行道臨時(shí)通行功能,當(dāng)東西方向車輛允許通行時(shí),東西人行道禁止通行時(shí),或者南北方向車輛允許通行,南北人行道禁止通行,可以通過(guò)按鍵實(shí)現(xiàn)人行道臨時(shí)通行功能。2.3設(shè)計(jì)思路(1)首先明確交通信號(hào)燈的變換規(guī)則。人行道人行道人行道人行道人行道圖2-1交通燈十字路口假設(shè)一個(gè)十字路口如圖2-1。東西車道亮紅燈的時(shí)候,車輛禁止通行,東西人行道允許通行;南北干道則亮綠燈,車輛允許通行,人行道禁止通行;東西車道亮綠燈的時(shí)候,車輛允許通行,東西人行道禁止通行;南北干道則亮紅燈,車輛禁止通行,人行道允許通行;同時(shí)數(shù)碼管顯示出東西和南北方向的紅、綠燈倒計(jì)時(shí),并以1秒變化1次。當(dāng)東西方向綠燈快變換為紅燈的時(shí)候,綠燈熄滅,黃燈閃爍5次,每秒閃1次,閃爍5次完成后,東西方向馬上轉(zhuǎn)換為紅燈,南北方向則馬上由紅燈變?yōu)榫G燈,反之,一樣。此系統(tǒng)中,把交通信號(hào)燈的變換過(guò)程分為5個(gè)狀態(tài)。狀態(tài)1:東西南北均亮紅燈3秒。狀態(tài)2:東西綠燈亮25秒,南北紅燈亮25秒。狀態(tài)3:東西綠燈熄滅,黃燈閃爍5秒,黃燈閃爍期間,南北還是亮紅燈。狀態(tài)4:南北綠燈亮20秒,東西紅燈亮20秒。狀態(tài)5:南北綠燈熄滅,黃燈閃爍5秒,黃燈閃爍其間,東西還是亮紅燈。表2-1交通信號(hào)燈狀態(tài)表狀態(tài)方位狀態(tài)方位 東西南北綠黃紅綠黃紅綠黃紅綠黃紅11101101101102011011110110310110111011041101100110115110110101101“1”表示燈亮“0”表示燈滅(2)確定系統(tǒng)整體設(shè)計(jì)方案。由系統(tǒng)設(shè)計(jì)的要求,選擇出整個(gè)系統(tǒng)所需要的元器件并畫出proteus原理圖。在proteus中采用AT89C51單片作為主控芯片,來(lái)控制東、西、南、北四個(gè)方向的交通信號(hào)燈的切換,同時(shí)控制數(shù)碼管顯示交通信號(hào)燈的倒計(jì)時(shí)。因?yàn)閱纹瑱C(jī)每根口線最大可以吸收10MA的灌電流;但P0口8個(gè)引腳吸收電流的總和不能超過(guò)26MA,而P1、P2和P3每個(gè)口吸收電流的總也限制在15MA,4個(gè)并行口所有口線的吸收電流總和限制在71MA。由于交通燈模擬系統(tǒng)的燈不少,并且單片機(jī)的灌電流輸入總和有限制,如果不用驅(qū)動(dòng)器或者緩沖器,直接用單片機(jī)灌電流驅(qū)動(dòng)的話,系統(tǒng)是不能滿足要求并且不能實(shí)現(xiàn)功能的,更可能燒壞單片機(jī)芯片,就算能實(shí)現(xiàn)功能,也達(dá)不到好的效果,所以可以采用兩個(gè)74HC573分別驅(qū)動(dòng)數(shù)碼管的段選和位選,再用一個(gè)74HC573驅(qū)動(dòng)12個(gè)交通信號(hào)燈,因?yàn)闁|、西方向和南、北方向的紅燈、黃燈、綠燈都一樣,所以12個(gè)交通信號(hào)燈只需要占用6個(gè)單片機(jī)I/O口。所以一個(gè)74HC573夠用了,并且能滿足要求。最后確定由單片機(jī)最小系統(tǒng)板經(jīng)3個(gè)74HC573驅(qū)動(dòng)數(shù)碼管顯示和LED發(fā)光二極管發(fā)光,用蜂鳴器加一個(gè)發(fā)光二極管實(shí)現(xiàn)聲光報(bào)警,再加上一些系統(tǒng)的功能按鍵,硬件基本搭建好了。(3)系統(tǒng)的功能主要是通過(guò)軟件實(shí)現(xiàn)。采用單片機(jī)的定時(shí)器T0給交通燈系統(tǒng)的白天模式紅綠燈倒計(jì)時(shí)變化定時(shí);采用單片機(jī)的定時(shí)器T1給交通燈系統(tǒng)的夜間模式黃燈閃爍定時(shí);采用單片機(jī)的外部中斷0產(chǎn)生中斷信號(hào),執(zhí)行緊急情況處理;當(dāng)車流量大的時(shí)候,需要加時(shí);采用單片機(jī)的外部中斷1產(chǎn)生中斷信號(hào),執(zhí)行紅綠燈燈加時(shí);分別再用兩個(gè)按鍵實(shí)現(xiàn)東西方向和南北方向人行通道臨時(shí)通行;另外再用兩個(gè)按鍵模擬東西車輛闖紅燈和南北車輛闖紅燈,當(dāng)東西方向?yàn)榧t燈時(shí)候,東西方向闖紅燈按鍵按下一次表示東西方向有一輛車闖紅燈,蜂鳴器報(bào)警,此時(shí)南北方向闖紅燈按鍵按下無(wú)效,因?yàn)槟媳狈较蚴擒囕v通行模式,不存在闖紅燈,當(dāng)按鍵松開的時(shí)候,蜂鳴器停止報(bào)警;當(dāng)南北方向?yàn)榧t燈時(shí)候,南北方向闖紅燈按鍵按下一次表示南北方向有一輛車闖紅燈,蜂鳴器報(bào)警,此時(shí)東西方向闖紅燈按鍵按下無(wú)效,因?yàn)闁|西方向是車輛通行模式,不存在闖紅燈,當(dāng)按鍵松開的時(shí)候,蜂鳴器停止報(bào)警;搞清楚整個(gè)系統(tǒng)的思路后,就在proteus中畫出系統(tǒng)總原理圖,然后通過(guò)Keil編程軟件編寫C51程序,導(dǎo)入proteus系統(tǒng)中進(jìn)行仿真,經(jīng)過(guò)多次仿真,調(diào)試成功,導(dǎo)入焊接好的硬件系統(tǒng)中,進(jìn)行軟硬件調(diào)試。3主控系統(tǒng)板及芯片簡(jiǎn)介3.1主控系統(tǒng)板簡(jiǎn)介主控系統(tǒng)板為51單片機(jī)最小系統(tǒng)板,51單片機(jī)最小系統(tǒng)板是單片機(jī)工作的最小硬件電路板,包括晶振電路、復(fù)位電路、供電電源電路等,它能做為單片機(jī)控制系統(tǒng)的核心控制器,最小系統(tǒng)板的制作和應(yīng)用是初學(xué)者所必須掌握的。3.2主控芯片簡(jiǎn)介AT89C51單片機(jī)是一款帶4K字節(jié)ROM程序存儲(chǔ)器、128字節(jié)RAM數(shù)據(jù)存儲(chǔ)器、兩個(gè)16位定時(shí)器/計(jì)數(shù)器、6個(gè)中斷源、2個(gè)優(yōu)先級(jí)和一個(gè)全雙工串行口的微控制芯片。3.2.1AT89C51單片機(jī)主要特性價(jià)格低廉,適合低成本產(chǎn)品大批量生產(chǎn),引腳數(shù)目少,使用簡(jiǎn)單,體積也小,從而使系統(tǒng)的焊接電路板減小,產(chǎn)品總體結(jié)構(gòu)縮小,經(jīng)濟(jì)實(shí)惠,產(chǎn)品也更加精巧,并且控制功能強(qiáng),可靠性高。3.2.2AT89C51單片機(jī)管腳說(shuō)明AT89C51單片機(jī)有4個(gè)I/O端口,每個(gè)端口都是8位準(zhǔn)雙向口,共占32根引腳。每個(gè)端口都包括一個(gè)鎖存器、一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。通常把4個(gè)端口表示為P0~P3,在無(wú)片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4個(gè)端口的每一位都可以作為準(zhǔn)雙向通用I/O端口使用。在具有片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,P2口作為高8位地址線,P0口分時(shí)作為低8位地址線和雙向數(shù)據(jù)總線。(1)P0口位結(jié)構(gòu)如圖3-1。DDQCLKQMUXP0.X讀鎖存器內(nèi)部總線寫鎖存器讀引腳腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳圖3-1P0口位結(jié)構(gòu)圖①P0口作為普通I/O口輸出。CPU執(zhí)行口的輸出指令,內(nèi)部數(shù)據(jù)總線上的數(shù)據(jù)在“寫鎖存器”信號(hào)的作用下由D進(jìn)入鎖存器,經(jīng)鎖存器的反相端送到場(chǎng)效應(yīng)管T2,再經(jīng)T2反相,在P0.X引腳出現(xiàn)的正好是內(nèi)部總線的數(shù)據(jù)。②P0口作為普通I/O口輸入。P0口必須接上拉電阻;在讀信號(hào)數(shù)據(jù)之前,先要向相應(yīng)的鎖存器做寫1操作,從上圖中可以看出,在讀入端口數(shù)據(jù)時(shí),由于輸出驅(qū)動(dòng)連接在單片機(jī)引腳上,如果T2導(dǎo)通,就會(huì)將輸入的高電平拉成低電平,產(chǎn)生誤讀。所以在端口進(jìn)行輸入操作前,應(yīng)先向端口鎖存器寫“1”,使T2截止,才不會(huì)產(chǎn)生誤讀。③P0口作為地址/數(shù)據(jù)總線。CPU發(fā)出控制電平“1”時(shí),打開“與”門,又使多路開關(guān)MUX把CPU的地址/數(shù)據(jù)總線與T2柵極反相接通,輸出地址或數(shù)據(jù)。P0引腳輸出地址/輸入數(shù)據(jù)的輸入信號(hào)是從引腳通過(guò)輸入緩沖器進(jìn)入內(nèi)部總線。此時(shí),CPU自動(dòng)使MUX向下,并向P0口寫“1”,“讀引腳”。(2)P1口是一個(gè)內(nèi)部已置上拉電阻的8位準(zhǔn)雙向I/O口,也是89C51單片機(jī)唯一的單功能口,僅能用作通用的數(shù)據(jù)輸入/輸出口,用作輸入時(shí)必須向口鎖存器先寫入“1”,P1口的位結(jié)構(gòu)如圖3-2。DQDQCLKQP1.X讀鎖存器內(nèi)部總線寫鎖存器讀引腳腳VCCTRP1口引腳圖3-2P1口位結(jié)構(gòu)圖
(3)P2口位結(jié)構(gòu)如圖3-3。VCCDVCCDQCLKQMUXP2.X讀鎖存器內(nèi)部總線寫鎖存器讀引腳腳地址/數(shù)據(jù)控制TRP2口引腳圖3-3P2口位結(jié)構(gòu)圖①P2口作為普通I/O口。CPU發(fā)出控制電平“0”,使多路開關(guān)MUX倒向鎖存器輸出Q端,構(gòu)成一個(gè)準(zhǔn)雙向口。其功能與P1相同②P2口作為地址總線。在系統(tǒng)擴(kuò)展片外程序存儲(chǔ)器擴(kuò)展數(shù)據(jù)存儲(chǔ)器且容量超過(guò)256B時(shí),CPU發(fā)出控制電平“1”,使多路開關(guān)MUX倒內(nèi)部地址線。此時(shí),P2輸出高8位地址。(4)P3口位結(jié)構(gòu)如圖3-4。
DDQCLKQP3.X讀鎖存器內(nèi)部總線寫鎖存器讀引腳腳第二輸出功能WVCCT1R第二輸入功能P3口引腳圖3-4P2口位結(jié)構(gòu)圖P3作為通用I/O口與P1口類似準(zhǔn)雙向口(W=1),P3口也可作為第二功能口,如下所示:
P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)
P3.2INT0(外部中斷0輸入)P3.3INT1(外部中斷1輸入)
P3.4T0(定時(shí)器0的外部輸入)P3.5T1(定時(shí)器1的外部輸入)
P3.6WR(片外數(shù)據(jù)存儲(chǔ)器“寫”選通輸入端)P3.7RD(片外數(shù)據(jù)存儲(chǔ)器“讀”選通輸入端)4方案比較與論證4.1方案選擇4.1.1系統(tǒng)電源模塊方案的選擇方案一:雙電源供電。將單片機(jī)5V電壓與驅(qū)動(dòng)芯片74HC573和數(shù)碼管所需的5V電壓完全隔開,可以使單片機(jī)供電穩(wěn)定,干擾少,對(duì)整個(gè)系統(tǒng)的穩(wěn)定性有很所提高。方案二:?jiǎn)坞娫垂╇姟U麄€(gè)系統(tǒng)由4節(jié)5號(hào)電池經(jīng)7805穩(wěn)壓芯片轉(zhuǎn)換為5V電壓給整個(gè)系統(tǒng)供電,這樣也行得通,因?yàn)檎麄€(gè)系統(tǒng)所需電壓都是5V,可以通用,雖然系統(tǒng)采用單電源供電沒(méi)有雙電源供電穩(wěn)定,但是單電源和雙電源供電都能滿足系統(tǒng)需要,并且對(duì)系統(tǒng)穩(wěn)定性的影響都不大,干擾也不大。方案三:USB單電源供電。由于USB供電必須用雙頭USB線與電腦相連或者通過(guò)轉(zhuǎn)換頭與插座相接才能供電,缺點(diǎn)是移動(dòng)不方便,優(yōu)點(diǎn)是可以節(jié)約電池的電,經(jīng)濟(jì)適用。最終選擇方案:采用方案二和方案三集合。4.1.2顯示模塊方案的選擇方案一:采用LCD1602液晶顯示交通信號(hào)燈的剩余時(shí)間,1602內(nèi)部集成有顯示芯片,可以顯示英文字母、阿拉伯?dāng)?shù)字,交通燈系統(tǒng)只需要顯示數(shù)字,所以比較浪費(fèi),而且LCD1602比較貴,編程也麻煩,對(duì)于交通燈適用液晶顯示不經(jīng)濟(jì)也不適用方案二:采用四位一體的共陰數(shù)碼管顯示交通信號(hào)燈的剩余時(shí)間,因?yàn)閿?shù)碼管的每一段都是由一個(gè)發(fā)光二極管組成,驅(qū)動(dòng)方便,編程也方便,而且價(jià)格優(yōu)惠,也能滿足需要。方案三:采用點(diǎn)陣式LED顯示。這種方案雖然功能強(qiáng)大,并可方便的顯示各種英文字符,漢字,圖形等,但實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作。最終選擇方案是:方案二。4.1.3鍵盤掃描模塊方案選擇方案一:采用矩陣按鍵模塊。由于矩陣鍵盤行、列線是多鍵共用,可以節(jié)約單片機(jī)I/O口,編程麻煩,雖然可以用現(xiàn)有的程序,但是會(huì)增加整個(gè)系統(tǒng)程序的復(fù)雜性。方案二:獨(dú)立按鍵模塊。每個(gè)功能按鍵對(duì)應(yīng)一個(gè)獨(dú)立按鍵,每一個(gè)獨(dú)立按鍵占一個(gè)單片機(jī)I/O口,比較浪費(fèi),但編程簡(jiǎn)單且本系統(tǒng)的單片機(jī)I/O口夠用,為了整個(gè)系統(tǒng)程序編寫容易一些,可以選擇獨(dú)立按鍵模塊。最終選擇方案是:方案二:4.1.4數(shù)碼管和LED發(fā)光二極管驅(qū)動(dòng)模塊選擇方案一:?jiǎn)纹瑱C(jī)拉電流直接驅(qū)動(dòng)。由于AT89C51單片機(jī)的輸出電流非常弱,帶負(fù)載能力很有限,在不加任何緩沖器的情況下是無(wú)法正常驅(qū)動(dòng)四位數(shù)碼管的,也無(wú)法正常驅(qū)動(dòng)多位發(fā)光二極管的,就算能驅(qū)動(dòng),效果也不好。方案二:?jiǎn)纹瑱C(jī)灌電流直接驅(qū)動(dòng)。因?yàn)锳T89C51單片機(jī),每根口線最大可以吸收10MA的灌電流;但P0口所有引腳的吸收電流的總和不能超過(guò)26MA,而P1、P2和P3每個(gè)口吸收電流的總和和限制在15MA,全部4個(gè)并行口所有口線的吸收電流總和限制在71MA,超過(guò)會(huì)燒壞單片機(jī)。一個(gè)LED發(fā)光二極管限流電阻在0.27K時(shí)候,會(huì)獲得比較好的亮度,但單片機(jī)的單根口線的灌電流達(dá)到了極限,如果接上數(shù)碼管的7段或者接幾個(gè)LED時(shí)候,則會(huì)超過(guò)單片機(jī)I/O口的負(fù)載能力,雖然可以通過(guò)增加限流電阻來(lái)控制并口灌電流不超過(guò)負(fù)載,但是亮度大大降低,LED的亮度將會(huì)不夠理想,不滿足本設(shè)計(jì)的需要。
方案三:采用74HC573緩沖器和單片機(jī)灌電流驅(qū)動(dòng)。在單片機(jī)和數(shù)碼管之間加入74HC573緩沖驅(qū)動(dòng)器,則單片機(jī)的單根輸入引腳的灌電流可以不超過(guò)25MA,8個(gè)引腳總的灌電流可以不超過(guò)75MA,可以根據(jù)限流電阻來(lái)決定數(shù)碼管和LED發(fā)光二極管的亮度了。最終選擇方案是:方案三。4.1.5最小系統(tǒng)復(fù)位電路選擇方案一:上電復(fù)位。復(fù)位使單片機(jī)回到確定的初態(tài),當(dāng)RST引腳加高電平并保持兩個(gè)以上機(jī)器周期時(shí),單片機(jī)中斷執(zhí)行復(fù)位操作,而上電復(fù)位就是一個(gè)電容和一個(gè)電阻串聯(lián),電阻和電容的節(jié)點(diǎn)接RST引腳,電容另一引腳接正,電阻另一引腳接地,上電瞬間RST引腳得到高電平,高電平至少保持兩個(gè)機(jī)器周期,同時(shí)給電容充電,RST變?yōu)榈碗娖剑藭r(shí)單片機(jī)進(jìn)行復(fù)位操作。方案二:按鍵與上電復(fù)位。如果在上電復(fù)位的電容兩端并聯(lián)一個(gè)按鍵,就成了按鍵與上電復(fù)位電路,只要按下按鍵,單片機(jī)就能復(fù)位而無(wú)需下電。最終選擇方案是:方案二4.1.6軟件方案選擇方案一:程序采用匯編語(yǔ)言。匯編語(yǔ)言編寫的程序需要借助芯片的手冊(cè)說(shuō)明才能編寫,也很難讀懂,不具有可移植性,維護(hù)和修改也困難。方案二:程序采用C51。C51全是用的C語(yǔ)言,C語(yǔ)言屬于高級(jí)語(yǔ)言,具有可移植性,可以模塊化編程。而且程序很容易讀懂,編寫程序結(jié)構(gòu)清晰,移植性好,容易維護(hù)和修改。最終選擇方案是:方案二。5系統(tǒng)硬件設(shè)計(jì)5.1系統(tǒng)硬件框結(jié)構(gòu)圖單單片機(jī)最小系統(tǒng)7805穩(wěn)壓芯片模塊按鍵掃描模塊聲光報(bào)警模塊數(shù)碼管和發(fā)光二極管顯示模塊數(shù)碼管驅(qū)動(dòng)模塊LED發(fā)光二級(jí)管驅(qū)動(dòng)模塊程序下載模塊USB供電模塊圖5-1系統(tǒng)硬件結(jié)構(gòu)框圖5.2單片機(jī)最小系統(tǒng)和各模塊原理5.2.1單片機(jī)最小系統(tǒng)原理圖圖5-2單片機(jī)最小系統(tǒng)電路原理圖5.2.2USB供電模塊(1)USB的1管腳是5V正極,4管腳為5V負(fù)極,在給系統(tǒng)供電的時(shí)候用一個(gè)自鎖開關(guān)隔開,并且串聯(lián)一個(gè)限流電阻和LED發(fā)光二極管能更直觀的判斷系統(tǒng)是否已經(jīng)上電,由于一個(gè)發(fā)光二極管驅(qū)動(dòng)電流是MA級(jí)別,最大限制在15MA左右,這里選擇了一個(gè)1K的限流電阻。(2)USB供電模塊電路原理圖圖5-3USB供電模塊電路原理圖5.2.3獨(dú)立按鍵掃描模塊(1)每一個(gè)按鍵的一端接單片機(jī)的一個(gè)I/O,另一端接地,當(dāng)按鍵沒(méi)有按下的時(shí)候,單片機(jī)的I/O引腳為高電平,因?yàn)閱纹瑱C(jī)的I/O引腳上電后默認(rèn)為高電平,當(dāng)按鍵按下的時(shí)候,單片機(jī)的I/O引腳和地接通,則為低電平,在軟件設(shè)計(jì)中是通過(guò)按鍵的按下與否,單片機(jī)讀回I/O引腳高低電平變化,一旦I/O引腳高低電平變化了,則執(zhí)行相應(yīng)的程序,實(shí)現(xiàn)相應(yīng)的功能。(2)按鍵掃描模塊電路原理圖圖5-4按鍵掃描模塊電路原理圖(3)在按下按鍵的過(guò)程中會(huì)有抖動(dòng),使按鍵對(duì)應(yīng)的輸出電平出現(xiàn)干擾脈沖,為了保證每次按下按鍵,單片機(jī)引腳電平值變化一次,就需要消除因抖動(dòng)引起的誤差,具體的處理方式分為硬件抖和軟件消抖,硬件消抖框圖如圖5-5。&&I/O接口&+5v開關(guān)單片機(jī)圖5-5硬件消抖電路框圖軟件消抖一般是對(duì)程序進(jìn)行延時(shí)處理,流程圖如圖5-6。延時(shí)等待10Ms延時(shí)等待10Ms仍有按鍵信號(hào)?鍵盤處理有按鍵信號(hào)?按鍵釋放?YNYNYN開始結(jié)束圖5-6軟件消除抖流程圖5.2.4穩(wěn)壓電源模塊(1)7805是一個(gè)三端的5V穩(wěn)壓芯片,1管腳是外加電源正極,2管腳是公共地,3管腳是5V電壓輸出正極,將的外加6V正極接在7805的芯片的1管腳,6V負(fù)極接在7805芯片的2管腳,并在1管腳和2管腳之間用一個(gè)自鎖開關(guān)、控制外加電源的輸入,再加一個(gè)限流電阻、一個(gè)LED發(fā)光二極管可以更直觀的看見芯片是否加入外加電壓工作,如果按下開關(guān),LED發(fā)光二極管亮,則7805芯片已經(jīng)外接通電壓并工作,否則沒(méi)有工作。然后通過(guò)芯片的3管腳和2管腳輸出穩(wěn)定的5V直流電壓給單片機(jī)供電。(2)穩(wěn)壓電源模塊原理圖圖5-7穩(wěn)壓電源模塊電路原理圖5.2.5聲光報(bào)警模塊(1)蜂鳴器發(fā)聲的原理是電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來(lái)驅(qū)動(dòng)振動(dòng)膜發(fā)聲,所有需要一定的電流才能驅(qū)動(dòng)它,但是單片機(jī)I/O引腳輸出的電流非常小,單片機(jī)輸出的TTL電平幾乎驅(qū)動(dòng)不了蜂鳴器,,所有通過(guò)一個(gè)PNP型三極管9012來(lái)放大驅(qū)動(dòng)蜂鳴器,并加上一個(gè)1K的限流電阻;同時(shí)并聯(lián)一個(gè)LED發(fā)光二極管和一個(gè)1K的限流電阻來(lái)現(xiàn)在LED發(fā)光二極管的電路,用單片機(jī)I/O口灌電流驅(qū)動(dòng),使整個(gè)電路實(shí)現(xiàn)聲光報(bào)警的功能。(2)聲光報(bào)警模塊電路原理圖圖5-8聲光報(bào)警模塊電路原理圖5.2.6LED數(shù)碼管驅(qū)動(dòng)和顯示模塊(1)74HC573在系統(tǒng)中主要用于數(shù)碼管和發(fā)光二極管的控制,同時(shí)也能放大電流,也可以做數(shù)碼管和單片機(jī)之間的緩沖器,加強(qiáng)驅(qū)動(dòng)能力。從下面的功能表圖中可以知道,74HC573是用輸出使能端來(lái)控制芯片工作與否,當(dāng)輸出使能引腳為低電平時(shí)候,芯片工作,否則芯片不工作,數(shù)據(jù)輸出端呈現(xiàn)高阻態(tài)。當(dāng)輸出使能引腳為低電平,鎖存使能引腳也為低電平的時(shí)候可以實(shí)現(xiàn)數(shù)據(jù)鎖存功能,此時(shí)無(wú)論數(shù)據(jù)輸入端送任何數(shù)據(jù),輸出數(shù)據(jù)端數(shù)據(jù)永遠(yuǎn)不變。本系統(tǒng)采用的是直接給74HC573的輸出使能引腳接低,即芯片只要上電就工作,鎖存使能引腳接高,使數(shù)據(jù)輸入端和數(shù)據(jù)輸出端直通,,因?yàn)閱纹瑱C(jī)的I/O口夠用,所以不需要復(fù)用單片機(jī)I/O口,沒(méi)有用到鎖存功能,只用來(lái)充當(dāng)單片機(jī)和數(shù)碼管之間的驅(qū)動(dòng)和緩沖芯片。表5-174HC573的功能表輸出使能鎖存使能數(shù)據(jù)輸入端D數(shù)據(jù)輸出端QLHHHLHLLLLX輸出數(shù)據(jù)不變HXXZH表示高電平L表示低電平X表示任意值Z表示高阻態(tài)(2)數(shù)碼管顯示原理表5-2共陰數(shù)碼管顯示碼表管腳值顯示顯示字符dpgfedcba十六進(jìn)制0001111110x361000001100x062010110110x5b3010011110x4f4011001000x665011011010x6d6011111010x7d7000001110x078011111110x7f9000011110x6f①四位一體共陰數(shù)碼管引腳如圖5-9。圖5-9四位一體共陰數(shù)碼管引腳圖(3)LED數(shù)碼管驅(qū)動(dòng)和顯示模塊電路原理圖圖5-10LED數(shù)碼管驅(qū)動(dòng)和顯示模塊電路原理圖5.2.7LED發(fā)光二極管驅(qū)動(dòng)和顯示模塊(1)LED發(fā)光二極管也是采用74HC573作為驅(qū)動(dòng)芯片,使用74HC573的功能同LED數(shù)碼管驅(qū)動(dòng)中的一樣,都是給輸出使能引腳接低,鎖存使能引腳接高,是輸入數(shù)據(jù)直通輸出數(shù)據(jù)端。系統(tǒng)中LED發(fā)光二極管是經(jīng)74HC573緩沖器由單片機(jī)灌電流驅(qū)動(dòng)的,而人行通道上的南北紅、南北綠、東西紅、東西綠是直接由單片機(jī)的P2口高四位灌電流直接驅(qū)動(dòng),因?yàn)橹挥袀€(gè)LED燈,加上一定的限流電阻,不要超過(guò)P2口負(fù)載的條件下使LED發(fā)光二級(jí)管足夠亮就可以了。(2)LED發(fā)光二極管驅(qū)動(dòng)和顯示原理圖5-11LED發(fā)光二極管驅(qū)動(dòng)和顯示原理5.2.8最小系統(tǒng)程序下載模塊(1)電腦串口是-10V和+10V電平,而通常的單片機(jī)系統(tǒng)的電壓信號(hào)是TTL電平0、+5V,MAX232是用來(lái)進(jìn)行電平轉(zhuǎn)換的,該器件包含2個(gè)驅(qū)動(dòng)器、2個(gè)接收器。MAX232可以完成兩路TTL/RS-232電平的轉(zhuǎn)換,它的的9、10、11、12引腳分別是R2OUT、T2IN、T1IN、R1OUT,都是TTL電平端,9、10和12、11用來(lái)連接單片機(jī)RXD、TXD口,使單片機(jī)和電腦串口通信。(2)最小系統(tǒng)程序下載電路原理圖圖5-12最小系統(tǒng)程序下載電路原理圖5.2.9單片機(jī)最小系統(tǒng)時(shí)鐘電路(1)晶振電路原理圖圖5-13晶振電路原理圖(2)單片機(jī)的時(shí)鐘信號(hào)通常由內(nèi)部時(shí)鐘方式和外部時(shí)鐘產(chǎn)生,本系統(tǒng)用的是外部時(shí)鐘方式,在單片機(jī)的XTAL1和XTAL2引腳外接11.0592MZ晶振和兩個(gè)電容器。電容器C1和C2的作用是穩(wěn)定頻率和快速起振,電容值5-30PF之間。5.2.10按鍵與上電復(fù)位電路(1)上電復(fù)位的電容兩端并聯(lián)一個(gè)按鍵,就成了按鍵與上電復(fù)位電路,只要按下這個(gè)按鍵,單片機(jī)就能復(fù)位而無(wú)需下電。(2)按鍵與上電復(fù)位電路原理圖圖5-14按鍵與上電復(fù)位電路原理圖6系統(tǒng)軟件設(shè)計(jì)6.1系統(tǒng)主程序及程序流程圖(1)主程序流程圖開始開始白天模式狀態(tài)1程序初始化按鍵掃描夜間模式?狀態(tài)2東西南北車道黃燈閃爍,人行道綠燈亮狀態(tài)3狀態(tài)4狀態(tài)5退出?退出?結(jié)束YNYYNN圖6-1主程序流程圖(2)主程序voidmain(){EA=1;//開總總斷EX0=1;//開外部中斷0EX1=1;//開外部中斷1IT1=1;//外部中斷1為邊沿觸發(fā)方式IT0=1;//外部中斷0為邊沿觸發(fā)方式key();//按鍵掃描函數(shù)if(dd==1)//判斷key1是否按下{zhuangtai1();//交通燈狀態(tài)1while(1)//主程序循環(huán)函數(shù){zhuangtai2();//交通燈狀態(tài)2zhuangtai3();//交通燈狀態(tài)3if((key2==0)||(key5==0))//切換夜間模式或者東西人行通道break;//跳出while(1)循環(huán)zhuangtai4();//交通燈狀態(tài)4zhuangtai5();//交通燈狀態(tài)5if((key2==0)||(key6==0))//切換夜間模式或者南北人行通道break;//跳出while(1)循環(huán)if(dd==2)//判斷key2是否按下{while(flag1)//夜間模式循環(huán)函數(shù)wanshang();}}//交通燈夜間模式Y(jié)Y6.2緊急情況處理程序及程序流程圖(1)緊急情況處理程序流程圖INT0產(chǎn)生中斷信號(hào),進(jìn)入中斷函數(shù)INT0產(chǎn)生中斷信號(hào),進(jìn)入中斷函數(shù)函數(shù)初始化關(guān)閉定時(shí)器T0,暫停紅綠燈,并使全部紅燈亮,禁止通行,同時(shí)蜂鳴器聲光報(bào)警按下退出按鍵?退出中斷,返回運(yùn)行之前程序,交通燈正常運(yùn)行。YN開始結(jié)束圖6-2緊急情況處理程序流程圖(2)緊急情況處理程序voidexter0()interrupt0//外部中斷0緊急狀況處理{EA=1;//開總中斷EX0=1;//開外部中斷0IT0=1;//外部中斷0為邊沿觸發(fā)方式flag=1;//標(biāo)志位1while(flag)//緊急情況循環(huán)函數(shù){TR0=0;//關(guān)閉定時(shí)器T0暫停紅綠燈NB_RED=0;//南北方向紅燈亮DX_RED=0;//東西方向紅燈亮NB_GREEN=1;//南北方向綠燈關(guān)DX_GREEN=1;//東西方向綠燈關(guān)NB_YELLOW=1;//東西方向黃燈關(guān)DX_YELLOW=1;//東西方向黃燈關(guān)dxred=0;//東西人行道紅燈亮nbred=0;//南北方向紅燈亮dxgreed=1;//東西方向綠燈關(guān)nbgreed=1;//南北方向綠燈關(guān)BEEP=0;//打開蜂鳴器shi=temp%100/10;//顯示紅綠燈倒計(jì)時(shí)十位ge=temp%10;//顯示紅綠燈倒計(jì)時(shí)個(gè)位display(ge,shi);//數(shù)碼管顯示if(key4==0)//key4按鍵使之退出中斷{flag=0;//標(biāo)志位TR0=1;//并打開定時(shí)器T0恢復(fù)紅綠燈BEEP=1;}//關(guān)閉蜂鳴器6.3紅綠燈加時(shí)程序及程序流程圖(1)紅綠燈加時(shí)程序流程圖函數(shù)初始化INT1中斷關(guān)閉定時(shí)器T0,暫停紅綠燈運(yùn)行再函數(shù)初始化INT1中斷關(guān)閉定時(shí)器T0,暫停紅綠燈運(yùn)行再次產(chǎn)生中斷信號(hào)?紅綠燈顯示時(shí)間加1是否按下退出按鍵?結(jié)束YNYN開始圖6-3紅綠燈加時(shí)程序流程圖(2)紅綠燈加時(shí)程序voidexter1()interrupt2//外部中斷1紅綠燈加時(shí){EA=1;//開總中斷EX1=1;//開外部中斷1IT1=1;//外部中斷1為邊沿觸發(fā)方式if(INT1==0)//判斷中斷1是否低電平{delay(5);//延時(shí)消抖if(INT1==0)//再次判斷中斷1是否低電平{delay(5);//延時(shí)消抖TR0=0;//關(guān)閉定時(shí)器T0暫停紅綠燈temp++;//自增if(temp==100)//temp最多加到99temp=0;//加到100后清零shi=temp%100/10;//顯示紅綠燈倒計(jì)時(shí)十位ge=temp%10;//顯示紅綠燈倒計(jì)時(shí)個(gè)位display(ge,shi);//數(shù)碼管顯示函數(shù)}}}}6.4人行道通行程序及程序流程圖(1)人行道通行程序流程圖東西人行道通行東西人行道通行南北人行道通行按鍵掃描關(guān)閉T0定時(shí)器,暫停紅綠燈變化,東西人行道綠燈亮,東西車道紅燈亮,南北人行道紅燈亮,南北車道綠燈亮關(guān)閉T0定時(shí)器,暫停紅綠燈變化,東西人行道紅燈亮,東西車道綠燈亮,南北人行道綠燈亮,南北車道紅燈亮是否按下退出按鍵?退出人行通道函數(shù),定時(shí)器T0打開,紅綠燈正常運(yùn)行。結(jié)束NNY開始圖6-4人行道通行程序流程圖(2)人行道通行程序①東西人行道通行程序voiddxtongxing()//東西人行道通行函數(shù){while(1)//東西人行道循環(huán)函數(shù){DX_RED=0;//東西車道紅燈亮DX_YELLOW=1;//東西車道黃燈滅DX_GREEN=1;//東西車道綠燈滅NB_RED=1;//南北車道紅燈滅NB_YELLOW=1;//南北車道黃燈滅NB_GREEN=0;//南北車道綠燈亮dxred=1;//東西人行道紅燈滅dxgreed=0;//東西人行道綠燈亮nbred=0;//南北人行道紅燈亮nbgreed=1;//南北人行道綠燈滅TR0=0;//關(guān)閉定時(shí)器T0暫停紅綠燈shi=temp%100/10;//顯示紅綠燈倒計(jì)時(shí)十位ge=temp%10;//顯示紅綠燈倒計(jì)時(shí)個(gè)位display(ge,shi);//數(shù)碼管顯示函數(shù)if(key4==0)//按key4退出東西通行函數(shù){delay(5);//延時(shí)消抖if(key4==0)//按下key4退出{delay(5);//延時(shí)消抖TR0=1;//打開定時(shí)器T0break;}//跳出東西人行道通行函數(shù)②南北人行道通行程序voidnbtongxing()//南北人行道通行函數(shù){while(1)//南北人行道循環(huán)函數(shù){DX_RED=1;//東西車道紅燈滅DX_YELLOW=1;//東西車道黃燈滅DX_GREEN=0;//東西車道綠燈亮NB_RED=0;//南北車道紅燈亮NB_YELLOW=1;//南北車道黃燈滅NB_GREEN=1;//南北車道綠燈滅nbred=1;//南北人行道紅燈滅nbgreed=0;//南北人行道綠燈亮dxred=0;//東西人行道紅燈亮dxgreed=1;//東西人行道綠燈滅TR0=0;//關(guān)閉定時(shí)器T0即暫停紅綠燈shi=temp%100/10;//顯示紅綠燈倒計(jì)時(shí)十位ge=temp%10;//顯示紅綠燈倒計(jì)時(shí)個(gè)位 display(ge,shi);//數(shù)碼管顯示函數(shù)if(key4==0)//按key4退出南北通行函數(shù){delay(5);//延時(shí)消抖if(key4==0)//按下key4退出{TR0=1;//打開定時(shí)器T0break;}//跳出南北人行道通行函數(shù)6.5夜間模式程序及程序流程圖(1)夜間模式程序流程圖按鍵掃描按鍵掃描進(jìn)入夜間模式東、西、南、北紅綠燈熄滅到達(dá)500MS?東、西、南、北紅綠燈熄滅,黃燈閃爍一次。是否按下key1鍵?切換為白天模式夜間模式結(jié)束YYNN開始圖6-5人行道通行程序流程(2)夜間模式程序voidwanshang()//四個(gè)黃燈閃爍人行道綠燈亮{TMOD=0x10;//定時(shí)器T1為工作方式1EA=1;//開總中斷ET1=1;//開定時(shí)器T1中斷TR1=1;//打開定時(shí)器T1if(key1==0)//切換為白天模式跳出主函數(shù)flag1=0;//跳出主函數(shù)中夜間模式if(cc==10)//定時(shí)500ms{cc=0;//計(jì)時(shí)一次清零dxgreed=0;//東西人行道綠燈亮nbgreed=0;//南北人行道綠燈亮dxred=1;//東西人行道紅燈亮nbred=1;//南北人行道紅燈亮DX_RED=1;//東西車道紅燈亮NB_RED=1;//南北車道紅燈亮DX_GREEN=1;//東西車道綠燈滅NB_GREEN=1;//南北車道綠燈滅DX_YELLOW=~DX_YELLOW;//東西方向黃燈閃爍NB_YELLOW=~NB_YELLOW;//南北方向黃燈閃爍}}7系統(tǒng)調(diào)試和功能描述7.1系統(tǒng)硬件調(diào)試7.1.1系統(tǒng)實(shí)物圖7.1.2調(diào)試儀器①萬(wàn)用表型號(hào):BM8320②直流電壓源5V③秒表精度0.01S④USB轉(zhuǎn)串口線1根⑤雙頭USB線1根表7-1儀器功能表萬(wàn)用表測(cè)試電阻值、電流值、電壓值、三極管管腳,檢測(cè)硬件電路等。直流電壓源在沒(méi)有用USB線給單片機(jī)供電的時(shí)候,給單片機(jī)供5V穩(wěn)定電壓。秒表測(cè)試紅綠燈倒計(jì)時(shí)是否以一秒變一次。轉(zhuǎn)串口線使單片機(jī)與電腦串口通信,給單片機(jī)下載程序。雙頭USB線系統(tǒng)沒(méi)有電池供電時(shí),由雙頭USB線串接電腦給單片機(jī)供電。7.1.3調(diào)試過(guò)程(1)首先檢查單片機(jī)是否供電正常,能否正常下載程序,再編寫簡(jiǎn)單程序檢查單片機(jī)的I/O口電平是否能夠跳變。(2)在系統(tǒng)上電時(shí),用萬(wàn)用表檢查數(shù)碼管和LED發(fā)光二極管和74HC573驅(qū)動(dòng)芯片供電是否正常,檢測(cè)數(shù)碼管的每個(gè)段碼引腳和位選引腳是否按順序焊接在引出的單排針上,檢查L(zhǎng)ED發(fā)光二極管的電壓和電流是否合適,是否超過(guò)單片機(jī)并口的電流總和;再檢查系統(tǒng)中的按鍵是否起作用,是否有焊接短路、虛焊或者幾個(gè)按鍵焊接相連,蜂鳴器是否正常等等,如果都沒(méi)問(wèn)題,證明焊接的硬件沒(méi)有問(wèn)題。7.2系統(tǒng)軟件調(diào)試通過(guò)keil編程軟件編寫C51程序,生成hex文件,再把hex文件下載到pretues仿真原理圖中進(jìn)行仿真運(yùn)行,如果沒(méi)有實(shí)現(xiàn)功能,再繼續(xù)檢查程序或者pretues仿真原理圖哪里出錯(cuò),直到檢查出問(wèn)題為止。通過(guò)仿真調(diào)試的優(yōu)點(diǎn)是下載程序快,電路圖一目了然,電路查錯(cuò)和修改電路圖很方便。7.3軟硬件結(jié)合調(diào)試當(dāng)焊接好的硬件電路都檢測(cè)正常、軟件仿真也正常后,然后通過(guò)STC_ISP軟件把程序下載到單片機(jī)中,進(jìn)行各個(gè)功能檢測(cè),是否滿足要求。當(dāng)我把程序?qū)雴纹瑱C(jī)中后,出現(xiàn)的效果沒(méi)有像仿真中那么順利,還是出了很多問(wèn)題,比如在數(shù)碼管顯示程序中,在仿真的時(shí)候不需要消隱,而在實(shí)物中需要消隱才能顯示清楚,如果給消隱的語(yǔ)句加進(jìn)去,仿真就會(huì)顯示亂碼;在仿真中按鍵不需要消抖,在實(shí)物中按鍵需要消抖,不然在紅綠燈加時(shí)的時(shí)候按一下按鍵都會(huì)跳躍式的加,因?yàn)榘存I按下和松開過(guò)程中都有抖動(dòng),所以需要用軟件消除按鍵抖動(dòng)。軟硬件調(diào)試完成后,系統(tǒng)實(shí)現(xiàn)了本設(shè)計(jì)的全部要求7.4系統(tǒng)功能描述和不足之處7.4.1系統(tǒng)功能描述系統(tǒng)接上電源后,按下電源總開關(guān),系統(tǒng)正常供電,如果按下白天模式按鍵,交通信號(hào)燈的模擬系統(tǒng)首先運(yùn)行狀態(tài)1:東西南北方向都亮紅燈3秒,人行通道允許通行,3秒后,進(jìn)入狀態(tài)2:東西車道亮綠燈25秒,車輛通行,東西方向人行通道禁止通行,南北車道亮紅燈25秒,車輛禁止通行,南北人行通道允許通行,倒計(jì)時(shí)1秒減1,當(dāng)東西車道綠燈倒計(jì)時(shí)還剩5秒的時(shí)候,進(jìn)入狀態(tài)3:此時(shí)東西車道紅燈熄滅,黃燈以一秒一次的頻率閃爍,提示東西車輛注意禁止通行,因?yàn)轳R上就變?yōu)榧t燈了,南北方向紅燈亮,車輛禁止通行,人行道允許通行,東西方向黃燈閃爍5秒結(jié)束,馬上進(jìn)入狀態(tài)4:即南北方向綠燈亮20秒,車輛允許通行,人行通道禁止通行,東西方向紅燈亮20秒,車輛禁止通行,人行通道允許通行,當(dāng)南北方向綠燈時(shí)間還剩5秒的時(shí)候,馬上進(jìn)入狀態(tài)5:此時(shí)此時(shí)南北車道紅燈熄滅,黃燈以一秒一次的頻率閃爍,提示南北車輛注意禁止通行,因?yàn)轳R上就變?yōu)榧t燈了,東西方向紅燈亮,車輛禁止通行,人行道允許通行,東西方向黃燈閃爍5秒結(jié)束,重復(fù)狀態(tài)2、狀態(tài)3、狀態(tài)4、狀態(tài)5繼續(xù)運(yùn)行。上面所描述的是交通信號(hào)燈白天模式正常運(yùn)行,本系統(tǒng)還可以在狀態(tài)1的時(shí)候按下緊急處理按鍵實(shí)現(xiàn)緊急處理功能,當(dāng)緊急情況處理完成的時(shí)候,按退出鍵又恢復(fù)狀態(tài)1往下運(yùn)行,也可以給狀態(tài)1的紅燈顯示加時(shí),沒(méi)按一次加時(shí)按鍵,紅燈時(shí)間加1,加時(shí)完成,按退出鍵恢復(fù)狀態(tài)1繼續(xù)往下運(yùn)行。同時(shí)也可以在狀態(tài)1的時(shí)候直接切換夜間模式運(yùn)行,也可以模擬東西方向和南北方向車輛闖紅燈,并報(bào)警,此時(shí)按東西方向或者南北方向人行道允許通行按鍵不起作用,因?yàn)榇藭r(shí)東西方向和南北方向都允許通行。在后面的狀態(tài)2、3、4、5中都可以進(jìn)行模擬緊急情況處理、紅綠燈加時(shí)、東、西或南、北人行通道通行、東、西或南、北方向車輛闖紅燈報(bào)警,除了紅綠燈加時(shí)和緊急情況處理的時(shí)候,任何時(shí)候都可以切換為夜間模式。當(dāng)切換為夜間模式的時(shí)候,東、西和南、北方向的紅燈和綠燈熄滅,黃燈以500MS一次的頻率閃爍,提示車輛師傅小心通行,東西和南北人行通道都亮綠燈,人行道允許通行,在夜間模式時(shí)候,可以手動(dòng)切換為白天模式,可以模擬緊急情況處理,當(dāng)緊急情況處理完成時(shí)候,回到夜間模式黃燈閃爍,但是闖紅燈,加時(shí),人行道通行功能按鍵無(wú)效,因?yàn)橐归g模式不需要實(shí)現(xiàn)這些功能,所有在程序中沒(méi)有編寫。7.4.2系統(tǒng)不足之處和改進(jìn)措施(1)系統(tǒng)不足之處:由于單片機(jī)I/O管腳沒(méi)有擴(kuò)展,管腳不夠用,沒(méi)有加上紅綠燈減時(shí)功能,也沒(méi)有檢查車流大小的傳感器,而只是通過(guò)按鍵模擬車流量大,從而使綠燈加時(shí),達(dá)不到道路的最大通行效率是最明顯的問(wèn)題。(2)改進(jìn)措施:可以用8255芯片給單片機(jī)擴(kuò)展I/O口,加上紅綠燈減時(shí)功能然后用紅外、光電或者超聲波傳感器檢測(cè)車流量的大小,實(shí)現(xiàn)傳感器檢測(cè)車流量大,自動(dòng)給車道綠燈加時(shí)。另外可以加上攝像頭,就是現(xiàn)在所謂的電子眼監(jiān)控,來(lái)監(jiān)視車輛闖紅燈,使車輛都遵循交通燈規(guī)則;也可以加上點(diǎn)陣顯示天氣狀況、時(shí)間、前方周圍路段車流量大小狀況,提示司機(jī)選擇路段通行,使交通控制系統(tǒng)更加人性化,達(dá)到道路的最大通行效率??偨Y(jié)這次設(shè)計(jì),事情雖然挺多的,但是非常充實(shí)。在確定題目之后,查閱了大量的資料,初步完成電路設(shè)計(jì)方案,然后就是編程、仿真、購(gòu)材、焊板、調(diào)試、畫原理圖、寫論文等整個(gè)過(guò)程。起初感覺(jué)交通燈控制程序挺容易的,就是控制數(shù)碼管倒計(jì)時(shí)顯示加幾個(gè)發(fā)光二極管切換發(fā)光就完事,但是要在交通燈系統(tǒng)中實(shí)現(xiàn)任務(wù)的功能,確實(shí)給程序加難了不少,特別是解決細(xì)節(jié)問(wèn)題處,遇見了不少麻煩,而且很難被檢查出來(lái),最后經(jīng)過(guò)我的不斷努力,還是寫出了正確的代碼。從確定題目到做出實(shí)物的整個(gè)過(guò)程中,體驗(yàn)到了設(shè)計(jì)過(guò)程的樂(lè)趣和充實(shí),進(jìn)一步加深了對(duì)本專業(yè)的興趣,提高了專業(yè)技能分析和解決現(xiàn)實(shí)問(wèn)題的能力,同時(shí)更深刻的理解到理論知識(shí)和實(shí)踐動(dòng)手能力的緊密結(jié)合的重要性,為日后成為一名合格的應(yīng)用型人才打下良好的基礎(chǔ)。參考文獻(xiàn)[1]李全利.單片機(jī)原理及接口技術(shù)[M].北京:高等教育出版社,2009.12,第2版.[2]朱勇.單片機(jī)原理與應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社.2006.第二版.[3]胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社.1996第三版.[4]何立民.單片機(jī)應(yīng)用技術(shù)詳解[M].北京:北京航空航天大學(xué)出版社,1994.
[5]張毅剛.單片機(jī)原理及接口技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990.
[6]譚浩強(qiáng).單片機(jī)課程設(shè)計(jì)[M].北京:清華大學(xué)出版社,1989.第三版.[7]李正軍.計(jì)算機(jī)控制系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2005.第二版.[8]張毅剛.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997.[9]嚴(yán)天峰.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真調(diào)試[M].北京:北京航空航天大學(xué)出版社,1999.[10]李朝清.單片機(jī)原理與接口技術(shù)[M]北京:北京航空航天大學(xué)出版社,1989.第3版.[11]馬忠梅.單片機(jī)C語(yǔ)言程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2007.[12]付家才.單片機(jī)控制工程實(shí)踐技術(shù)[M].北京:化學(xué)工業(yè)出版社.2004.第二版.[13]邊海龍.單片機(jī)開發(fā)與典型工程項(xiàng)目實(shí)例詳解[M].北京:電子工業(yè)出版社,2008.10[14]萬(wàn)子芬.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)例100例[M].北京:電子工業(yè)出版社2011.8,第5版.[15]李學(xué)禮.基于Proteus的8051單片機(jī)實(shí)例教程[M].北京:電子工業(yè)出版社,2008.第2版.附錄附錄1系統(tǒng)原理圖附錄2系統(tǒng)仿真圖附錄3程序清單#include<reg52.h>//頭文件#defineuintunsignedint//宏定義/***********************各管腳位定義*************************/sbitNB_RED=P0^4;//南北車道紅燈sbitNB_YELLOW=P0^3;//南北車道黃燈sbitNB_GREEN=P0^2;//南北車道綠燈sbitDX_RED=P0^7;//東西車道紅燈sbitDX_YELLOW=P0^6;//東西車道黃燈sbitDX_GREEN=P0^5;//東西車道綠燈sbitkey1=P3^0;//白天模式按鍵sbitkey2=P3^1;//黑夜模式按鍵sbitkey4=P3^6;//退出加時(shí)和緊急情況sbitkey5=P2^5;//東西人行道通行按鍵sbitkey6=P2^4;//南北人行道通行按鍵sbitkey7=P2^7;//東西闖紅燈按鍵sbitkey8=P2^6;//南北闖紅燈按鍵sbitdxred=P0^1;//東西人行道紅燈sbitdxgreed=P0^0;//東西人行道綠燈sbitnbred=P3^4;//南北人行道紅燈sbitnbgreed=P3^5;//南北人行道綠燈sbitBEEP=P3^7;//蜂鳴器/**************************變量定義******************************/inttemp;//數(shù)碼管顯示全局變量intaa;//定時(shí)器T0計(jì)數(shù)值intcc;//定時(shí)器T1計(jì)數(shù)值intshi;//倒計(jì)時(shí)十位顯示數(shù)值intge;//倒計(jì)時(shí)個(gè)位顯示數(shù)值intdd;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木制家具生產(chǎn)合同
- 2024聘請(qǐng)常年法律顧問(wèn)合同協(xié)議書
- 土地租賃合同稅務(wù)問(wèn)題
- 股權(quán)擴(kuò)股協(xié)議書格式
- 建筑設(shè)計(jì)培訓(xùn)就業(yè)協(xié)議書
- 3.1.1 勾股定理 同步課件
- 七年級(jí)地理上冊(cè)-4.2-世界的語(yǔ)言和宗教同課異構(gòu)教案1-新人教版
- 2024版發(fā)起人協(xié)議書范例
- 《未來(lái)的建筑》示范公開課教學(xué)課件【小學(xué)三年級(jí)美術(shù)下冊(cè)】
- 2024年多應(yīng)用場(chǎng)景童鞋購(gòu)銷合同
- RITTAL威圖空調(diào)中文說(shuō)明書
- 生物質(zhì)能發(fā)電技術(shù)應(yīng)用中存在的問(wèn)題及優(yōu)化方案
- GA 1809-2022城市供水系統(tǒng)反恐怖防范要求
- 幼兒園繪本故事:《老虎拔牙》 課件
- 2021年上半年《系統(tǒng)集成項(xiàng)目管理工程師》真題
- 一個(gè)冬天的童話 遇羅錦
- GB/T 706-2008熱軋型鋼
- 實(shí)驗(yàn)六 雙子葉植物莖的初生結(jié)構(gòu)和單子葉植物莖的結(jié)構(gòu)
- GB/T 25032-2010生活垃圾焚燒爐渣集料
- GB/T 13610-2020天然氣的組成分析氣相色譜法
- 《彩虹》教案 省賽一等獎(jiǎng)
評(píng)論
0/150
提交評(píng)論