基于單片機(jī)的交通燈控制系統(tǒng)的設(shè)計(jì)_第1頁
基于單片機(jī)的交通燈控制系統(tǒng)的設(shè)計(jì)_第2頁
基于單片機(jī)的交通燈控制系統(tǒng)的設(shè)計(jì)_第3頁
基于單片機(jī)的交通燈控制系統(tǒng)的設(shè)計(jì)_第4頁
基于單片機(jī)的交通燈控制系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于單片機(jī)的交通燈控制系統(tǒng)的設(shè)計(jì)專業(yè)XXXXXX(導(dǎo)師:XXX)摘要:隨著我國交通車輛的快速發(fā)展,交通事故也急劇增加。為了改善交通秩序減少交通事故,交通信號(hào)燈起著越來越重要的作用。交通燈安裝在各個(gè)路口上,而控制交通燈的工作可以由單片機(jī)來實(shí)現(xiàn)。本文所設(shè)計(jì)的基于單片機(jī)控制的交通燈控制系統(tǒng)主要由STC89C52單片機(jī)、LED倒計(jì)時(shí)顯示、按鍵電路等組成,具有通行時(shí)間手動(dòng)設(shè)置、可倒計(jì)時(shí)顯示、急車強(qiáng)行通過、夜間模式等處理功能。本文重點(diǎn)介紹了交通燈控制系統(tǒng)的方案選擇、軟硬件設(shè)計(jì)、電路仿真、實(shí)物制作與裝調(diào)等。實(shí)踐證明該系統(tǒng)能夠簡單、經(jīng)濟(jì)、有效地引導(dǎo)交通,提高交通路口的通行能力。關(guān)鍵詞:交通燈

單片機(jī)

