




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 基于單片機的智能交通燈控制系統(tǒng)的設(shè)計 湛 強 (大學物理科學與信息工程學院, 湖南 416000) 摘 要 傳統(tǒng)交通燈控制系統(tǒng)從采用計算機控制到現(xiàn)代化的電子定時監(jiān)控,在科學化、自動化上不斷地更新、發(fā)展和完善。但是,隨著社會的不斷進步,傳統(tǒng)的交通燈的缺陷也日益出現(xiàn),其中設(shè)計過于死板,紅綠燈交替變換時間過于程式化是最突出的問題。本設(shè)計的目的在于設(shè)計出一個具有實用價值的、性價比較高的智能交通燈的控制系統(tǒng)。該系統(tǒng)由車輛檢測電路、信號燈電路、時間顯示電路、緊急轉(zhuǎn)換電路四部分組成。結(jié)合了數(shù)學中“模糊控制”累積計數(shù)的原理, 以美國ATMEL公司開發(fā)的低功耗,高性能CMOS8位AT89S51單片機為控制芯片
2、,利用Wave 6000并結(jié)合匯編語言設(shè)計MCU,采用Proteus軟件對交通燈控制系統(tǒng)進行仿真,仿真結(jié)果表明:系統(tǒng)性能較好,穩(wěn)定性高,可實現(xiàn)十字路口城鄉(xiāng)交通自動控制和緊急情況下能夠手動切換信號燈讓特殊車輛優(yōu)先通行,能夠達到道路的最大通行效率。關(guān)鍵詞:ATM89S51單片機;智能交通燈控制系統(tǒng);模糊控制;PROTEUS仿真The Design of Intelligent Traffic Light Control System Based On MCU Zhan Qiang (College of Physics Science and Information Engineering, Ji
3、shou University, Jishou 416000, Hunan China)Abstract Traditional traffic control system by computer control to modernization from the electronic timing control, in scientific and automation in constantly update, development and improvement. However, with the development of society, the defects of th
4、e traditional lights are also increasingly appear too formalist, including design, lights alternates alternately time schedule is the most outstanding problems. The purpose of the design is to design which is practical and high performance.Better performance of the system, This system consists of ve
5、hicle detection circuit, signal circuit, time display circuit, emergency circuit four parts. Combining the fuzzy control in mathematics ", "the principle, the cumulative count by American ATMEL company development of low power consumption, high CMOS8 AT89S51 bits for control chip, and usin
6、g the Wave 6,000 assembler language designed by MCU, Proteus of traffic control system software simulation, the simulation results show that the system performance is good, high stability, may realize the intersection traffic automatic control and emergency situations can manually switched signal ma
7、ke special vehicle right-of-way, can achieve maximum efficiency through the road.Key words: ATM89S51 SCM; intelligent traffic light control system; fuzzy control; PROTEUS Simulatio 目 錄第一章 緒論41.1 交通燈控制系統(tǒng)的研究現(xiàn)狀41.2基于單片機的智能交通燈控制系統(tǒng)設(shè)計的意義41.3本論文主要工作5第二章 智能交通燈控制系統(tǒng)的相關(guān)設(shè)計62.1 智能交通燈控制系統(tǒng)規(guī)劃62.2 智能交通燈控制系統(tǒng)設(shè)計原理62.3智
8、能交通燈控制系統(tǒng)設(shè)計實現(xiàn)的功能7第三章 智能交通燈控制系統(tǒng)的硬件設(shè)計83.1 AT89S51單片機簡介83.1.1 AT89S51單片機的主要性能參數(shù)83.1.2 AT89S51芯片部結(jié)構(gòu)簡介83.1.3 主要引腳功能103.2 控制器的原理框圖123.3 各模塊控制電路133.3.1、車檢測電路133.3.2 信號燈電路153.3.3 時間顯示電路153.3.4 緊急轉(zhuǎn)換電路17第四章 智能交通燈控制系統(tǒng)的軟件設(shè)計204.1交通燈的軟件設(shè)計流程圖204.1 控制器的軟件設(shè)計204.1.1 每秒鐘的設(shè)定204.1.2 1秒的方法214.1.3 軟件延時22第五章 智能交通燈方案的仿真23第六章
9、 系統(tǒng)分析與改進措施27結(jié)束語28致29參考文獻30第一章 緒論1.1 交通燈控制系統(tǒng)的研究現(xiàn)狀在今天,紅綠燈安裝在各個道口上,已經(jīng)成為疏導交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩色旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。1914年,電氣啟動的紅綠燈出現(xiàn)在美國。這
10、種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。而中國最早的馬路交通燈卻是誕生于1928年的英租界。從最早的手牽皮帶到20世紀50年代的電氣控制, 從采用計算機控制到現(xiàn)代化的電子定時監(jiān)控,交通信號燈在科學化、自動化上不斷地更新、發(fā)展和完善。但是,隨著社會的不斷進步,傳統(tǒng)的交通燈的缺陷也日益出現(xiàn),其中設(shè)計過于死板,達不到道路的最大通行效率是最明顯的問題,紅綠燈交替變換時間過于程式化。隨著我國經(jīng)濟的高速發(fā)展,人們對各種交通車輛的需求量不斷增大,城市的交通擁護問題日益嚴重,目前,大部分城市的十字路口的交通控制燈,通常的做法是:事先經(jīng)過車
11、輛流量的調(diào)查,利用傳統(tǒng)的方法設(shè)計好紅綠燈的延時,然而,實際上的車流量是不斷變化的,有的路口在不同的時間段車流量的大小甚至有很大的差異,所以說,統(tǒng)計的方法己不能適應(yīng)迅速發(fā)展的交通現(xiàn)狀。1.2基于單片機的智能交通燈控制系統(tǒng)設(shè)計的意義國的交通燈一般設(shè)在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個倒計時的顯示計時器來控制行車。對于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實際行車過程中出現(xiàn)的情況,還存在以下缺點:1兩車道的車輛輪流放行時間一樣且固定, 在十字路口,經(jīng)常一個車道為主干道,車輛較多,放行時間應(yīng)該長些;另一車道為副干道,車輛較少,放行時間應(yīng)該短些。2沒有考慮緊急車通過時
12、,兩車道應(yīng)采取的措施,臂如,消防車執(zhí)行緊急任務(wù)通過時,兩車道的車都應(yīng)停止,讓緊急車通過?;趥鹘y(tǒng)交通燈控制系統(tǒng)設(shè)計過于死板,紅綠燈交替是間過于程式化的缺點,智能交通燈控制系統(tǒng)的設(shè)計就更顯示出了它的研究意義,它能根據(jù)道路交通擁護,交叉路口經(jīng)常出現(xiàn)擁堵的情況。利用單片機控制技術(shù)提出了軟件和硬件設(shè)計方案,能夠?qū)崿F(xiàn)道路的最大通行效率。 1.3本論文主要工作 本文為了實現(xiàn)交通道路的管理,力求交通管理先進性、科學化. 分析應(yīng)用了單片機實現(xiàn)智能交通燈管制的控制系統(tǒng),以與該系統(tǒng)軟、硬件設(shè)計方法,實驗證明該系統(tǒng)實現(xiàn)簡單、經(jīng)濟,能夠有效地疏導交通,提高交通路口的通行能力.首先對智能交通燈的研究意義和智能交通燈的研
13、究現(xiàn)狀進行了分析,指出了現(xiàn)狀交通燈存在的缺點,并提出了改進方法。智能交通燈控制系統(tǒng)通常要實現(xiàn)自動控制和在緊急情況下能夠手動切換信號燈讓特殊車輛優(yōu)先通行。本文還對AT89S51單片機的結(jié)構(gòu)特點和重要引腳功能進行了介紹,同時對智能交通燈控制系統(tǒng)的設(shè)計進行了詳細的分析。最后介紹了PROTEUS嵌入式系統(tǒng)仿真與開發(fā)平臺的使用方法,利用Proteus軟件對交通燈控制系統(tǒng)進行了仿真31 / 34 第二章 智能交通燈控制系統(tǒng)的相關(guān)設(shè)計2.1 智能交通燈控制系統(tǒng)規(guī)劃我們將系統(tǒng)設(shè)計成可分離單獨工作的主控制機與客戶端的形式,但是和傳統(tǒng)的C/S模式不一樣的是,每個終端機可以脫離主控制機而獨立工作。即使主控制機停止工
14、作,或者由于某種原因不能正常工作,各終端機也可以照常穩(wěn)定的工作。各個終端機負責管理路口的多個信號燈。為了方便我們稱主控制機為主系統(tǒng),各個終端機稱為子系統(tǒng)。控制系統(tǒng)的總框圖如圖2-1示遠程主系統(tǒng)計算機 路口子系統(tǒng) 路口子系統(tǒng) 路口子系統(tǒng) A干道交通信號燈B干道交通信號燈B干道交通信號燈A干道交通信號燈2.2 智能交通燈控制系統(tǒng)設(shè)計原理本設(shè)計中車輛檢測電路中用到了模糊控制原理,模糊控制原理簡單的說即是亦此亦彼的模糊邏輯, 模糊邏輯不是二者邏輯非此即彼的推理,它也不是傳統(tǒng)意義的多值邏輯,而是在承認事物隸屬真值中間過渡性的同時,還認為事物在形態(tài)和類屬方面具有亦此亦彼性。模棱兩可性模糊性。正因如此,模糊
15、計算可以處理不精確的模糊輸入信息,可以有效降低感官靈敏度和精確度的要求,而且所需要存儲空間少,能夠抓住信息處理的主要矛盾,保證信息處理的實時性。多功能性和滿意性。 美國加大學L.A.Zadeh博士于1965年發(fā)表了關(guān)于模糊集的論文,首次提出了表達事物模糊性的重要概念隸屬函數(shù)。這篇論文把元素對集的隸屬度從原來的非0即1推廣到可以取區(qū)間0,1的任何值,這樣用隸屬度定量地描述論域中元素符合論域概念的程度,就實現(xiàn)了對普通集合的擴展,從而可以用隸屬函數(shù)表示模糊集。模糊集理論構(gòu)成了模糊計算系統(tǒng)的基礎(chǔ),人們在此基礎(chǔ)上把人工智能中關(guān)于知識表示和推理的方法引入進來,或者說把模糊集理論用到知識工程中去就形成了模糊
16、邏輯和模糊推理;為了克服這些模糊系統(tǒng)知識獲取的不足與學習能力低下的缺點,又把神經(jīng)計算加入到這些模糊系統(tǒng)中,形成了模糊神經(jīng)系統(tǒng)。這些研究都成為人工智能研究的熱點,因為它們表現(xiàn)出了許多領(lǐng)域?qū)<也啪哂械哪芰?。同時,這些模糊系統(tǒng)在計算形式 上一般都以數(shù)值計算為主,也通常被人們歸為軟計算。智能計算的疇。 模糊計算在應(yīng)用上可是一點都不含糊,其應(yīng)用圍非常廣泛,它在家電產(chǎn)品中的應(yīng)用已被人們所接受,例如,模糊洗衣機。模糊冰箱。模糊相機等。另外,在專家系統(tǒng)。智能控制等許多系統(tǒng)中,模糊計算也都大顯身手。究其原因,就在于它的工作方式與人類的認知過程是極為相似的。在這里,筆者結(jié)合自己的研究實踐,以一個建筑結(jié)構(gòu)選型的專家
17、系統(tǒng)為例,說明模糊推理系統(tǒng)是如何模仿領(lǐng)域?qū)<业乃季S進行工作的,其中所用到的步驟。計算過程在其他模糊系統(tǒng)中也具有典型的代表性。2.3智能交通燈控制系統(tǒng)設(shè)計實現(xiàn)的功能 智能的交通信號燈指揮著人和各種車輛的安全運行,實現(xiàn)紅、黃、綠燈的自動指揮是城鄉(xiāng)交通管理現(xiàn)代化的重要課題.在城鄉(xiāng)街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號燈,其中紅燈亮,表示該條道路禁止通行; 黃燈亮,表示該條道路上未過停車線的車輛停止通行,已過停車線的車輛繼續(xù)通行; 綠燈亮,表示該條道路允許通行.交通燈控制電路自動控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各種車輛和行人安全通行,
18、實現(xiàn)十字路口城鄉(xiāng)交通管理自動化。在傳統(tǒng)交通燈控制系統(tǒng)的基礎(chǔ)上,智能交通燈控制系統(tǒng)實現(xiàn)以下功能: 1) 設(shè)計一個十字路口的交通燈控制電路,要求南北方向和東西方向兩個交叉路口的車輛交替運行,兩個方向能根據(jù)車流量大小自動調(diào)節(jié)通行時間,車流量大,通行時間長,車流量小,通行時間短 2) 每次綠燈變紅燈時,要求黃燈先亮5S,才能變換運行車輛. 3) 東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用數(shù) 碼管顯示器進行顯示(采用倒計時的方法)。4) 同步設(shè)置人行橫道紅、綠燈指示。5) 考慮到特殊車輛情況,設(shè)置緊急轉(zhuǎn)換開頭。 第三章 智能交通燈控制系統(tǒng)的硬件設(shè)計3.1 AT89S51單片機簡
19、介 AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機,片含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準8051指令系統(tǒng)與引腳。它集Flash程序存儲器 既可在線編程(ISP)也可用傳統(tǒng)方法進行編程與通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89S51單片機可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。3.1.1 AT89S51單片機的主要性能參數(shù)與單片機產(chǎn)品兼容8K字節(jié)在系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz33Hz、三級加密程序存
20、儲器、32個可編程I/O口線 、三個16位定時器/計數(shù)器 八個中斷源 、全雙工UART串行通道低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符。3.1.2 AT89S51芯片部結(jié)構(gòu)簡介·中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。·數(shù)據(jù)存儲器(部RAM):數(shù)據(jù)存儲器用于存放變化的數(shù)據(jù)。AT89S51中數(shù)據(jù)存儲器的地址空間為256個RAM單元,但其中能作為數(shù)據(jù)存儲器供用戶使用的僅有前面128個,后128
21、個被專用寄存器占用。·程序存儲器(部ROM):程序存儲器用于存放程序和固定不變的常數(shù)等。通常采用只讀存儲器,且其又多種類型,在89系列單片機中全部采用閃存。AT89S51部配置了4KB閃存。·定時/計數(shù)器(ROM): 定時/計數(shù)器用于實現(xiàn)定時和計數(shù)功能。AT89S51共有2個16位定時/計數(shù)器。·并行輸入輸出(I/O)口: 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。每個口都由1個鎖存器和一個驅(qū)動器組成。它們主要用于實現(xiàn)與外部設(shè)備中數(shù)據(jù)的并行輸入與輸出,有些I/O口還有其他功能。·全雙工串行口:A89S51置一個全雙工
22、串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。·時鐘電路:時鐘電路的作用是產(chǎn)生單片機工作所需要的時鐘脈沖序列。·中斷系統(tǒng):中斷系統(tǒng)的作用主要是對外部或部的終端請求進行管理與處理。AT89S51共有5個中斷源,其中又2個外部中斷源和3個部中斷源。圖1 AT89S51系列單片機的部結(jié)構(gòu)示意圖3.1.3 主要引腳功能 圖2 AT89S51引腳圖·VCC:電源電壓·GND:地·P0口:P0口是一組8位漏極開路型雙向I0口,也即地址數(shù)據(jù)總線復用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端
23、口寫“l(fā)”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活部上拉電阻。·P1口:Pl 是一個帶部上拉電阻的8位雙向IO口,Pl的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“l(fā)”,通過部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗期間,Pl接收低8位地址。表1 具有第二功能的P1口引腳端口引腳第二功能:P1.5MOSI(用于ISP編程)P1.6MOSI(用于ISP編程)P1.7MOSI(
24、用于ISP編程)·P2 口:P2 是一個帶有部上拉電阻的8 位雙向IO 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL邏輯門電路。對端口寫“1”,通過部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVXDPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVXRi 指令)時,P2 口線上的容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接
25、收高位地址和其它控制信號。·P3 口:P3 口是一組帶有部上拉電阻的8 位雙向I0 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL邏輯門電路。對P3口寫入“l(fā)”時,它們被部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I0口線外,更重要的用途是它的第二功能,如下表所示:表2 具有第二功能的P1口引腳端口引腳第二功能:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外中斷0)P3.3/ INT1(外中斷1)P3.4T0(定時計數(shù)器0外部輸入)P3.5T1(定時計數(shù)器1外部輸入)P3
26、.6/ WR(外部數(shù)據(jù)存儲器寫選通)P3.7/ RD外部數(shù)據(jù)存儲器讀選通)P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。·RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。WDT 溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRT0 位(地址8EH)可打開或關(guān)閉該功能。DISRT0位缺省為RESET輸出高電平打開狀態(tài)。·ALE:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE 仍以時鐘振蕩頻率的16 輸出固定的正脈沖信號,因此它可對外輸出時
27、鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對F1ash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條M0VX和M0VC指令A(yù)LE才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE無效。·程序儲存允許()輸出是外部程序存儲器的讀選通信號,當AT89S51 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,沒有兩次有效的信號。·VPP:外部訪問允許。欲使C
28、PU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時部會鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行部程序存儲器中的指令。F1ash存儲器編程時,該引腳加上+12V的編程電壓Vpp。·XTAL1:振蕩器反相放大器與部時鐘發(fā)生器的輸入端。3.2 控制器的原理框圖 按任務(wù)和要求,可畫出該控制器的原理框圖, 為確保十字路口的交通安全,往往都采用交通燈自動控制系統(tǒng)來控制交通信號。其中紅燈(R)亮,表示禁止通行;黃燈(Y)亮表示暫停;綠燈(G)亮表示允許通行。1) 控制器的系統(tǒng)框圖如圖3所示。南北方向
29、NS G Y R 東西方向 EW G Y R 系統(tǒng)控制 電路 緊急轉(zhuǎn)換 車輛檢測 制器系統(tǒng)框圖 圖3 控制器的系統(tǒng)框圖 圖4 智能交通燈電路圖 大家都明白,綠燈的放行時間與車輛通過數(shù)量不成正比。比如說20秒每車道可以通過20輛車,40秒每車道卻可以通過45輛車。因為這有一個起步的問題,還有一個黃燈等待問題。也就是說,綠燈放行時間越長,單位時間通過車輛的數(shù)量就越多。我們來計算一下,每車道通行20秒可以通過20輛車,一個紅綠燈循環(huán)是40秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈5秒(一個循環(huán)要兩次轉(zhuǎn)換),即一個紅綠黃燈循環(huán)要50秒,即50秒通行的車輛為40輛。通過一輛車的平均時間是1.25秒。如果每
30、次車輛通行的時間改為40秒,40秒每車道可以通過45輛,一個紅綠燈循環(huán)是80秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈5秒(一個循環(huán)要兩次轉(zhuǎn)換),即一個紅綠黃燈循環(huán)要90秒,即90秒通行的車輛為90輛。通過一輛車的平均時間只需1秒。顯然在車輛擁擠的情況下綠燈的通行時間越長,單位時間通行的車輛越多,可以有效緩解車輛擁堵問題。當然綠燈時間也不可能無限長,要考慮到讓另一路口的等待時間不能過長。人們總是希望在交通燈前等候的時間越短越好。所以筆者設(shè)定了綠燈通行時間的上限為40秒。在非擁擠時段綠燈的通行時間的下限為20秒,當交叉路口雙方車輛較少時通行時間設(shè)為20秒,這樣可以大大縮短車輛在紅燈面前的等待時間。
31、當交叉路口雙方車輛較多時通行時間設(shè)為40秒。3.3 各模塊控制電路交通燈系統(tǒng)由四部分組成:車檢測電路,信號燈電路,時間顯示電路,緊急轉(zhuǎn)換開關(guān)。3.3.1、車檢測電路用來判斷各方向車輛狀況,比如:20秒可以通過的車輛為20輛,當20秒南往北方向車輛通過車輛達不到20輛時,判斷該方向為少車,當20秒北往南方向車輛通過車輛也達不到20輛時,判斷該方向也為少車,下一次通行仍為20秒,當20秒時間南往北或北往南任意一個方向通過的車輛達20輛時證明該狀態(tài)車輛較多,下一次該方向綠燈放行時間改為40秒,當40秒通過的車輛數(shù)達45輛時車輛判斷為擁擠,下一次綠燈放行時間改仍為40秒,當40秒車輛上通過車輛達不到4
32、5輛時,判斷為少車,下次綠燈放行時間改為20秒, 依此類推。綠燈下限時間為20秒,上限值為40秒,初始時間為20秒。這樣檢測,某次可能不準確,但下次肯定能彌補回來,累積計算是很準確的,這就是人們常說的“模糊控制”。因為路上的車不可能突然增多,塞車都有一個累積過程。這樣控制可以把不斷增多的車輛一步一步消化,雖然最后由于每個路口的綠燈放行時間延長而使等候的時間變長,但比塞車等候的時間短得多。本系統(tǒng)的特點是成本低,控制準確。十字路口車輛通行順序如圖5所示: 南往北通行 北向行 東往西通行 西往東能行圖5 十字路口車輛通行順序由于南往北,北往南時間顯示一樣,所以只要一個方向多車,下次時間就要加長東往西
33、,西往東也一樣,顯示時間選擇如表3.表3 顯示時間選擇車輛情況本次該方向通行時間下次該方向通行時間本次該方向通行時間本次該方向通行時間南往北少車,北往南少車20秒20秒40秒20秒南往北少車,北往南多車20秒40秒40秒40秒南往北多車,北往南少車20秒40秒40秒40秒南往北多車,北往南多車20秒40秒40秒40秒東往西少車,西往東少車20秒20秒40秒20秒東往西少車,西往東多車20秒40秒40秒40秒東往西多車,西往東少車20秒40秒40秒40秒東往西多車,西往東多車20秒40秒40秒40秒3.3.2 信號燈電路信號燈用來顯示車輛通行狀況,下面以一個十字路口為例,說明一個交通燈的四種狀態(tài)
34、見圖5。每個路口的信號的的轉(zhuǎn)換順序為:綠>黃>紅 綠燈表示允許通行,黃燈表示禁止通行,但已經(jīng)駛過安全線的車輛可以繼續(xù)通行,是綠燈過渡到紅燈提示燈。紅燈表示禁止通行。綠燈的最短時間為20秒,最長時間為40秒,紅紅最短時間為25秒,最長時間為45秒,黃燈時間為5秒。紅黃綠綠黃紅紅黃綠綠黃紅綠黃紅紅黃綠紅黃綠紅黃綠紅黃綠綠黃紅綠黃紅紅黃綠綠黃紅綠黃紅紅黃綠紅黃綠圖6 交通信號燈運行狀態(tài)3.3.3 時間顯示電路 在交通信號燈的正上方安裝一個可以顯示綠燈通行時間,紅燈等待時間的顯示電路,采用數(shù)碼管顯示電路是一種很好的方法。由于東往西方向和西往向顯示的時間一樣,南往北方向和北往南方向顯示的時間
35、也一樣,所以只需要考慮四位數(shù)碼管顯示電路,其中東西方向兩位,南北方向兩位,兩位數(shù)碼管可以時間的時間為0-99秒完全可以滿足系統(tǒng)的要求,數(shù)碼管連接方法如圖7所示圖7 數(shù)碼管連接方法下面我們用這種方法顯示交通燈的時間,南北方向要顯示20秒,東西方向要顯示25秒,那么我們先給P0口送2的共陰極碼即5BH,讓第一位2要顯示的位碼GND段為低電平,其它三位的控制端都接高電平,那么第一位就顯示2,其它三位不亮。讓其顯示1MS后再給P0口送0的共陰極碼即3FH,讓第二位要顯示0的位碼GND段為低電平,其它三位的控制端都接高電平,那么第二位就顯示0,其它三位不亮。依此類推分別送完第一位2,第二位0,第三位2,
36、第四位5,每一位點亮1MS一個掃描周期為4MS,一秒時間就要掃描250次其程序如下:MOV R6,#250;顯掃描次數(shù)LOOP:MOV P0,#5BH ;送2的共陰極碼CLR P2.0;第一位顯示2ACALL D1MS ;延時1MSSETB P2.0 ;滅第一位MOV P0,#3FH ;送0的共陰極碼CLR P2.1;第二位顯示0ACALL D1MS ;延時1MSSETB P2.1 ;滅第二位MOV P0,#5BH ;送2的共陰極碼CLR P2.2;第三位顯示2ACALL D1MS ;延時1MSSETB P2.2 ;滅第三位MOV P0,#6DH ;送5的共陰極碼CLR P2.3;第四位顯示5
37、ACALL D1MS ;延時1MSSETB P2.3 ;滅第四位DJNZ R7,LOOP;不夠一秒,繼續(xù)掃描NEXTNUMBER;到一秒顯示下一個數(shù)D1MS: ;1MS延時程序STAT1:MOV R4,#2MOV R3,#250DJNZ R3,$DJNZ R4,STAT1RET3.3.4 緊急轉(zhuǎn)換電路一般情況下交通燈按照車流量大小合理分配通行時間,按一定規(guī)律變化,但考慮緊急車通行車況,設(shè)計緊急通行開關(guān),下面簡述單片機的中斷原理。 ) Mcs51的中斷源 8051有5個中斷源,它們是兩個外中斷INT0(P3.2)和INT1(P3.3)、兩個片定時/計
38、數(shù)器溢出中斷TF0和TF1,一個是片串行口中斷TI或RI,這幾個中斷源由TCON和SCON兩個特殊功能寄存器進行控制,其中5個中斷源的程序入口地址如表4所示:表4中斷源程序入口中斷源的服務(wù)程序入口地址中斷源入口地址外中斷00003H定時/計數(shù)器0000BH外中斷10013H定時/計數(shù)器0001BH串行口中斷0023H ) 中斷的處理流程CPU響應(yīng)中斷請求后,就立即轉(zhuǎn)入執(zhí)行中斷服務(wù)程序。不同的中斷源、不同的中斷要求可能有不同的中斷處理方法,但它們的處理流程一般都如下所述:()現(xiàn)場保護和現(xiàn)場恢復: 中斷是在執(zhí)行其它任務(wù)的過程中轉(zhuǎn)去執(zhí)行臨時的任務(wù),為了在執(zhí)行完中斷服務(wù)
39、程序后,回頭執(zhí)行原先的程序時,知道程序原來在何處打斷的,各有關(guān)寄存器的容如何,就必須在轉(zhuǎn)入執(zhí)行中斷服務(wù)程序前,將這些容和狀態(tài)進行備份即保護現(xiàn)場。我們舉個例子,在看書時,玲響需傳去接時,必須在書本上做個記號,以便在接完后回來看書時,知道從哪些容繼續(xù)往下看。計算機的中斷處理方法也如此,中斷開始前需將有關(guān)寄存器的容壓入堆棧進行保存,以便在恢復原來程序時使用。中斷服務(wù)程序完成后,繼續(xù)執(zhí)行原先的程序,就需把保存的現(xiàn)場容從堆棧中彈出,恢復積存器和存儲單元的原有容,這就是現(xiàn)場恢復。 如果在執(zhí)行中斷服務(wù)時不是按上述方法進行現(xiàn)場保護和恢復現(xiàn)場,就會是程序運行紊亂,程序跑飛,自然使單片機不能正常工作。(
40、)中斷打開和中斷關(guān)閉:在中斷處理進行過程中,可能又有新的中斷請求到來,這里規(guī)定,現(xiàn)場保護和現(xiàn)場恢復的操作是不允許打擾的,否則保護和恢復的過程就可能使數(shù)據(jù)出錯,為此在進行現(xiàn)場保護和現(xiàn)場恢復的過程中,必須關(guān)閉總中斷,屏蔽其它所有的中斷,待這個操作完成后再打開總中斷,以便實現(xiàn)中斷嵌套。 ()中斷服務(wù)程序: 既然有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體容,一般以子程序的形式出現(xiàn),所有的中斷都要轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,進行中斷服務(wù)。 ()中斷返回: 執(zhí)行完中斷服務(wù)程序后,必然要返回,中斷返回就是被程序運行從中斷服務(wù)程序轉(zhuǎn)回到原
41、工作程序上來。在MCS-51單片機中,中斷返回是通過一條專門的指令實現(xiàn)的,自然這條指令是中斷服務(wù)程序的最后一條指令。) 交通燈中的中斷處理流程()現(xiàn)場保護和現(xiàn)場恢復:有特殊車輛要通過時就要進行中斷,在中斷之前,先將交通燈中斷前情況保護好,當中斷執(zhí)行后再恢復現(xiàn)場,包括信號燈和時間顯示電路。()中斷打開和中斷關(guān)閉:為了使特殊車輛通行按一下打開中斷開關(guān)就可以打開中斷,關(guān)閉中斷開關(guān)就關(guān)閉中斷。()中斷服務(wù)程序:有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體容:即如果南北方向有特殊車輛要求通過,南北方向轉(zhuǎn)換為綠燈,東西方向為紅燈;如果東西方向有特殊車輛要求通過,東西方向轉(zhuǎn)換
42、為綠燈,南北方向為紅燈。() 中斷返回:執(zhí)行完中斷服務(wù)程序后,必然要返回,即回交通燈信號回到中斷前狀態(tài),顯示時間也和中斷前一樣。3.2 智能交通燈系統(tǒng)的組成 第四章 智能交通燈控制系統(tǒng)的軟件設(shè)計4.1交通燈的軟件設(shè)計流程圖 智能交通燈的軟件設(shè)計流程圖如圖8所示:圖8 交通燈的軟件設(shè)計流程圖4.1 控制器的軟件設(shè)計 4.1.1 每秒鐘的設(shè)定 延時方法可以有兩種一中是利用MCS-51部定時器產(chǎn)生溢出中斷來確定1秒的時間,另一種是采用軟件延時的方法。計數(shù)器硬件延時.a計數(shù)器初值計算 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)
43、生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通式: TC=M-C式中,M為計數(shù)器模值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為213 ;在方式1時M的值為216;在方式2和3為28.b 計算公式 T=(MTC)T計數(shù)或TCM-CT計數(shù)T計數(shù)是單片機時鐘周期的12倍;TC為定時初值如單片機的主脈沖頻率為12MHZ,經(jīng)過12分頻方式0TMAX213微秒8.912毫秒方式1TMAX216微秒65.536毫秒顯然秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題4.1.2 1秒的方法我們采用在主程序中設(shè)定
44、一個初值為20的軟件計數(shù)器和使T0定時50毫秒這樣每當T0到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器減,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時間顯示程序。相應(yīng)程序代碼()主程序定時器需定時50毫秒,故T0工作于方式1。初值:TCM-T T計數(shù)50ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ; 令T0為定時器方式 MOV TH0, #3CH ;裝入定時器初值 MOV TL0, #BOH; MOV IE,#82H ;開0中斷 SEBT TRO;啟動0計數(shù)器 MOV
45、 RO,#14H;軟件計數(shù)器賦初值LOOP:SJMP $;等待中斷()中斷服務(wù)子程序 ORG 00BH AJMPBRT0 ORG 00BHBRT0:DJNZ R0,NEXTAJMP TIME ; 跳轉(zhuǎn)到時間與信號燈顯示子程序 DJNZ:MOV R0,14H;恢復R0值 MOV TH0, #3CH ;重裝入定時器初值 MOV TL0, #BOH; MOV IE, #82H RET1 END4.1.3 軟件延時 MCS-51的工作頻率為2-12MHZ,我們選用的8031單片機的工作頻率為6MHZ。機器周期與主頻有關(guān),機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/6M)=2us。我們可
46、以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。 具體的延時程序分析: DELAY:MOV R4,#08H 延時1秒子程序DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#0 ;延時125ms 子程序 MOV R5,#0DE1: DJNZ R5,$ DJNZ R6,DE1 RETMOV RN,#DATA ;字節(jié)數(shù)數(shù)為2 ,機器周期數(shù)為1所以此指令的執(zhí)行時間為2ms,而DELAY1 為一個雙重循壞循環(huán)次數(shù)為256*256=65536 所以延時時間=65536*2=131072us 約為125us 。DELAY R4設(shè)置的初
47、值為8 主延時程序循環(huán)8次,所以125us*8= 1秒由于單片機的運行速度很快其他的指令執(zhí)行時間可以忽略不計。 第四章 智能交通燈方案的仿真PROTEUS嵌入式系統(tǒng)仿真軟件在設(shè)計時已經(jīng)注意到和單片機各種編譯程序的整合了,如它可以和Keil ,Wave6000等編譯模擬軟件結(jié)合使用。由于Wave6000使用方便,具備強大的軟件仿真和硬件仿真功能。把Proteus和Wave6000結(jié)合起來調(diào)試硬件就方便多了,這里筆者就是采用“Proteus+Wave6000”的仿真方法,具體步驟如下:(1)首先運行PROTEUS VSM 的ISIS,選擇SourceDefine Code Generation T
48、ool 菜單項,將出現(xiàn)如圖9所示定義代碼生成工具對話框。 圖9 定義代碼生成工具對話框在Tool下拉列表框中選擇代碼生成工具,在這一示例中,電路中的微處理器為8051系列單片機,因此選擇ASEM51, 單擊Browse按鈕,選取Wave6000的安裝路徑。單擊OK按鈕,結(jié)束代碼生成工具的定義。選擇SourceAdd/Remove Source File 菜單項,將出現(xiàn)Add/Remove Source Code Files對話框,如圖十二所示:圖10 添加/刪除源文件對話框在Code Generation Tool 選項區(qū),單擊下三角按鈕,選擇ASEM51工具。(2) 單擊New按鈕,將出現(xiàn)如
49、圖十三所示對話框。圖11 創(chuàng)建源代碼對話框選擇用Wave6000創(chuàng)建好的AA.ASM文件,即完成了文件的創(chuàng)建。就這樣當用Wave6000對AA.ASM 文件進行更改時每一次運行PROTEUS VSM 的ISIS對電路進行仿真時Wave6000都會對AA.ASM進行編譯,AA.HEX文件也會隨時更新。電路圖繪制完成后, 再添加AT89C51 的應(yīng)用程序。將鼠標移至AT89C51 上, 單擊鼠標右鍵使之處于選中狀態(tài), 在該器件上單擊左鍵, 打開如圖11所示的對話框。在 Program File 欄添加編譯好的十六進制格式的程序文件AA.hex(可以接受3 種格式的文件) ,給AT89C51輸入晶振
50、頻率,此處默認為12MHZ, 單擊OK 按鈕完成程序添加工作, 下面就可以進行系統(tǒng)仿真了。單擊主界面下方的按鈕開始系統(tǒng)仿真。PROTEUS VSM 所進行的是一種交互式仿真, 在仿真進行中可以對各控制按鈕、開關(guān)等進行操作, 系統(tǒng)對輸入的響應(yīng)會被真實的反映出來。仿真結(jié)果如圖十五。在這個例子里, 開始仿真后,開關(guān),按鈕通過鼠標單擊來改變狀態(tài),所改變狀態(tài)的狀態(tài)會在LED和數(shù)碼管顯示出來。由于篇幅所限, 以上僅舉一例簡單介紹了PROTEUS VSM 的使用, 但其強大的系統(tǒng)仿真功能已經(jīng)得到體現(xiàn), 用在單片機系統(tǒng)設(shè)計的教學方面, 能起到良好的教學效果。圖12 AT89C51添加程序文件圖13 交通燈仿真
51、界面 第六章 系統(tǒng)分析與改進措施智能控制交通系統(tǒng)實現(xiàn)是目前研究的方向,也已經(jīng)取得不少成果,但傳統(tǒng)的定時交通燈控制仍然在一些地方廣泛應(yīng)用,那是車流量不大,而且交通道路相對好的地方,傳統(tǒng)的定時交通燈控制還是起到了一定的作用。但隨著社會的高速發(fā)展,城市化日益完善,車的數(shù)量必然增多,給交通的壓力也增大,這時候,智能交通燈控制將會起到疏導交通,改善城市交通環(huán)境,推動城市化日益完善!基于Proteus智能交通燈控制系統(tǒng)軟件設(shè)計上有兩個主要特點,一方面是本設(shè)計采用模糊控制方法實現(xiàn)交通的控制,由于模糊控制不需要建立被控對象精確的數(shù)學模型,特別適用于隨機的復雜的城市交通控制,因此以多變少為例子,在通行時間方面控制設(shè)置為20s25s40s45s20s 為一個循環(huán),根據(jù)車流量,合理分配了通行時間。另一方面,設(shè)計應(yīng)急轉(zhuǎn)換開關(guān),考慮緊急車通過時,譬如,急救車或消防車執(zhí)行緊急任務(wù)通過時,兩車道的車都應(yīng)停止,讓緊
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度快遞配送服務(wù)承包合同
- 二零二五年度農(nóng)業(yè)科技項目合作放棄承諾函合同范本
- 二零二五年度安防產(chǎn)品簡易加工制造合同
- 二零二五年度養(yǎng)老產(chǎn)業(yè)擔保與借款人服務(wù)協(xié)議
- 二零二五年度私人土地租賃與體育設(shè)施建設(shè)合同
- 基于人工智能技術(shù)的智慧城市規(guī)劃合同書
- 服裝設(shè)計與制作合同
- 科技部技術(shù)服務(wù)合同
- 互聯(lián)網(wǎng)行業(yè)用戶隱私保護及免責協(xié)議
- 物流園區(qū)投資建設(shè)協(xié)議
- 內(nèi)分泌科護理常規(guī)的課件
- 氣管切開患者的管理和康復治療推薦意見(新版)解讀
- 醫(yī)院污水處理站維保服務(wù)項目
- 供應(yīng)商績效考核表 (季度)
- Python程序設(shè)計基礎(chǔ)及實踐(慕課版)PPT完整全套教學課件
- 《爭做新時代好少年》主題班會課件(美德好少年)
- 雅思大作文寫作課件
- 學生使用手機(2018內(nèi)蒙古赤峰中考語文非連續(xù)性文本閱讀試題及答案)
- 三角函數(shù)圖像與性質(zhì)課件
- 初中英語-Save the Sharks!教學課件設(shè)計
- 部編道德與法治六年級下冊第8課《科技發(fā)展 造福人類》優(yōu)秀課件
評論
0/150
提交評論