




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、東莞職業(yè)技術(shù)學(xué)院畢 業(yè) 論 文基于單片機(jī)的智能交通燈控制系統(tǒng)的設(shè)計(jì) 學(xué)生姓名:楊偉寧學(xué) 號(hào):3年級(jí)專業(yè):2009級(jí)電子信息工程技術(shù)指導(dǎo)老師:張依群系 部:電子系廣東東莞提交日期:2012年3月 目 錄第一章 引言 (1) 1.1 傳統(tǒng)交通燈控制系統(tǒng)的發(fā)展現(xiàn)狀簡(jiǎn)介 (2) 1.2 智能交通燈控制系統(tǒng)設(shè)計(jì)的意義(3) 1.3智能交通燈控制系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)的功能 1.4智能交通燈控制系統(tǒng)設(shè)計(jì)原理 1.5本論文主要工作 第二章 智能交通燈控制系統(tǒng)的相關(guān)設(shè)計(jì)(7) 2.1 智能交通燈的方案設(shè)計(jì) (13) 2.2 智能交通燈的技術(shù)指標(biāo) (13)第三章 智能交通燈控制系統(tǒng)的硬件設(shè)計(jì) 3.1 AT89S51單片機(jī)
2、的簡(jiǎn)介 (15) 3.1.1 主要性能參數(shù)簡(jiǎn)介 (15) 3.1.2 主要內(nèi)部結(jié)構(gòu)簡(jiǎn)介 3.1.3 主要引腳功能簡(jiǎn)介 (15) 3.2 系統(tǒng)硬件總結(jié)構(gòu)圖 3.3 各模塊電路圖 3.3.1信號(hào)燈電路(22) 3.3.2時(shí)間顯示電路(23) 3.3.3緊急轉(zhuǎn)換電路(25)第四章 智能交通燈控制系統(tǒng)的軟件設(shè)計(jì) 4.1 智能交通燈的軟件設(shè)計(jì)流程圖(27) 4.2 控制器的軟件設(shè)計(jì)第五章 智能交通燈的仿真 (30)第六章 系統(tǒng)分析及改進(jìn)措施 第七章 結(jié)束語(32)參考文獻(xiàn)(35) 致謝(38) 第一章 引 言1.1:傳統(tǒng)交通燈的簡(jiǎn)介在今天,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段
3、。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。1914年,電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó)。這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。而中國(guó)最早的馬路交通燈卻是誕生于1928年的上海英租界。
4、從最早的手牽皮帶到20世紀(jì)50年代的電氣控制, 從采用計(jì)算機(jī)控制到現(xiàn)代化的電子定時(shí)監(jiān)控,交通信號(hào)燈在科學(xué)化、自動(dòng)化上不斷地更新、發(fā)展和完善。但是,隨著社會(huì)的不斷進(jìn)步,傳統(tǒng)的交通燈的缺陷也日益出現(xiàn),其中設(shè)計(jì)過于死板,達(dá)不到道路的最大通行效率是最明顯的問題,紅綠燈交替變換時(shí)間過于程式化。隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,人們對(duì)各種交通車輛的需求量不斷增大,城市的交通擁護(hù)問題日益嚴(yán)重,目前,大部分城市的十字路口的交通控制燈,通常的做法是:事先經(jīng)過車輛流量的調(diào)查,利用傳統(tǒng)的方法設(shè)計(jì)好紅綠燈的延時(shí),然而,實(shí)際上的車流量是不斷變化的,有的路口在不同的時(shí)間段車流量的大小甚至有很大的差異,所以說,統(tǒng)計(jì)的方法己不能適應(yīng)迅
5、速發(fā)展的交通現(xiàn)狀。1.2基于間片機(jī)的智能交通燈控制系統(tǒng)設(shè)計(jì)的意義 目前,國(guó)內(nèi)的交通燈一般設(shè)在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來控制行車。對(duì)于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實(shí)際行車過程中出現(xiàn)的情況,還存在以下缺點(diǎn):1兩車道的車輛輪流放行時(shí)間相同且固定, 在十字路口,經(jīng)常一個(gè)車道為主干道,車輛較多,放行時(shí)間應(yīng)該長(zhǎng)些;另一車道為副干道,車輛較少,放行時(shí)間應(yīng)該短些。2沒有考慮緊急車通過時(shí),兩車道應(yīng)采取的措施,臂如,消防車執(zhí)行緊急任務(wù)通過時(shí),兩車道的車都應(yīng)停止,讓緊急車通過。 針對(duì)道路交通擁擠,交叉路口經(jīng)常出現(xiàn)擁堵的情況。利用單片機(jī)控制技術(shù)
6、提出了軟件和硬件設(shè)計(jì)方案及兩點(diǎn)改進(jìn)措施:1、根據(jù)各道路路口車流量的大小自動(dòng)調(diào)節(jié)通行時(shí)間。2、考慮特殊車輛通行情況,設(shè)計(jì)緊急切換開關(guān)。1.3 智能交通燈控制系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)的功能 智能的交通信號(hào)燈指揮著人和各種車輛的安全運(yùn)行,實(shí)現(xiàn)紅、黃、綠燈的自動(dòng)指揮是城鄉(xiāng)交通管理現(xiàn)代化的重要課題.在城鄉(xiāng)街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號(hào)燈,其中紅燈亮,表示該條道路禁止通行; 黃燈亮,表示該條道路上未過停車線的車輛停止通行,已過停車線的車輛繼續(xù)通行; 綠燈亮,表示該條道路允許通行.交通燈控制電路自動(dòng)控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各種車輛和行人
7、安全通行,實(shí)現(xiàn)十字路口城鄉(xiāng)交通管理自動(dòng)化。1.4 本論文主要工作 本文為了實(shí)現(xiàn)交通道路的管理,力求交通管理先進(jìn)性、科學(xué)化. 分析應(yīng)用了單片機(jī)實(shí)現(xiàn)智能交通燈管制的控制系統(tǒng),以及該系統(tǒng)軟、硬件設(shè)計(jì)方法,實(shí)驗(yàn)證明該系統(tǒng)實(shí)現(xiàn)簡(jiǎn)單、經(jīng)濟(jì),能夠有效地疏導(dǎo)交通,提高交通路口的通行能力. 第二章 智能交通燈控制系統(tǒng)的相關(guān)設(shè)計(jì)2.1 智能交通燈的選擇方案 目前設(shè)計(jì)交通燈的方案有很多,有應(yīng)用CPLD設(shè)計(jì)實(shí)現(xiàn)交通信號(hào)燈控制器方法;有應(yīng)用PLC實(shí)現(xiàn)對(duì)交通燈控制系統(tǒng)的設(shè)計(jì);有應(yīng)用單片機(jī)實(shí)現(xiàn)對(duì)交通信號(hào)燈設(shè)計(jì)的方法。目前,國(guó)內(nèi)的交通燈一般設(shè)在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來控制
8、行車。對(duì)于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實(shí)際行車過程中出現(xiàn)的情況,還存在以下缺點(diǎn):1兩車道的車輛輪流放行時(shí)間相同且固定, 在十字路口,經(jīng)常一個(gè)車道為主干道,車輛較多,放行時(shí)間應(yīng)該長(zhǎng)些;另一車道為副干道,車輛較少,放行時(shí)間應(yīng)該短些。2沒有考慮緊急車通過時(shí),兩車道應(yīng)采取的措施,臂如,消防車執(zhí)行緊急任務(wù)通過時(shí),兩車道的車都應(yīng)停止,讓緊急車通過。2.3. 智能交通燈的技術(shù)指標(biāo) 1) 設(shè)計(jì)一個(gè)十字路口的交通燈控制電路,要求南北方向和東西方向兩個(gè)交叉路口的車輛交替運(yùn)行,兩個(gè)方向能根據(jù)車流量大小自動(dòng)調(diào)節(jié)通行時(shí)間,車流量大,通行時(shí)間長(zhǎng),車流量小,通行時(shí)間短 2) 每次綠燈變紅燈時(shí),要求黃燈
9、先亮5S,才能變換運(yùn)行車輛.3) 東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時(shí)間都用數(shù) 碼管顯示器進(jìn)行顯示(采用倒計(jì)時(shí)的方法)。4) 同步設(shè)置人行橫道紅、綠燈指示。5) 考慮到特殊車輛情況,設(shè)置緊急轉(zhuǎn)換開頭。 第三章 智能交通燈控制系統(tǒng)的硬件設(shè)計(jì)3.1 AT89S51單片機(jī)簡(jiǎn)介 AT89S51是美國(guó)ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器 既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位
10、微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)位AT89S51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。 3.1.1 AT89S51單片機(jī)的主要性能參數(shù) 與單片機(jī)產(chǎn)品兼容8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次擦寫周期、全靜態(tài)操作:0Hz33Hz、三級(jí)加密程序存儲(chǔ)器、32個(gè)可編程I/O口線 、三個(gè)16位定時(shí)器/計(jì)數(shù)器 八個(gè)中斷源 、全雙工UART串行通道低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符。3.1.2 AT89S51芯片內(nèi)部結(jié)構(gòu)簡(jiǎn)介 中央處理器:中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處
11、理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲(chǔ)器(內(nèi)部RAM):數(shù)據(jù)存儲(chǔ)器用于存放變化的數(shù)據(jù)。AT89S51中數(shù)據(jù)存儲(chǔ)器的地址空間為256個(gè)RAM單元,但其中能作為數(shù)據(jù)存儲(chǔ)器供用戶使用的僅有前面128個(gè),后128個(gè)被專用寄存器占用。程序存儲(chǔ)器(內(nèi)部ROM):程序存儲(chǔ)器用于存放程序和固定不變的常數(shù)等。通常采用只讀存儲(chǔ)器,且其又多種類型,在89系列單片機(jī)中全部采用閃存。AT89S51內(nèi)部配置了4KB閃存。定時(shí)/計(jì)數(shù)器(ROM): 定時(shí)/計(jì)數(shù)器用于實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。AT89S51共有2個(gè)16位定時(shí)/計(jì)數(shù)器。 并行輸入輸出(I/O
12、)口: 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。每個(gè)口都由1個(gè)鎖存器和一個(gè)驅(qū)動(dòng)器組成。它們主要用于實(shí)現(xiàn)與外部設(shè)備中數(shù)據(jù)的并行輸入與輸出,有些I/O口還有其他功能。 全雙工串行口:A89S51內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。 時(shí)鐘電路:時(shí)鐘電路的作用是產(chǎn)生單片機(jī)工作所需要的時(shí)鐘脈沖序列。 中斷系統(tǒng):中斷系統(tǒng)的作用主要是對(duì)外部或內(nèi)部的終端請(qǐng)求進(jìn)行管理與處理。AT89S51共有5個(gè)中斷源,其中又2個(gè)外部中斷源和3個(gè)內(nèi)部中斷源。 圖一 AT89S51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖 3
13、.1.3 主要引腳功能AT89S51 引腳圖如圖二 所示: 圖二 引腳圖VCC:電源電壓GND:地P0口:P0口是一組8位漏極開路型雙向I0口,也即地址數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“l(fā)”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。P1口:Pl 是一個(gè)帶內(nèi)部上拉電阻的8位雙向IO口,Pl的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)
14、拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。Flash編程和程序校驗(yàn)期間,Pl接收低8位地址。表1 具有第二功能的P1口引腳端口引腳第二功能:P1.5MOSI(用于ISP編程)P1.6MOSI(用于ISP編程)P1.7MOSI(用于ISP編程)P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向IO 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVXDPTR指令)時(shí),P
15、2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVXRi 指令)時(shí),P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和其它控制信號(hào)。P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I0 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門電路。對(duì)P3口寫入“l(fā)”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I0口線外,更重要的用途是它的第二功能,如下表所示:表2 具有第二功能的P1口引腳端口引
16、腳第二功能:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外中斷0)P3.3/ INT1(外中斷1)P3.4T0(定時(shí)計(jì)數(shù)器0外部輸入)P3.5T1(定時(shí)計(jì)數(shù)器1外部輸入)P3.6/ WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7/ RD外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT 溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRT0 位(地址8EH)可打開或關(guān)閉該功能。DISRT0位缺省為RESET輸出高電平打開狀態(tài)。ALE:當(dāng)訪
17、問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE 仍以時(shí)鐘振蕩頻率的16 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)F1ash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條M0VX和M0VC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無效。程序儲(chǔ)存允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)A
18、T89S51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,即輸出兩個(gè)脈沖。當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,沒有兩次有效的信號(hào)。VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。F1ash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 3.2 控制器的原理框圖 按任務(wù)和要求,可畫出該控制器的原理框圖, 為確保十字路口的交通安全,往往都采用交通
19、燈自動(dòng)控制系統(tǒng)來控制交通信號(hào)。其中紅燈(R)亮,表示禁止通行;黃燈(Y)亮表示暫停;綠燈(G)亮表示允許通行。1) 控制器的系統(tǒng)框圖如圖三所示。 圖三 交通燈控制器系統(tǒng)框圖4.1 電路圖智能交通燈電路圖如圖3所示。圖四 智能交通燈電路圖 大家都明白,綠燈的放行時(shí)間與車輛通過數(shù)量不成正比。比如說20秒內(nèi)每車道可以通過20輛車,40秒內(nèi)每車道卻可以通過45輛車。因?yàn)檫@有一個(gè)起步的問題,還有一個(gè)黃燈等待問題。也就是說,綠燈放行時(shí)間越長(zhǎng),單位時(shí)間通過車輛的數(shù)量就越多。我們來計(jì)算一下,每車道通行20秒內(nèi)可以通過20輛車,一個(gè)紅綠燈循環(huán)是40秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈5秒(一個(gè)循環(huán)要兩次轉(zhuǎn)換
20、),即一個(gè)紅綠黃燈循環(huán)要50秒,即50秒內(nèi)通行的車輛為40輛。通過一輛車的平均時(shí)間是1.25秒。如果每次車輛通行的時(shí)間改為40秒,40秒內(nèi)每車道可以通過45輛,一個(gè)紅綠燈循環(huán)是80秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈5秒(一個(gè)循環(huán)要兩次轉(zhuǎn)換),即一個(gè)紅綠黃燈循環(huán)要90秒,即90秒內(nèi)通行的車輛為90輛。通過一輛車的平均時(shí)間只需1秒。顯然在車輛擁擠的情況下綠燈的通行時(shí)間越長(zhǎng),單位時(shí)間內(nèi)通行的車輛越多,可以有效緩解車輛擁堵問題。當(dāng)然綠燈時(shí)間也不可能無限長(zhǎng),要考慮到讓另一路口的等待時(shí)間不能過長(zhǎng)。人們總是希望在交通燈前等候的時(shí)間越短越好。所以筆者設(shè)定了綠燈通行時(shí)間的上限為40秒。在非擁擠時(shí)段綠燈的通
21、行時(shí)間的下限為20秒,當(dāng)交叉路口雙方車輛較少時(shí)通行時(shí)間設(shè)為20秒,這樣可以大大縮短車輛在紅燈面前的等待時(shí)間。當(dāng)交叉路口雙方車輛較多時(shí)通行時(shí)間設(shè)為40秒。 3.3 各模塊控制電路交通燈系統(tǒng)由四部分組成:信號(hào)燈電路,時(shí)間顯示電路,緊急轉(zhuǎn)換開關(guān)。3.3.1 信號(hào)燈電路信號(hào)燈用來顯示車輛通行狀況,下面以一個(gè)十字路口為例,說明一個(gè)交通燈的四種狀態(tài)見圖5。每個(gè)路口的信號(hào)的的轉(zhuǎn)換順序?yàn)椋壕G黃紅 綠燈表示允許通行,黃燈表示禁止通行,但已經(jīng)駛過安全線的車輛可以繼續(xù)通行,是綠燈過渡到紅燈提示燈。紅燈表示禁止通行。綠燈的最短時(shí)間為20秒,最長(zhǎng)時(shí)間為40秒,紅紅最短時(shí)間為25秒,最長(zhǎng)時(shí)間為45秒,黃燈時(shí)間為5秒。紅黃
22、綠綠黃紅紅黃綠綠黃紅綠黃紅紅黃綠紅黃綠紅黃綠紅黃綠綠黃紅綠黃紅紅黃綠綠黃紅綠黃紅紅黃綠紅黃綠圖六 交通信號(hào)燈運(yùn)行狀態(tài) 3.3.2 時(shí)間顯示電路在交通信號(hào)燈的正上方安裝一個(gè)可以顯示綠燈通行時(shí)間,紅燈等待時(shí)間的顯示電路,采用數(shù)碼管顯示電路是一種很好的方法。由于東往西方向和西往東方向顯示的時(shí)間相同,南往北方向和北往南方向顯示的時(shí)間也相同,所以只需要考慮四位數(shù)碼管顯示電路,其中東西方向兩位,南北方向兩位,兩位數(shù)碼管可以時(shí)間的時(shí)間為0-99秒完全可以滿足系統(tǒng)的要求,數(shù)碼管連接方法如圖七所示圖七 數(shù)碼管連接方法下面我們用這種方法顯示交通燈的時(shí)間,南北方向要顯示20秒,東西方向要顯示25秒,那么我們先給P0
23、口送2的共陰極碼即5BH,讓第一位2要顯示的位碼GND段為低電平,其它三位的控制端都接高電平,那么第一位就顯示2,其它三位不亮。讓其顯示1MS后再給P0口送0的共陰極碼即3FH,讓第二位要顯示0的位碼GND段為低電平,其它三位的控制端都接高電平,那么第二位就顯示0,其它三位不亮。依此類推分別送完第一位2,第二位0,第三位2,第四位5,每一位點(diǎn)亮1MS一個(gè)掃描周期為4MS,一秒時(shí)間就要掃描250次其程序如下:MOV R6,#250;顯掃描次數(shù)LOOP:MOV P0,#5BH ;送2的共陰極碼CLR P2.0;第一位顯示2ACALL D1MS ;延時(shí)1MSSETB P2.0 ;滅第一位MOV P0
24、,#3FH ;送0的共陰極碼CLR P2.1;第二位顯示0ACALL D1MS ;延時(shí)1MSSETB P2.1 ;滅第二位MOV P0,#5BH ;送2的共陰極碼CLR P2.2;第三位顯示2ACALL D1MS ;延時(shí)1MSSETB P2.2 ;滅第三位MOV P0,#6DH ;送5的共陰極碼CLR P2.3;第四位顯示5ACALL D1MS ;延時(shí)1MSSETB P2.3 ;滅第四位DJNZ R7,LOOP;不夠一秒,繼續(xù)掃描NEXTNUMBER;到一秒顯示下一個(gè)數(shù)D1MS: ;1MS延時(shí)程序STAT1:MOV R4,#2MOV R3,#250DJNZ R3,$DJNZ R4,STAT1R
25、ET3.3.3 緊急轉(zhuǎn)換電路一般情況下交通燈按照車流量大小合理分配通行時(shí)間,按一定規(guī)律變化,但考慮緊急車通行車況,設(shè)計(jì)緊急通行開關(guān),下面簡(jiǎn)述單片機(jī)的中斷原理。 ) Mcs51的中斷源 8051有5個(gè)中斷源,它們是兩個(gè)外中斷INT0(P3.2)和INT1(P3.3)、兩個(gè)片內(nèi)定時(shí)/計(jì)數(shù)器溢出中斷TF0和TF1,一個(gè)是片內(nèi)串行口中斷TI或RI,這幾個(gè)中斷源由TCON和SCON兩個(gè)特殊功能寄存器進(jìn)行控制,其中5個(gè)中斷源的程序入口地址如表4所示:表4中斷源程序入口中斷源的服務(wù)程序入口地址中斷源入口地址外中斷00003H定時(shí)/計(jì)數(shù)器0000BH外中斷10013H定時(shí)/計(jì)數(shù)器0001BH串行口中斷0023
26、H ) 中斷的處理流程CPU響應(yīng)中斷請(qǐng)求后,就立即轉(zhuǎn)入執(zhí)行中斷服務(wù)程序。不同的中斷源、不同的中斷要求可能有不同的中斷處理方法,但它們的處理流程一般都如下所述:()現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù):中斷是在執(zhí)行其它任務(wù)的過程中轉(zhuǎn)去執(zhí)行臨時(shí)的任務(wù),為了在執(zhí)行完中斷服務(wù)程序后,回頭執(zhí)行原先的程序時(shí),知道程序原來在何處打斷的,各有關(guān)寄存器的內(nèi)容如何,就必須在轉(zhuǎn)入執(zhí)行中斷服務(wù)程序前,將這些內(nèi)容和狀態(tài)進(jìn)行備份即保護(hù)現(xiàn)場(chǎng)。我們舉個(gè)例子,在看書時(shí),電話玲響需傳去接電話時(shí),必須在書本上做個(gè)記號(hào),以便在接完電話后回來看書時(shí),知道從哪些內(nèi)容繼續(xù)往下看。計(jì)算機(jī)的中斷處理方法也如此,中斷開始前需將有關(guān)寄存器的內(nèi)容壓入堆棧進(jìn)行保存,以
27、便在恢復(fù)原來程序時(shí)使用。中斷服務(wù)程序完成后,繼續(xù)執(zhí)行原先的程序,就需把保存的現(xiàn)場(chǎng)內(nèi)容從堆棧中彈出,恢復(fù)積存器和存儲(chǔ)單元的原有內(nèi)容,這就是現(xiàn)場(chǎng)恢復(fù)。如果在執(zhí)行中斷服務(wù)時(shí)不是按上述方法進(jìn)行現(xiàn)場(chǎng)保護(hù)和恢復(fù)現(xiàn)場(chǎng),就會(huì)是程序運(yùn)行紊亂,程序跑飛,自然使單片機(jī)不能正常工作。()中斷打開和中斷關(guān)閉:在中斷處理進(jìn)行過程中,可能又有新的中斷請(qǐng)求到來,這里規(guī)定,現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)的操作是不允許打擾的,否則保護(hù)和恢復(fù)的過程就可能使數(shù)據(jù)出錯(cuò),為此在進(jìn)行現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)的過程中,必須關(guān)閉總中斷,屏蔽其它所有的中斷,待這個(gè)操作完成后再打開總中斷,以便實(shí)現(xiàn)中斷嵌套。 ()中斷服務(wù)程序:既然有中斷產(chǎn)生,就必然有其具體的需執(zhí)行
28、的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體內(nèi)容,一般以子程序的形式出現(xiàn),所有的中斷都要轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,進(jìn)行中斷服務(wù)。 ()中斷返回:執(zhí)行完中斷服務(wù)程序后,必然要返回,中斷返回就是被程序運(yùn)行從中斷服務(wù)程序轉(zhuǎn)回到原工作程序上來。在MCS-51單片機(jī)中,中斷返回是通過一條專門的指令實(shí)現(xiàn)的,自然這條指令是中斷服務(wù)程序的最后一條指令。) 交通燈中的中斷處理流程()現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù):有特殊車輛要通過時(shí)就要進(jìn)行中斷,在中斷之前,先將交通燈中斷前情況保護(hù)好,當(dāng)中斷執(zhí)行后再恢復(fù)現(xiàn)場(chǎng),包括信號(hào)燈和時(shí)間顯示電路。()中斷打開和中斷關(guān)閉:為了使特殊車輛通行按一下打開中斷開關(guān)就可以打開中斷,關(guān)閉中斷開關(guān)就關(guān)閉中
29、斷。()中斷服務(wù)程序:有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體內(nèi)容:即如果南北方向有特殊車輛要求通過,南北方向轉(zhuǎn)換為綠燈,東西方向?yàn)榧t燈;如果東西方向有特殊車輛要求通過,東西方向轉(zhuǎn)換為綠燈,南北方向?yàn)榧t燈。()中斷返回:執(zhí)行完中斷服務(wù)程序后,必然要返回,即回交通燈信號(hào)回到中斷前狀態(tài),顯示時(shí)間也和中斷前一樣。3.2 智能交通燈系統(tǒng)的組成 第四章 智能交通燈控制系統(tǒng)的軟件設(shè)計(jì)4.1智能交通燈的軟件設(shè)計(jì)流程圖如圖7所示:圖八 交通燈的軟件設(shè)計(jì)流程圖 控制器的軟件設(shè)計(jì) 5.1.1 每秒鐘的設(shè)定 延時(shí)方法可以有兩種一中是利用MCS-51內(nèi)部定時(shí)器產(chǎn)生溢出中斷來確定1秒
30、的時(shí)間,另一種是采用軟件延時(shí)的方法。計(jì)數(shù)器硬件延時(shí).a計(jì)數(shù)器初值計(jì)算 定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值設(shè)定為C和計(jì)數(shù)初值設(shè)定為TC 可得到如下計(jì)算通式: TC=M-C式中,M為計(jì)數(shù)器模值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為213 ;在方式1時(shí)M的值為216;在方式2和3為28.b 計(jì)算公式 T=(MTC)T計(jì)數(shù) 或TCM-CT計(jì)數(shù)T計(jì)數(shù)是單片機(jī)時(shí)鐘周期的12倍;TC為定時(shí)初值如單片機(jī)的主脈沖頻率為12MHZ,經(jīng)過12分頻方式0TMAX213微秒8.912毫
31、秒方式1TMAX216微秒65.536毫秒顯然秒鐘已經(jīng)超過了計(jì)數(shù)器的最大定時(shí)間,所以我們只有采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問題5.1.2 1秒的方法我們采用在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使T0定時(shí)50毫秒這樣每當(dāng)T0到50毫秒時(shí)CPU就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計(jì)數(shù)器減,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時(shí)間顯示程序。相應(yīng)程序代碼()主程序定時(shí)器需定時(shí)50毫秒,故T0工作于方式1。初值:TCM-T T計(jì)數(shù)50ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #0
32、1H ; 令T0為定時(shí)器方式 MOV TH0, #3CH ;裝入定時(shí)器初值 MOV TL0, #BOH; MOV IE,#82H ;開0中斷 SEBT TRO;啟動(dòng)0計(jì)數(shù)器 MOV RO,#14H;軟件計(jì)數(shù)器賦初值LOOP:SJMP $;等待中斷()中斷服務(wù)子程序 ORG 00BH AJMPBRT0 ORG 00BHBRT0:DJNZ R0,NEXTAJMP TIME ; 跳轉(zhuǎn)到時(shí)間及信號(hào)燈顯示子程序 DJNZ:MOV R0,14H;恢復(fù)R0值 MOV TH0, #3CH ;重裝入定時(shí)器初值 MOV TL0, #BOH; MOV IE, #82H RET1 END5.1.3 軟件延時(shí) MCS-
33、51的工作頻率為2-12MHZ,我們選用的8031單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時(shí)間。 具體的延時(shí)程序分析: DELAY:MOV R4,#08H 延時(shí)1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#0 ;延時(shí)125ms 子程序 MOV R5,#0DE1: DJNZ R5,$ DJNZ R6,DE1 RETMOV RN,#DATA ;字節(jié)數(shù)數(shù)為2 ,機(jī)器周期數(shù)為1所以此
34、指令的執(zhí)行時(shí)間為2ms,而DELAY1 為一個(gè)雙重循壞 循環(huán)次數(shù)為256*256=65536 所以延時(shí)時(shí)間=65536*2=us 約為125us 。DELAY R4設(shè)置的初值為8 主延時(shí)程序循環(huán)8次,所以125us*8= 1秒由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。 第四章 智能交通燈方案的仿真PROTEUS嵌入式系統(tǒng)仿真軟件在設(shè)計(jì)時(shí)已經(jīng)注意到和單片機(jī)各種編譯程序的整合了,如它可以和Keil ,Wave6000等編譯模擬軟件結(jié)合使用。由于Wave6000使用方便,具備強(qiáng)大的軟件仿真和硬件仿真功能。把Proteus和Wave6000結(jié)合起來調(diào)試硬件就方便多了,這里筆者就是采用“P
35、roteus+Wave6000”的仿真方法,具體步驟如下:(1)首先運(yùn)行PROTEUS VSM 的ISIS,選擇SourceDefine Code Generation Tool 菜單項(xiàng),將出現(xiàn)如圖8所示定義代碼生成工具對(duì)話框。圖十一 定義代碼生成工具對(duì)話框在Tool下拉列表框中選擇代碼生成工具,在這一示例中,電路中的微處理器為8051系列單片機(jī),因此選擇ASEM51, 單擊Browse按鈕,選取Wave6000的安裝路徑。單擊OK按鈕,結(jié)束代碼生成工具的定義。選擇SourceAdd/Remove Source File 菜單項(xiàng),將出現(xiàn)Add/Remove Source Code Files對(duì)
36、話框,如圖十二所示:圖十二 添加/刪除源文件對(duì)話框在Code Generation Tool 選項(xiàng)區(qū),單擊下三角按鈕,選擇ASEM51工具。(2) 單擊New按鈕,將出現(xiàn)如圖十三所示對(duì)話框。圖十三 創(chuàng)建源代碼對(duì)話框選擇用Wave6000創(chuàng)建好的AA.ASM文件,即完成了文件的創(chuàng)建。就這樣當(dāng)用Wave6000對(duì)AA.ASM 文件進(jìn)行更改時(shí)每一次運(yùn)行PROTEUS VSM 的ISIS對(duì)電路進(jìn)行仿真時(shí)Wave6000都會(huì)對(duì)AA.ASM進(jìn)行編譯,AA.HEX文件也會(huì)隨時(shí)更新。電路圖繪制完成后, 再添加AT89C51 的應(yīng)用程序。將鼠標(biāo)移至AT89C51 上, 單擊鼠標(biāo)右鍵使之處于選中狀態(tài), 在該器件上
37、單擊左鍵, 打開如圖11所示的對(duì)話框。在 Program File 欄添加編譯好的十六進(jìn)制格式的程序文件AA.hex(可以接受3 種格式的文件) ,給AT89C51輸入晶振頻率,此處默認(rèn)為12MHZ, 單擊OK 按鈕完成程序添加工作, 下面就可以進(jìn)行系統(tǒng)仿真了。單擊主界面下方的按鈕開始系統(tǒng)仿真。PROTEUS VSM 所進(jìn)行的是一種交互式仿真, 在仿真進(jìn)行中可以對(duì)各控制按鈕、開關(guān)等進(jìn)行操作, 系統(tǒng)對(duì)輸入的響應(yīng)會(huì)被真實(shí)的反映出來。仿真結(jié)果如圖十五。在這個(gè)例子里, 開始仿真后,開關(guān),按鈕通過鼠標(biāo)單擊來改變狀態(tài),所改變狀態(tài)的狀態(tài)會(huì)在LED和數(shù)碼管顯示出來。由于篇幅所限, 以上僅舉一例簡(jiǎn)單介紹了PRO
38、TEUS VSM 的使用, 但其強(qiáng)大的系統(tǒng)仿真功能已經(jīng)得到體現(xiàn), 用在單片機(jī)系統(tǒng)設(shè)計(jì)的教學(xué)方面, 能起到良好的教學(xué)效果。圖十四 AT89C51添加程序文件圖十五 交通燈仿真界面 第六章 系統(tǒng)分析及改進(jìn)措施 該系統(tǒng)應(yīng)用了單片機(jī)實(shí)現(xiàn)智能交通燈管制的控制系統(tǒng),以及該系統(tǒng)軟、硬件設(shè)計(jì)方法,實(shí)驗(yàn)證明該系統(tǒng)實(shí)現(xiàn)簡(jiǎn)單、經(jīng)濟(jì),能夠有效地疏導(dǎo)交通,提高交通路口的通行能力.但功能還不夠完善,比如交通燈紅、黃、綠時(shí)間還不能按交通緊松完成手控調(diào)整,軟件編寫實(shí)現(xiàn)功能還不能很好控制硬件,本系統(tǒng)將增加更多功能,比如手控時(shí)間的調(diào)節(jié),攝像機(jī)交通監(jiān)控的控制,盲人通過時(shí)交通燈的控制等,使系統(tǒng)更加完善. 結(jié)束語智能控制交通系統(tǒng)實(shí)現(xiàn)是
39、目前研究的方向,也已經(jīng)取得不少成果,但傳統(tǒng)的定時(shí)交通燈控制仍然在一些地方廣泛應(yīng)用,那是車流量不大,而且交通道路相對(duì)好的地方,傳統(tǒng)的定時(shí)交通燈控制還是起到了一定的作用。但隨著社會(huì)的高速發(fā)展,城市化日益完善,車的數(shù)量必然增多,給交通的壓力也增大,這時(shí)候,智能交通燈控制將會(huì)起到疏導(dǎo)交通,改善城市交通環(huán)境,推動(dòng)城市化日益完善!基于Proteus智能交通燈控制系統(tǒng)軟件設(shè)計(jì)上有兩個(gè)主要特點(diǎn),一方面是本設(shè)計(jì)采用模糊控制方法實(shí)現(xiàn)交通的控制,由于模糊控制不需要建立被控對(duì)象精確的數(shù)學(xué)模型,特別適用于隨機(jī)的復(fù)雜的城市交通控制,因此以多變少為例子,在通行時(shí)間方面控制設(shè)置為20s25s40s45s20s 為一個(gè)循環(huán),根
40、據(jù)車流量,合理分配了通行時(shí)間。另一方面,設(shè)計(jì)應(yīng)急轉(zhuǎn)換開關(guān),考慮緊急車通過時(shí),譬如,急救車或消防車執(zhí)行緊急任務(wù)通過時(shí),兩車道的車都應(yīng)停止,讓緊急車通過。實(shí)驗(yàn)測(cè)試結(jié)果證明用本系統(tǒng)PIC 單片機(jī)能完成交通燈控制過程,有效地疏導(dǎo)交通,提高了交通路口的通行能力. 參考文獻(xiàn)1陳大欽. 電子技術(shù)基礎(chǔ)實(shí)驗(yàn) M. 北京:高等教育出版社 2004年2陳梓城. 電子技術(shù)實(shí)訓(xùn) M. 北京: 機(jī)械工業(yè)出版社 2003年3吳黎明. 單片機(jī)原理及應(yīng)用技術(shù) M. 北京: 科學(xué)出版社 2003年4李學(xué)海. 標(biāo)準(zhǔn)80C51單片機(jī)基礎(chǔ)教程 M. 北京航空航天大學(xué)出版社 2006年5劉樂善. 微型計(jì)算機(jī)接口技術(shù)及應(yīng)用 M. 華中科技
41、大學(xué)出版社 2004年 6陳炳權(quán) 曾慶六. EDA技術(shù)實(shí)用教程 M. 湘潭: 湘潭大學(xué)出版社 2010年 7 先鋒工作室. 單片機(jī)程序?qū)嵗齅.北京:清華大學(xué)出版社,2002. 8 李伯成.基于MCS-51單片機(jī)的嵌入式系統(tǒng)的設(shè)計(jì)M.北京:電子工業(yè)出版社,2004. 9 吳洪潭,肖艷萍,趙偉國(guó).單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:國(guó)防工業(yè)出版社,2005 10 Rockw ell A u tomat ioa. A llenB radley M icroLogixTM 1500. 用戶參考手冊(cè)Z . 美國(guó):1999.第七章 致謝本課題的工作是在張依群老師的親切關(guān)懷和精心指導(dǎo)下完成的,在此對(duì)他的關(guān)心、
42、指導(dǎo)和教誨表示衷心的感謝!作者在此期間的工作自始至終都是在張老師全面、具體的指導(dǎo)下進(jìn)行的,張老師在論文選題方面的遠(yuǎn)見卓識(shí)以及在完成課題和論文期間富有啟發(fā)性的建議是本文工作得以順利完成的根本保證。他高尚的品德、嚴(yán)謹(jǐn)?shù)膶W(xué)風(fēng)、一絲不茍的工作態(tài)度、孜孜不倦的工作精神和對(duì)科學(xué)真理的執(zhí)著追求使我終生受益,這將為我今后的學(xué)習(xí)和工作打下堅(jiān)實(shí)的基礎(chǔ)。感謝我的學(xué)友葉家榮等人對(duì)我的關(guān)心和幫助。他們的關(guān)懷是我克服困難,勇往直前的巨大動(dòng)力。最后,感謝評(píng)閱專家在百忙中評(píng)閱本論文,并提出寶貴意見!附智能交通燈控制程序:ORG 0000HA_BIT EQU 20H ;用于存放南北十位數(shù)B_BIT EQU 21H ;用于存放南
43、北十位數(shù)C_BIT EQU 22H ;用于存放東西十位數(shù)D_BIT EQU 23H ; 用于存放東西位數(shù)TEMP1 EQU 24H ;用于存放第一二南北狀態(tài)要顯示的時(shí)間TEMP2 EQU 25H ;用于存放第一二東西狀態(tài)要顯示的時(shí)間TEMP3 EQU 26H ;用于存放第三第四南北狀態(tài)要顯示的時(shí)間TEMP4 EQU 27H;用于存放第三第四南北狀態(tài)要顯示的時(shí)間LJMP MAINORG 0003H ;外部中斷0入口LJMP INT0 ;跳轉(zhuǎn)到外部0中斷ORG 0013H ;外部中斷1入口LJMP INT1 ;跳轉(zhuǎn)到外部1中斷INT0: MOV A,P1 ;外部0中斷 PUSH ACC MOV A
44、,P2 ;中斷保護(hù) PUSH ACCMOV P1,#0FFH ;清除先前狀態(tài)MOV P2,#0FFHCLR P1.0CLR P1.4 ;南北通行,東西禁止通行CLR P1.6CLR P2.3JNB P3.2 ,$ ;判斷是否還在中斷狀態(tài)POP ACCMOV P2,A ;返回中斷前狀態(tài)POP ACCMOV P1,ACCRETI ;中斷返回INT1:MOV A,P1 ;外部1中斷 PUSH ACC ;中斷保護(hù) MOV A,P2 PUSH ACCMOV P1,#0FFH ;清除先前狀態(tài)MOV P2,#0FFHCLR P1.2CLR P2.1CLR P1.3 ;東西通行,南北禁止通行CLR P1.5J
45、NB P3.3 ,$ ;判斷是否還在中斷狀態(tài)POP ACCMOV P2,A ;返回中斷前狀態(tài)POP ACCMOV P1,ARETI ;中斷返回MAIN:ORG 0100H ;初始情況MOV P1,#0FFHMOV P2,#0FFH ;滅所有燈MOV TMOD,#55H ;計(jì)數(shù)方式方式1MOV IE,#85H ;開中斷MOV TEMP1,#20 ;MOV TEMP2,#25MOV TEMP3,#25MOV TEMP4,#20STAR:MOV P1,#0FFHMOV P2,#0FFH ;滅所有燈MOV A,24H ;將顯示時(shí)間送ACJNE A,#20,T40T ;判斷時(shí)間,選初始值T20T: ;南
46、北通行要顯示的時(shí)間為20的計(jì)數(shù)器初始值CLR TF0 ;清TF0CLR TF1 ;清TF1MOV TH1 ,#0FFH ;送20秒時(shí)的初始值MOV TL1 ,#0FCH ;在些設(shè)計(jì)20秒6輛為多車MOV TH0 ,#0FFHMOV TL0 ,#0FCHLJMP TEMP20 ;跳到20秒T40T: ;南北通行要顯示的時(shí)間為40的計(jì)數(shù)器初始值CLR TF0 ;清TF0CLR TF1 ;清TF1MOV TH1,#0FFH ;送40秒時(shí)的初始值MOV TL1 ,#0F8H ;在些設(shè)計(jì)40秒8輛為多車MOV TH0 ,#0FFHMOV TL0 ,#0F8HLJMP TEMP40 ;跳到40秒TEMP2
47、0: ;TEMP1=20情況SETB TR0 ;開始計(jì)數(shù)SETB TR1CLR P1.2CLR P2.1 ;南北通行,東西禁止通行CLR P1.3CLR P1.5MOV TEMP1,#20 ;南北要顯示的時(shí)間,MOV TEMP2,#25 ;東西要顯示的時(shí)間STLOP:ACALL DISPLAY1 ;調(diào)用顯示DEC TEMP1 ;時(shí)間夠一秒顯示時(shí)間減1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT ;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài)LJMP STAR2 ;若顯示時(shí)間為 0跳到第二狀態(tài)NEXT: LJMP STLOPSTAR2: ;狀態(tài)1SETB P1.2CLR P1.1 ;南北
48、黃燈,東西禁止通行SETB P1.3CLR P1.4MOV TEMP1,#05 ;南北要顯示的時(shí)間,MOV TEMP2,#05 ;東西要顯示的時(shí)間,STLOP2:ACALL DISPLAY1 ;調(diào)用顯示DEC TEMP1 ;時(shí)間夠一秒顯示時(shí)間減1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT2 ;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài)JB TF1 ,T40 ;判斷南北是否多車JB TF0 ,T40 ;判斷北南是否多車MOV TEMP1,#20 ;少車下次顯示時(shí)間為20秒LJMP STAR3 ;跳到狀態(tài)3T40:MOV TEMP1,#40 ; 多車下次顯示時(shí)間為40秒LJMP STA
49、R3 ;若顯示時(shí)間為 0跳到第三狀態(tài)NEXT2:LJMP STLOP2TEMP40:;TEM=40 程序SETB TR0 ; 開始計(jì)數(shù)SETB TR1CLR P1.2CLR P2.1 ;南北通行,東西禁止通行CLR P1.3CLR P1.5MOV TEMP1,#40 ;南北要顯示的時(shí)間,MOV TEMP2,#45 ;東西要顯示的時(shí)間STLOP11:ACALL DISPLAY1 ;調(diào)用顯示DEC TEMP1 ;時(shí)間夠一秒顯示時(shí)間減1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT11 ;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài)LJMP STAR22 ;若顯示時(shí)間為 0跳到第二狀態(tài)NEXT
50、11: LJMP STLOP11STAR22: ;狀態(tài)1SETB P1.2CLR P1.1 ;南北黃燈,東西禁止通行SETB P1.3CLR P1.4MOV TEMP1,#05 ;南北要顯示的時(shí)間,MOV TEMP2,#05 ;東西要顯示的時(shí)間,STLOP22:ACALL DISPLAY1 ;調(diào)用顯示DEC TEMP1 ;時(shí)間夠一秒顯示時(shí)間減1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT22 ;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài)JB TF1 ,T401 ; 判斷是否多車JB TF0 ,T401MOV TEMP1,#20 ;少車下次顯示時(shí)間為20秒LJMP STAR3T401:MOV TEMP1,#40 ;多車下次顯示時(shí)間為40秒LJMP STAR3 ;若顯示時(shí)間為 0跳到第三狀態(tài)NEXT22:LJMP STLOP22STAR3:MOV A,26HCJNE A,#25,T40T1 ;判斷時(shí)間,選初始值T20T1: ;南北通行要顯示的時(shí)間為20的計(jì)數(shù)器初始值CLR TF0 ; 清溢出位CLR TF1MOV TH1 ,#0FFH ; 給初值MOV TL1 ,#0FCHMOV TH0 ,#0FFHMOV TL0 ,#0F
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB31/T 208-2014小包裝蔬菜加工技術(shù)規(guī)范
- DB31/T 1337-2021公共汽(電)車時(shí)間預(yù)報(bào)信息服務(wù)質(zhì)量評(píng)價(jià)規(guī)范
- DB31/T 1214-2020工業(yè)烘箱經(jīng)濟(jì)運(yùn)行與節(jié)能監(jiān)測(cè)
- 船用無人機(jī)與遠(yuǎn)程監(jiān)控系統(tǒng)考核試卷
- 2024年激光醫(yī)療光纖項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 計(jì)算機(jī)二級(jí)Web考試備戰(zhàn)策略試題及答案
- 美容美發(fā)技術(shù)培訓(xùn)與就業(yè)服務(wù)協(xié)議
- 抖音短視頻房地產(chǎn)經(jīng)紀(jì)業(yè)務(wù)合作合同
- 智能健康監(jiān)測(cè)設(shè)備軟件更新與技術(shù)支持協(xié)議
- 精英私人飛機(jī)機(jī)組選拔與安全培訓(xùn)協(xié)議
- ZXB∕T 0202-2013 球墨鑄鐵給排水管道工程施工及驗(yàn)收規(guī)范 技術(shù)要求
- 語法大全之一般現(xiàn)在時(shí)動(dòng)詞三單變化練習(xí)題-(答案)
- MOOC 美術(shù)鑒賞-河南理工大學(xué) 中國(guó)大學(xué)慕課答案
- 頁巖氣及其成藏特征
- 植物生理學(xué)課件(王小菁-第8版)-第五章-植物同化物的運(yùn)輸
- 建設(shè)工程監(jiān)理質(zhì)量管理體系樣本
- 全國(guó)海洋知識(shí)競(jìng)賽考試題庫及答案解析(800題版)
- 山東省東營(yíng)市2023年中考化學(xué)試題(附真題答案)
- 保潔外包可行性方案
- 防災(zāi)避險(xiǎn)功能綠地規(guī)劃
- 大型車禍急救護(hù)理
評(píng)論
0/150
提交評(píng)論