C語言控制系統(tǒng)引言當(dāng)今,紅綠燈安裝在個(gè)個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這個(gè)技術(shù)在19世紀(jì)就已經(jīng)出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機(jī)械般手勢信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的會(huì)議大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)方式玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消!電氣啟動(dòng)的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅黃綠三色圓形的投光器組成,1914年始裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。信號(hào)燈的出現(xiàn),使得交通得以有效的管理,對(duì)于疏導(dǎo)交通流量、提高道路通行能力、減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號(hào)協(xié)定》對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈時(shí)通行信號(hào)燈,面對(duì)綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛必需讓合法的正在路口內(nèi)行駛的車輛和過人行橫線的行人優(yōu)先通行。紅燈是禁行信號(hào)燈,面對(duì)紅燈的車輛必需在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過停車線,但車輛已經(jīng)十分接近停車線而不能安全停車的可以進(jìn)入交叉路口!1設(shè)計(jì)要求及方案選擇1.1設(shè)計(jì)要求(1)基于單片機(jī)的交通燈控制系統(tǒng),可實(shí)現(xiàn)東西、南北兩個(gè)方向的紅、黃、綠燈按設(shè)定的時(shí)間亮滅,用以指引交通通行??刂葡到y(tǒng)分為自動(dòng)模式、緊急情況模式(特種車輛119、120、110等自動(dòng)放行,雙向紅燈常亮)、夜間模式(雙向黃燈閃爍)等三種運(yùn)行模式。(2)四方向各有紅綠黃三顆燈,四個(gè)兩位一體數(shù)碼管顯示東、西、南、北方向時(shí)間。(3)設(shè)置一個(gè)起停開關(guān)和工作方式選擇按鈕。在停機(jī)狀態(tài)下,按壓一次工作方式選擇按鈕,按“自動(dòng)模式→緊急情況模式→夜間模式→自動(dòng)模式”循環(huán)。(4)在自動(dòng)模式下,初始時(shí)東西、南北方向都亮紅燈。然后東西向路口綠燈亮40s后轉(zhuǎn)黃燈亮5s,再轉(zhuǎn)紅燈亮40s。相應(yīng)地南北向紅綠燈工作順序?yàn)榧t燈亮40s后轉(zhuǎn)黃燈亮5s,再轉(zhuǎn)綠燈亮40s,以此進(jìn)行循環(huán)。(5)如果發(fā)生緊急事件,則按下工作方式按鈕并轉(zhuǎn)換成緊急情況模式,此時(shí)東西、南北向都亮紅燈,延時(shí)10s,隨后恢復(fù)自動(dòng)工作模式。(6)在夜間工作模式,雙向黃燈均以1Hz頻率閃爍,直至工作方式改變?yōu)橹?。?)時(shí)鐘采用倒計(jì)時(shí)方式顯示,即各燈亮?xí)r,時(shí)鐘為點(diǎn)亮的最大時(shí)間,以后每1s顯示數(shù)據(jù)減1,直到減為0以后指示燈再進(jìn)行變換。1.2設(shè)計(jì)要點(diǎn)根據(jù)控制系統(tǒng)的工作原理和執(zhí)行裝置,可以將系統(tǒng)設(shè)計(jì)分為硬件和軟件兩大部分。硬件設(shè)計(jì)部分:包括編寫電路原理圖、合理選擇元器件、焊接各個(gè)元器件,然后對(duì)硬件性能進(jìn)行調(diào)試、測試,以達(dá)到設(shè)計(jì)要求。軟件設(shè)計(jì)部分:選擇合適的編程語言和軟件應(yīng)用程序,進(jìn)行編程設(shè)計(jì)等;最后是通過軟件對(duì)程序進(jìn)行調(diào)試、測試,以及仿真,以達(dá)到性能的最優(yōu)化。1.3方案論證與選擇方案一:由普通的數(shù)字電路集成芯片組成硬件設(shè)計(jì)思路簡單,避免了編程的麻煩,但使用元器件較多,電路比較復(fù)雜,焊接調(diào)試容易出錯(cuò),而且不利于智能控制,調(diào)時(shí)電路復(fù)雜。方案二:可編程邏輯控制器(PLC)應(yīng)用廣泛,它能夠非常方便地集成到工業(yè)控制系統(tǒng)中。其速度快,體積小,可靠性和精度都較好,在設(shè)計(jì)中可采用PLC對(duì)硬件進(jìn)行控制,但是用PLC實(shí)現(xiàn)價(jià)格相對(duì)昂貴,因而成本過高。方案三:單片機(jī)控制采用單片機(jī)控制,可提高電路的可靠性與穩(wěn)定性,硬件電路比較簡單,主要用軟件來控制,控制方式靈活多樣,能滿足不同情況的控制,通過程序可利用中斷等方式來方便的實(shí)現(xiàn)調(diào)時(shí)。綜合以上三種方案的特點(diǎn),結(jié)合我自身的知識(shí)結(jié)構(gòu),我采用方案三,選擇使用52系列單片機(jī)來完成。2系統(tǒng)硬件設(shè)計(jì)2.1系統(tǒng)框圖考慮到單片機(jī)具有物美價(jià)廉、功能強(qiáng)、使用方便靈活、可靠性高等特點(diǎn),如圖2-1所示采用52系列的單片機(jī)為核心來實(shí)現(xiàn)交通燈的控制。系統(tǒng)分為三大部分:主控模塊、按鍵掃描模塊和顯示模塊。

單片機(jī)

52系類電源電路電源電路

顯示電路時(shí)鐘電路時(shí)鐘電路按鍵掃描電路按鍵掃描電路復(fù)位電路復(fù)位電路圖2-1系統(tǒng)框圖2.2主控模塊主控模塊在整個(gè)系統(tǒng)中起著至關(guān)重要的作用,它就好比一個(gè)人的大腦,統(tǒng)籌著身體的各個(gè)部位。主控模塊需要檢測其他子模塊的各種參數(shù)和驅(qū)動(dòng)數(shù)碼管顯示的相關(guān)參數(shù),同時(shí)主控模塊還需要分析其他子模塊采集的各類數(shù)據(jù)。而本次主控電路設(shè)計(jì),我們選擇了52系列單片機(jī)中的STC89C52作為主控芯片。2.2.189C52單片機(jī)概述STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K可編程Flash存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在線可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。這一模塊以單片機(jī)為中心把程序代碼燒進(jìn)去然后外圍接上其他子模塊。圖2-2STC89C52單片機(jī)引腳圖STC89C52引腳排列如圖2-2所示。下面對(duì)STC89C52引腳功能進(jìn)行詳細(xì)介紹。(1)電源引腳和(40腳):電源端為+5V;(20腳):接地端。(2)時(shí)鐘電路引腳XTAL1和XTAL2XTAL2(18腳):接外部晶體和微調(diào)電容的一端。在單片機(jī)內(nèi)部它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時(shí)針電路時(shí),該引腳輸入外時(shí)鐘脈沖。要檢查89C52的振蕩電路是否正常工作,可用示波器查看XTAL2端是否有脈沖信號(hào)輸出。XTAL1(19腳):接外部晶體和微調(diào)電容的另一端。在片內(nèi),它是振蕩電路反向放大器的輸入端。在采用外部時(shí)鐘時(shí),該引腳必須接地。(3)控制信號(hào)腳RSTALEPSEN和EA。RST(9腳):RST是復(fù)位信號(hào)輸入端,高電平有效。在此輸入端保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。ALE/PROG(30引腳):地址鎖存允許信號(hào)端。當(dāng)STC89C52上電正常工作后,ALE引腳不斷向外輸出正脈沖信號(hào)。此頻率為振蕩器頻率fosc的1/6,當(dāng)CPU訪問片外存儲(chǔ)器時(shí),ALE輸出信號(hào)作為鎖存低8位地址的控制信號(hào)。在CPU訪問片外數(shù)據(jù)存儲(chǔ)時(shí),每取值一次(一個(gè)機(jī)器周期)會(huì)丟失一個(gè)脈沖。平時(shí)不訪問片外存儲(chǔ)時(shí),ALE端也以1/6的振蕩頻率固定輸出正脈沖,因而ALE信號(hào)可以用作對(duì)外輸出時(shí)鐘或定時(shí)信號(hào)。如果你想看一下STC89C52芯片的好壞,可用示波器查看ALE端是否有脈沖信號(hào)輸出,如有脈沖信號(hào)輸出,則STC89C52基本上是好的。ALE的負(fù)載驅(qū)動(dòng)能力為8個(gè)LS型TTL(低功耗高速TTL)。PSEN(29腳);程序存儲(chǔ)允許輸出信號(hào)引腳,在訪問片外程序存儲(chǔ)器時(shí),此端定時(shí)輸出負(fù)脈沖作為讀片外存儲(chǔ)器的選通信號(hào)。此引腳接ERROM的OE端。PSEN端有效,即允許讀出ERROM/ROM中的指令碼。CPU在從外部ERROM/ROM取指令期間,每個(gè)周期PSEN兩次有效。不過,在訪問片外RAM時(shí),要少產(chǎn)生兩次PSEN負(fù)脈沖信號(hào)。要檢查一個(gè)STC89C52小系統(tǒng)上電后CPU能否正常到ERROM/ROM中讀取指令碼,也可用于示波器看PSEN端有無脈沖輸出。如有,說明基本上工作正常。EA/VPP(31腳):外部程序存儲(chǔ)器地址允許輸入端/固化編程電壓輸入端。當(dāng)EA引腳接高電平時(shí),CPU只訪問片內(nèi)ERROM/ROM并執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。但在PC(程序計(jì)數(shù)器)的值超過OFFFH(對(duì)8751/8051為4k)時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外存儲(chǔ)器的程序。當(dāng)出入信號(hào)EA引腳接低電平(接地)時(shí),CPU只訪問外部ERROM/ROM并執(zhí)行外部程序存儲(chǔ)器中的指令,而不管是否有片內(nèi)程序存儲(chǔ)器。對(duì)于無芯片內(nèi)的ROM的8031或8032,須外擴(kuò)ERROM,此時(shí)必須將EA引腳接地。如果使用有片內(nèi)ROM的AT89C52,外擴(kuò)ERROM也是可以的,但也要使EA接地。(4)I/O(輸入/輸出端口,P0,P1,P2,P3)P0口:P0口是一個(gè)漏極開路的8位準(zhǔn)雙向I/O端口。P1口:8位準(zhǔn)雙向I/O端口。P2口:即可以做地址總線輸出地址高8位,也可以做普通I/O用,(此時(shí)為準(zhǔn)雙向口)。P3口:雙功能口,即可以做普通I/O口用(此時(shí)為準(zhǔn)向口,也可以按每位定義實(shí)現(xiàn)第二功能操作)。P3口定義第二功能,見表2-1。表2-1P3口的第二功能表引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時(shí)器0外部中斷)P3.5T1(定時(shí)器1外部中斷)P3.6WR(外部存儲(chǔ)器寫選通)P3.7RD(外部存儲(chǔ)器讀寫通)2.2.2時(shí)鐘電路設(shè)計(jì)單片機(jī)運(yùn)行需要時(shí)鐘支持—就像計(jì)算機(jī)的CPU一樣,如果沒有時(shí)鐘電路來產(chǎn)生時(shí)鐘驅(qū)動(dòng)單片機(jī),那單片機(jī)就不能執(zhí)行程序。時(shí)鐘電路是微型計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。時(shí)鐘信號(hào)可以由兩種方式產(chǎn)生:一種是內(nèi)部方式,利用芯片內(nèi)部的振蕩電路,產(chǎn)生時(shí)鐘信號(hào):另一種為外部方式,時(shí)鐘信號(hào)由外部引入。如圖2-3所示,本電路使用單片機(jī)內(nèi)部振蕩器,12MHz的晶體諧振器直接接在單片機(jī)的時(shí)鐘端口X1和X2,電路中C1、C3為振蕩器的匹配電容,整個(gè)電路用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序。圖2-3時(shí)鐘電路2.2.3復(fù)位電路設(shè)計(jì)復(fù)位電路作用就是復(fù)位,讓系統(tǒng)恢復(fù)到初始狀態(tài),防止程序進(jìn)入死循環(huán)或防干擾,重啟后才芯片才能又正常工作。簡單的上電電阻式自動(dòng)復(fù)位電路,比較簡單的上電自動(dòng)復(fù)位且?guī)謩?dòng)復(fù)位的阻容復(fù)位電路,還有看門狗復(fù)位電路,還有專業(yè)芯片級(jí)的復(fù)位電路。本系統(tǒng)的容阻上電復(fù)位,就是利用RC電路的充電過程來給單片機(jī)復(fù)位,如圖2-4所示。RC電路的時(shí)間常數(shù)計(jì)算公式:T=RC即:T=RC=10u*10k=100ms。當(dāng)需要復(fù)位時(shí),也可以按下復(fù)位按鍵,進(jìn)行復(fù)位。圖2-4復(fù)位電路2.3按鍵掃描模塊在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤。它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,程序設(shè)計(jì)上也不復(fù)雜,但是需要占用比較多的I/O口線,一般在對(duì)硬件電路要求不高的簡單電路中,當(dāng)單片機(jī)應(yīng)用系統(tǒng)鍵盤中需要的按鍵比較少或I/O口線比較富余時(shí),可以采用這樣類型的鍵盤;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,矩陣鍵盤是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤,在行線和列線的每個(gè)交叉點(diǎn)上。這種形式的鍵盤結(jié)構(gòu),能夠有效的提高單片機(jī)系統(tǒng)中I/O的利用率(行線接P1.0……P1.3,列線接P1.4……P1.7),行列適用于按鍵輸入多的情況。如圖2-5所示,P1端口能控制八個(gè)按鍵/開關(guān)。如圖2-6所示,在我的設(shè)計(jì)中P1端口不但控制了S1起停開關(guān),還控制了功能切換按鍵、南北方向通行時(shí)間增加、減少鍵和東西方向通行時(shí)間增加、減少鍵,共一個(gè)按鍵五個(gè)開關(guān),所以相對(duì)比較而言,采用獨(dú)立鍵盤會(huì)更合適。圖2-5P1口圖2-6P1口與獨(dú)立式鍵盤的連接2.4顯示模塊2.4.1發(fā)光二極管的簡介發(fā)光二極管(LED)是一種電致發(fā)光的光電器件。早在1907年開始,人們就發(fā)現(xiàn)某些半導(dǎo)體材料制成的二極管在正向?qū)〞r(shí)有發(fā)光的物理現(xiàn)象,但生產(chǎn)出有一定發(fā)光率的紅光LED已是1969年了。到今天,LED已生產(chǎn)了30多年,回顧過去,它已茁壯成長。各種類型的LED、利用LED作第二次開發(fā)的產(chǎn)品及與LED配套的產(chǎn)品(如白光LED驅(qū)動(dòng)器)發(fā)展迅速,新產(chǎn)品不斷上市,已發(fā)展成不少新型產(chǎn)業(yè)。早期LED主要用于做指示燈。它的發(fā)光強(qiáng)度不高,一般小于1mcd,高的也僅幾個(gè)mcd;另外,發(fā)光效率也不高,一般小于0.21m/w,其功率僅幾十mw到上百個(gè)mw(屬于小功率LED)。2.4.2二位數(shù)碼管的簡介led數(shù)碼管(LEDSegmentDisplays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。led數(shù)碼管廣泛用于儀表,時(shí)鐘,車站,家電等場合。選用時(shí)要注意產(chǎn)品尺寸顏色,功耗,亮度,波長等。如圖2-7、圖2-8是共陽數(shù)碼管的例子。圖2-7共陽數(shù)碼管引腳圖圖2-810腳共陽數(shù)碼管實(shí)物圖2.4.3顯示電路的設(shè)計(jì)考慮設(shè)計(jì)需要,我們在東西/南北方向分別用一個(gè)二位數(shù)碼管用來顯示倒計(jì)時(shí)時(shí)間,三個(gè)紅綠黃三色發(fā)光二極管來構(gòu)成交通提示信息,形象逼真。本系統(tǒng)使用數(shù)碼管完成倒計(jì)時(shí)顯示功能。以方向東西為例,數(shù)碼管顯示的數(shù)值從綠燈的設(shè)置時(shí)間最大值往下減,每秒鐘減1,一直減到0。然后又從黃燈的設(shè)置時(shí)間最大值往下減,一直減到0。接下來又從紅燈的設(shè)置時(shí)間最大值往下減,一直減到0。再接下來又顯示綠燈時(shí)間,如此循環(huán)。交通燈控制系統(tǒng)的顯示電路如圖2-9所示。在本系統(tǒng)中,采用的是二位一體七段共陽數(shù)碼管,其中A~H段分別接到單片機(jī)的P0口,由單片機(jī)輸出的P0口數(shù)據(jù)來決定段碼值,位選碼COM1,COM2分別接到單片機(jī)的P3.0/P3.2,P3.1/P3.3,由單片機(jī)來決定當(dāng)前該顯示的是哪一位。在圖中還有八個(gè)電阻,連接在P0口上,用作P0口的上拉電阻,保證P0口沒有數(shù)據(jù)輸出時(shí)候處于高電平狀態(tài)。而在位選碼與P3口連接的三極管與電阻式用于驅(qū)動(dòng)數(shù)碼管顯示的。圖2-9交通燈控制系統(tǒng)的顯示電路3系統(tǒng)軟件設(shè)計(jì)3.1軟件設(shè)計(jì)思想本次設(shè)計(jì)使用C語言來編寫程序。C語言作為一種編譯型程序設(shè)計(jì)語言,它兼顧了多種高級(jí)語言的特點(diǎn),并具備匯編語言的功能。此外,C語言程序還具有完善的模塊程序結(jié)構(gòu),從而為軟件開發(fā)中采用模塊化程序設(shè)計(jì)方法提供了有力的保障。以AT89C52單片機(jī)為控制核心,具有計(jì)時(shí)記憶功能,一次時(shí)間設(shè)置完,復(fù)位后不需重新進(jìn)行時(shí)間設(shè)定;通過按鍵掃描輸出按鍵信息,并通過單片機(jī)將它轉(zhuǎn)化為在七段數(shù)碼管上顯示的字形符。單片機(jī)的P1口為起停開關(guān)以及功能切換按鍵、南北方向通行時(shí)間增加、減少鍵和東西方向通行時(shí)間增加、減少鍵。P0.0……P0.7為數(shù)碼管的段選口,P2.0……P2.3、P2.4……2.6為數(shù)碼管的片選口。3.2系統(tǒng)軟件流程圖3.2.1主程序流程圖系統(tǒng)主程序是程序的重點(diǎn),它包括系統(tǒng)初始化、顯示模塊、鍵盤掃描模塊,如圖3-1所示。圖3-1主程序流程圖3.2.2鍵盤掃描流程圖圖3-2為鍵盤按鍵掃描程序流程圖,它用來掃描P1口中的起停開關(guān)、功能切換按鍵和通行時(shí)間加減按鍵是否有按下,如按下這實(shí)現(xiàn)其對(duì)應(yīng)功能。圖3-2鍵盤掃描流程圖3.2.3起停開關(guān)控制流程圖圖3-3為起停開關(guān)程序流程圖,當(dāng)開關(guān)閉合時(shí)程序照常運(yùn)行,當(dāng)開關(guān)打開時(shí),程序停止。圖3-3起停開關(guān)控制流程圖3.2.4顯示子函數(shù)流程圖圖3-4為顯示子函數(shù)流程圖,因?yàn)橛?jì)算機(jī)運(yùn)行指令的速度是非常快的,第一次顯示和第二次顯示之間的間隔只有幾毫秒,由于發(fā)光管的余輝和人眼視覺暫留作用,所以感覺各數(shù)碼管同時(shí)電亮。圖3-4顯示子函數(shù)流程圖3.3P0、P2口顯示狀態(tài)編碼表如表3-1所示,當(dāng)P0口輸入不同的編碼時(shí)數(shù)碼管將顯示相對(duì)應(yīng)的數(shù)字。如表3-2所示當(dāng)P2口輸入不同的編碼時(shí)其對(duì)應(yīng)的發(fā)光二極管將會(huì)發(fā)亮。表3-1P0口數(shù)碼管顯示狀態(tài)編碼表P0編碼顯示P0^7P0^6P0^5P0^4P0^3P0^2P0^1P0^011000000C0H011111001F9H110100100A4H210110000B0H31001001092H51000001082H611111000F8H71000000080H81001000090H9

表3-2P2口紅綠燈發(fā)光狀態(tài)編碼表P2南北方向東西方向編碼備注P2^6P2^5P2^4P2^2P2^1P2^0南北東西100001041H紅燈綠燈010010022H黃燈黃燈001100014H綠燈紅燈4電路仿真調(diào)試本設(shè)計(jì)硬件部分比較簡單,在硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。這里我們使用Proteus軟件進(jìn)行仿真,加載編譯好的HEX文件到單片機(jī)后,點(diǎn)擊運(yùn)行按鈕即可。4.1停機(jī)模式仿真如圖4-1所示當(dāng)P1.0口的起停開關(guān)閉合時(shí),程序維持運(yùn)行狀態(tài),數(shù)碼管,紅綠燈按規(guī)律照常顯示。當(dāng)起停開關(guān)打開時(shí),程序進(jìn)入停機(jī)狀態(tài),數(shù)碼管,紅綠燈顯示暫停。圖4-1仿真電路圖(停機(jī)模式)4.2自動(dòng)模式仿真如圖4-2所示在自動(dòng)模式下,初始時(shí)東西、南北方向都亮紅燈。然后東西向路口綠燈亮40s后轉(zhuǎn)黃燈亮5s,再轉(zhuǎn)紅燈亮40s。相應(yīng)地南北向紅綠燈工作順序?yàn)榧t燈亮40s后轉(zhuǎn)黃燈亮5s,再轉(zhuǎn)綠燈亮40s,以此進(jìn)行循環(huán)。圖4-2仿真電路圖(自動(dòng)模式)4.3緊急模式仿真如圖4-3如果發(fā)生緊急事件,則按下工作方式按鈕并轉(zhuǎn)換成緊急情況模式,此時(shí)東西、南北方向都亮紅燈,延時(shí)10s,隨后恢復(fù)自動(dòng)工作模式。圖4-3仿真電路圖(緊急模式)4.4夜間模式仿真如圖4-4在夜間工作模式時(shí),雙向黃燈均以1Hz頻率閃爍,直至工作方式改變?yōu)橹?。圖4-4仿真電路圖(夜間模式)5實(shí)物制作與調(diào)試5.1原理圖繪制因?yàn)閷?shí)際情況中,南向與北向或東向與西向的的顯示是完全相同的,所以我在實(shí)物上以L型來擺放數(shù)碼管與紅黃綠三色發(fā)光二極管來模擬交通燈。如圖5-1。圖5-1電路原理圖5.2PCB圖繪制PCB圖是由原理圖利用Alitum軟件轉(zhuǎn)換而來。通過對(duì)原理圖的分析以及電路板其他條件的限制,得以確定器件的位置以及電路板的層數(shù),最后經(jīng)過手工布線以后得到最終的PCB圖。圖5-2實(shí)物PCB圖5.3實(shí)物制作考慮到本系統(tǒng)所用元器件較少,大部分功能都是通過軟件編程來實(shí)現(xiàn),同時(shí)也出于對(duì)畢業(yè)設(shè)計(jì)成本的考慮,因此我用的板子是萬能板。在實(shí)物的制作中,首先我把元器件都按著仿真圖放在了板子上,進(jìn)行了合理的排放。等最后確定了擺放位置后,我用手機(jī)把板子拍了下來,以防后面板子焊接過程中忘記了元器件的擺放位置。接下來就是焊接工作了,等全部元器件都焊好后,我用萬用表的歐姆檔或是短路聲響指示功能來做焊點(diǎn)的檢測,如此可以避免焊接時(shí)漏焊、虛焊和配線錯(cuò)誤的問題。PCB板加工圖如下圖5-3所示。PCB板裝配完成成品圖如圖5-4所示。圖5-3PCB板加工圖圖5-4PCB板成品圖5.4實(shí)物調(diào)試因?qū)嵨锷衔丛O(shè)置串口進(jìn)行程序燒寫所以只能將實(shí)物52芯片放入51開發(fā)板(圖5-5)中然后將編譯好的HEX程序文件由stc-isp(圖5-6)軟件燒寫入開發(fā)板中(圖5-7),在把芯片放入實(shí)物中。圖5-5程序燒寫工具圖5-6stc-isp燒寫軟件圖5-7程序下載(燒寫)過程程序燒寫完成以后,將芯片從51開發(fā)板中取出插入實(shí)物芯片底座中,檢測芯片引腳是否插歪、斷裂,檢查無誤后通電。通電后如圖5-8所示,電源指示燈發(fā)出亮光,L型模擬交通燈開始模擬,南北方向亮紅燈、東西方向開始亮綠燈并按照要求開始倒計(jì)時(shí)。圖5-8實(shí)物自動(dòng)模式效果圖如圖5-9所示,將工作方式切換到緊急模式以后,南北方向與東西方向亮紅燈,并開始10秒倒計(jì)時(shí),10秒倒計(jì)時(shí)結(jié)束以后自動(dòng)切換回自動(dòng)模式。圖5-9實(shí)物緊急模式效果圖如圖5-10所示,將工作方式切換到夜間模式以后,實(shí)物中南北方向與東西方向亮黃燈并閃爍,數(shù)碼管顯示00。在夜間模式中交通燈不再對(duì)交通進(jìn)行控制。圖5-10實(shí)物夜間模式效果圖參考文獻(xiàn)[1]王先美.交通燈控制系統(tǒng)的設(shè)計(jì)[J].科技傳播.2010(23)[2]劉斌,劉春茂,尹社會(huì).淺析基于8086的交通燈控制系統(tǒng)設(shè)計(jì)[J].民營科技.2016(09)[3]李娟.城鄉(xiāng)交通燈控制系統(tǒng)電路設(shè)計(jì)[J].科技創(chuàng)新導(dǎo)報(bào).2013(29)[4]徐鑫,楊利亞,周磊,胡允森,鄭建領(lǐng).單片機(jī)智能交通燈控制系統(tǒng)的設(shè)計(jì)[J].電子世界.2013(23)[5]梁麗秀.智能交通燈控制系統(tǒng)設(shè)計(jì)[J].民營科技.2012(06)[6]帕爾哈提·庫爾班.淺析交通燈控制系統(tǒng)設(shè)計(jì)[J].科技傳播.2011(10)[7]何翼.智能交通燈控制系統(tǒng)設(shè)計(jì)與仿真[J].重慶交通大學(xué)學(xué)報(bào)(自然科學(xué)版).2010(05)附錄1元器件清單元器件名稱數(shù)量STC89c52單片機(jī)1撥動(dòng)開關(guān)2按鍵開關(guān)6電解電容1電容2晶振1發(fā)光二極管7三極管90124二位數(shù)碼管2排阻1附錄2程序源代碼#include<at89x51.h>#define ucharunsignedchar //宏定義#define uintunsignedintbitFX;uint Time_DX,Time_NB,GN=0; uinttemp=90,DX=90,NB=90,Count=0; uchar codetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0-9共陽數(shù)碼管段選碼表/**********Xms基準(zhǔn)延時(shí)子函數(shù)**********/ voiddelay(unsignedintt){ inti,j; for(i=0;i<124;i++) for(j=0;j<t;j++);}/**********顯示子函數(shù)**********/voiddisplay(){ P3_0=0; P0=tab[Time_NB/2%10]; //南北個(gè)位的顯示 delay(2); P3_0=1; P3_1=0; P0=tab[Time_NB/2/10]; //南北十位的顯示 delay(2); P3_1=1; P3_2=0; P0=tab[Time_DX/2%10]; //東西個(gè)位的顯示 delay(2); P3_2=1; P3_3=0; P0=tab[Time_DX/2/10]; //東西十位的顯示 delay(2); P3_3=1;}/**********定時(shí)器T0初始化子函數(shù)**********/voidintimer0int() { TMOD=0x01; TH0=0X3C; //1ms定時(shí) TL0=0XB0; EA=1; ET0=1; TR0=1;}/**********功能切換按鈕*********/voidGNQH(){ if(P1_1==0) {delay(10); if(P1_1==0) { while(P1_1==0); delay(10); if(P1_0==1) { GN++; if(GN==1) { Count=temp; temp=20; } elseif(GN==2)P2=0X00; elseif(GN==3) GN=0; } } }}/**********時(shí)間加減**********/voidKEY(){ if(P1_4==0) //東西方向通行時(shí)間+2秒 {delay(10); if(P1_4==0) { while(P1_4==0); delay(10); DX=DX+4; } } if(P1_5==0) //東西方向通行時(shí)間-2秒 {delay(10); if(P1_5==0) { while(P1_5==0); delay(10); DX=DX-4; } } if(P1_6==0) //南北方向通行時(shí)間+2秒 {delay(10); if(P1_6==0) { while(P1_6==0); delay(10); NB=NB+4; } } if(P1_7==0) //南北方向通行時(shí)間-2秒 {delay(10); if(P1_7==0) { while(P1_7==0); delay(10); NB=NB-4; } }}/**********主函數(shù)**********

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論