交通控制燈設(shè)計(jì)_第1頁(yè)
交通控制燈設(shè)計(jì)_第2頁(yè)
交通控制燈設(shè)計(jì)_第3頁(yè)
交通控制燈設(shè)計(jì)_第4頁(yè)
交通控制燈設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 交通控制燈設(shè)計(jì)摘 要 近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善。十字路口車(chē)輛穿梭,行人熙攘,車(chē)行車(chē)道,人行人道,有條不紊靠的是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機(jī)AT89S52來(lái)設(shè)計(jì)交通燈控制器,該系統(tǒng)主要功能是:正常指揮的;當(dāng)一道有車(chē)而另一道沒(méi)有車(chē)時(shí),交通燈控制系統(tǒng)能立即讓有車(chē)道放行;若有緊急車(chē)輛要求通過(guò)時(shí),該系統(tǒng)能禁止普通車(chē)輛

2、,而讓緊急車(chē)輛通過(guò)等。交通燈的點(diǎn)亮采用共陽(yáng)極發(fā)光來(lái)二極管控制,直接采用+5V直流電源驅(qū)動(dòng),系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性強(qiáng)。 關(guān)鍵詞:?jiǎn)纹瑱C(jī) 交通燈 控制器 設(shè)計(jì) 仿真 固化目錄一、引言3二、單片機(jī)概述與簡(jiǎn)介3(一)單片機(jī)的概述3(二)MSC-51芯片簡(jiǎn)介3(三)AT89S52的引腳說(shuō)明:5三、控制器硬件系統(tǒng)設(shè)計(jì)7(一)交通管理的方案論證7(二)系統(tǒng)硬件設(shè)計(jì)8四、控制器的軟件設(shè)計(jì)10(一)每秒鐘的設(shè)定10(二)軟件延時(shí)10(三)信號(hào)燈的顯示12(四)程序設(shè)計(jì)13五、單片機(jī)開(kāi)發(fā)系統(tǒng)18(一)程序仿真19設(shè)計(jì)小結(jié)22參考文獻(xiàn)23致謝24一、引言在今天,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車(chē)輛最

3、常見(jiàn)和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1918年,出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車(chē)輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)道路交通和道路標(biāo)志信號(hào)協(xié)定對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車(chē)輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車(chē)輛都必須讓合法地正在路口內(nèi)行駛的車(chē)輛和過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車(chē)輛必

4、須在交叉路口的停車(chē)線后停車(chē)。黃燈是警告信號(hào),面對(duì)黃燈的車(chē)輛不能越過(guò)停車(chē)線,但車(chē)輛已十分接近停車(chē)線而不能安全停車(chē)時(shí)可以進(jìn)入交叉路口。二、單片機(jī)概述與簡(jiǎn)介(一)單片機(jī)的概述 隨著科學(xué)技術(shù)的進(jìn)步,超大規(guī)模集成電路技術(shù)迅速發(fā)展,集成技術(shù)的一個(gè)最新成就就是將中央處理器(CPU)、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)器/計(jì)數(shù)器、并行串行輸入/輸出接口、中斷部件等單元集成在一個(gè)芯片上,形成所謂的單片機(jī)微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過(guò)1、2、3、4代的發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源

5、在增多,引角的多功能化,以及低電壓底功耗。(二)MSC-51芯片簡(jiǎn)介AT89S52是MCS-51系列單片機(jī)的典型產(chǎn)品,我以這一代表性的機(jī)型進(jìn)行系統(tǒng)控制的使用。AT89S52單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線。1.中央處理器:中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。它由運(yùn)算器和控制器組成。2存貯器AT89S52單片機(jī)在物理上有4個(gè)存貯空

6、間:片內(nèi)程序存貯器和片外程序存貯器、片內(nèi)數(shù)據(jù)存貯器和片外數(shù)據(jù)存貯器。3定時(shí)/計(jì)數(shù)器(ROM):AT89S52有三個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。4并行輸入輸出(I/O)口AT89S52共有4組8位I/O口,用于對(duì)外部數(shù)據(jù)的傳輸。5中斷系統(tǒng):AT89S52具備完善的中斷功能,有兩個(gè)外中斷、三個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并有2級(jí)的優(yōu)先級(jí)別選擇。6時(shí)鐘電路:AT89S52內(nèi)置最高頻率達(dá)33MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,也可外置振蕩電容。(三)AT89S52的引腳說(shuō)明:AT89S52采用40Pin封裝的雙列直接D

7、IP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:如圖 圖1引腳的具體描述如下:VCC:電源電壓。提供掉電、空閑、正常5V電壓。Vss:GND:地。P0.0P0.7:第3932腳,P0口除了可以做普通的雙向I/O口使用外,也可以在訪問(wèn)外部存貯器時(shí)用做低8位地址線和數(shù)據(jù)總線。P1.0P1.7:第18腳,P1口是一組8位雙向I/O口,P1.2P1.7提供內(nèi)部上拉電阻,P1.0和P1.1內(nèi)部上拉電阻,主要是考慮它們分別是內(nèi)部精密比較器的同向輸入端(AIN0)和反向輸入端(AI

8、N1),如果需要應(yīng)在外部接上拉電阻。P1口輸出緩沖器可吸收20mA電流并可直接驅(qū)動(dòng)LED。當(dāng)P1口引腳寫(xiě)入“1”時(shí)可做輸入端,當(dāng)引腳P1.2P1.7用做輸入并被外部拉低時(shí),它們將因內(nèi)部的上拉電阻而輸出電流(In)。P1口還在FLASH閃速編程及程序校驗(yàn)時(shí)接收代碼數(shù)據(jù)。P2.0P2.7:第2128腳,P2口是帶內(nèi)部上拉的雙向I/O口,向P2口寫(xiě)入1時(shí),P2口被內(nèi)部上拉為高電平,可以作輸入口。當(dāng)作為輸入腳時(shí),被外部拉低的P2口會(huì)因?yàn)樯侠敵鲭娏?。在訪問(wèn)外部程序存貯器和外部數(shù)據(jù)存貯器時(shí),可以作為地址總線的高位字節(jié)。P3.0P3.7:第1017腳。P3口的P3.0P3.5,P3.7是帶有內(nèi)部上拉電阻

9、的7個(gè)雙向I/O口。P3.6沒(méi)有引出,它作為一個(gè)通用I/O口但不可以訪問(wèn),但口作為固定輸入片比較器的輸出信號(hào),P3口緩沖器可吸收20mA的電流。當(dāng)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻提高并可作為輸入端口。做輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流(In)。RST:復(fù)位輸入。RST引腳一旦變成兩個(gè)機(jī)器周期以上高電平,所有的I/O口都將復(fù)位到“1”(高電平)狀態(tài),當(dāng)振蕩器工作時(shí),持續(xù)兩個(gè)周期為12個(gè)振蕩時(shí)鐘周期。XTAL1:振蕩器反向放大器的內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL1:振蕩器反向放大器的輸出端。振蕩器特征:XTAL1.XTAL2為片內(nèi)振蕩器的反向放大器的輸入和輸出端??刹捎檬⒕?/p>

10、體或陶瓷震蕩器組成時(shí)鐘震蕩器,如需從外部輸入時(shí)鐘驅(qū)動(dòng)AT89C2051,時(shí)鐘信號(hào)從XYAL1輸入,XTAL2應(yīng)懸空。由于輸入到內(nèi)部電路是經(jīng)過(guò)一個(gè)2分頻觸發(fā)器,所以輸入的外部時(shí)鐘信號(hào)無(wú)需特殊要求,但它必須符合電平的最大和最小值及時(shí)序規(guī)范。Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)AT89S52通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫(xiě)入07H,其它專(zhuān)用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工

11、作寄存器R0-R7)的狀態(tài),AT89S52的初始態(tài)。Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,

12、8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的8031,EA端必須接地。在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。三、控制器硬件系統(tǒng)設(shè)計(jì)(一)交通管理的方案論證A、B兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車(chē)輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為A、B兩干道的公共停車(chē)時(shí)間。規(guī)定:A道放行時(shí)間為2分鐘,

13、B道放行時(shí)間1.5分鐘,黃燈亮2秒鐘;當(dāng)一道有車(chē)而另一道無(wú)車(chē)時(shí),交通燈控制系統(tǒng)立即讓有車(chē)道放行;若有緊急車(chē)輛要求通過(guò)時(shí),此系統(tǒng)應(yīng)能禁止普通車(chē)輛,而讓緊急車(chē)輛通過(guò)。指示燈燃亮的方案如表1:緊急狀況緊急解除12029021202主道(A道)紅燈亮恢復(fù)綠燈亮黃燈亮紅燈亮紅燈亮綠燈亮黃燈亮支道(B道)紅燈亮恢復(fù)紅燈亮紅燈亮綠燈亮黃燈亮紅燈亮紅燈亮此表說(shuō)明:(1)當(dāng)為黃燈時(shí),以提示車(chē)輛下一個(gè)燈色即將到來(lái),時(shí)間 為2秒。 (2)當(dāng)A到為紅燈,A 道車(chē)輛禁止通行;B 道為綠燈,B 道車(chē)輛通過(guò)。時(shí)間為90秒。(3)當(dāng)A道綠燈,A 道車(chē)輛通行;B 道為紅燈,B 道車(chē)輛禁止通過(guò)。時(shí)間為120秒。(4)這樣如上表的

14、時(shí)間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣車(chē)輛就能安全暢通的通行。 (5) 當(dāng)?shù)缆酚龅骄o急狀況時(shí),可按緊急按鈕,使紅燈亮,是交通暫時(shí)隔斷,當(dāng)緊急狀況結(jié)束,可按緊急解除按鈕,使道路恢復(fù)原來(lái)狀態(tài),保證道路暢通。 (二)系統(tǒng)硬件設(shè)計(jì)該控制系統(tǒng)需要的硬件設(shè)備:AT89S52單片機(jī)一片,紅色、綠色、黃色LED發(fā)光二極管各4個(gè),5個(gè)5V直流電源,控制開(kāi)關(guān)2個(gè),100歐姆電阻14個(gè),1000歐姆電阻一個(gè),若干導(dǎo)線。1.系統(tǒng)總框圖如下:按正常順序執(zhí)行AT89S52正常情況根據(jù)傳感器信息跳轉(zhuǎn)傳感器觸發(fā)全部紅燈,緊急車(chē)輛通過(guò)緊急信 號(hào)圖2 系統(tǒng)總框圖2交通燈控制線路圖 圖33.系統(tǒng)工作原理(1)該系統(tǒng)使用AT89S5

15、2單片機(jī)控制,(2)正常狀態(tài)下,通過(guò)掃描R4內(nèi)的數(shù)值,軟件延時(shí),來(lái)進(jìn)行計(jì)時(shí),來(lái)控制A,B兩道的紅綠黃燈的點(diǎn)燃時(shí)間,由P1.0P1.5送至相對(duì)應(yīng)的燈。(3)在進(jìn)行計(jì)時(shí)的同時(shí)進(jìn)行P1.6,P1.7的端口掃描,P1.6連接B道的傳感器,P1.7連接A道的傳感器,分別來(lái)檢測(cè)兩個(gè)路口車(chē)輛的狀態(tài),低電平為有車(chē)輛通過(guò),然后根據(jù)當(dāng)前道路指示燈的狀態(tài)進(jìn)行調(diào)整。實(shí)現(xiàn)一道有車(chē)而另一道無(wú)車(chē)時(shí),能讓有車(chē)道放行的功能。(4)在程序執(zhí)行的過(guò)程中,系統(tǒng)時(shí)刻掃描外部中斷/INT0的輸入信號(hào),當(dāng)有緊急車(chē)輛要求通過(guò)時(shí),通過(guò)開(kāi)關(guān)K8控制外部中斷,使系統(tǒng)程序堆棧,跳轉(zhuǎn)到中斷程序,使所有路口都亮紅燈,所有普通車(chē)輛禁止通行,而讓緊急車(chē)輛通

16、過(guò)。最后再使程序出棧,按原來(lái)順序執(zhí)行。(5)該系統(tǒng)使用共陽(yáng)極LED發(fā)光二極管,正常工作電壓為直流+5V。四、控制器的軟件設(shè)計(jì)(一)每秒鐘的設(shè)定 延時(shí)方法可以有兩種一中是利用MCS-51內(nèi)部定時(shí)器才生溢出中斷來(lái)確定1秒的時(shí)間,另一種是 采用軟延時(shí)的方法。本次設(shè)計(jì)中我們使用了軟件延時(shí)來(lái)計(jì)時(shí)。(二)軟件延時(shí)AT89S52的工作頻率為2-33MHZ,我們選用的AT89S52單片機(jī)的工作頻率為12MHZ。所謂時(shí)序是指各種信號(hào)的時(shí)間序列,它表明了指令執(zhí)行中各信號(hào)之間的相互關(guān)系.單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步方式的實(shí)現(xiàn),全部電路應(yīng)在統(tǒng)一的時(shí)鐘信號(hào)控制下嚴(yán)格的按照時(shí)序進(jìn)行工作.時(shí)序的基本定

17、時(shí)單位共有4個(gè),它們從小到大分別是:1振蕩周期:是指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期.片內(nèi)的各種微操作以次周期為時(shí)序基準(zhǔn).2時(shí)鐘周期:又稱為狀態(tài)周期,因?yàn)闀r(shí)鐘發(fā)生器就是上述的2分頻觸發(fā)器,所以它是振蕩周期的2倍,時(shí)鐘周期又被分為兩個(gè)節(jié)拍.在每個(gè)時(shí)鐘的前半周期,P1信號(hào)有效,這是通常完成算術(shù)邏輯操作;再每個(gè)時(shí)鐘的后半周期,P2信號(hào)有效,內(nèi)部寄存器與寄存器間的傳輸一般在此狀態(tài)發(fā)生.3機(jī)器周期:一個(gè)機(jī)器周期由6個(gè)狀態(tài)組成,即6個(gè)時(shí)鐘周期,12個(gè)振蕩周期.4指令周期:是執(zhí)行一條指令所站用的全部時(shí)間,一個(gè)指令周期通常含14個(gè)機(jī)器周期.程序延時(shí)時(shí)間可以根據(jù)機(jī)器周期以及執(zhí)行程序所占用的總的機(jī)器周期數(shù)進(jìn)行計(jì)

18、算,即:延時(shí)時(shí)間=一個(gè)機(jī)器周期的時(shí)間*執(zhí)行程序所用的總的機(jī)器周期數(shù)已知晶振為12MHZ,則一個(gè)機(jī)器周期為1us,已知內(nèi)循環(huán)設(shè)為1ms,則可算出內(nèi)循環(huán)的次數(shù)為250=FAH,具體的延時(shí)程序分析: DELAY:MOV R0,#500 ;延時(shí)0.5秒子程序 DELAY1:MOV R1,#FAH DELAY2:NOP ;1周期 NOP ;1周期 DJNZ R1,DELAY2 ;2周期 DJNZ R0,DELAY1 ;2周期 RET同樣延時(shí)0.25秒的程序如下:DELAY:MOV R0,#250 ;延時(shí)0.5秒子程序 DELAY1:MOV R1,#FAH DELAY2:NOP ;1周期 NOP ;1周期

19、 DJNZ R1,DELAY2 ;2周期 DJNZ R0,DELAY1 ;2周期 RET(三)信號(hào)燈的顯示AT89S51單片機(jī)有32根I/O口線,分別屬于4個(gè)8位并行I/O口P0,P1,P2和P3.每個(gè)口都可以用做輸入輸出,所以我們選用P1端口,外接12個(gè)共陽(yáng)極LED發(fā)光二極管,并要接上上拉電阻,以保證其正常工作。表2 LED資源分配表燈LED端口東西紅東LED12P1.0西LED5東西黃東LED10P1.1西LED4東西綠東LED11P1.2西LED6南北紅南LED8P1.3北LED3南北黃南LED7P1.4北LED1南北綠南LED9P1.5北LED2表3狀態(tài)控制碼狀態(tài)控制碼(二進(jìn)制)控制碼

20、(十六進(jìn)制)東西紅燈,南北紅燈11110110BF6H東西綠燈,南北紅燈11011110BDEH東西黃燈,南北紅燈11101110BEEH東西紅燈,南北綠燈11110011BF3H東西紅燈,南北黃燈11110101BF5H東西綠燈,南北紅燈11011110BDEH(四)程序設(shè)計(jì)1流程圖如圖所示開(kāi)始 置A道放行標(biāo)志0F0允許/INT0中斷置A道放行標(biāo)志0F0A道放行時(shí)間值送R4A道放行時(shí)間值送R4A道亮綠燈B道亮紅燈 A道亮綠燈B道亮紅燈延時(shí)0.25S 延時(shí)0.25SR410? YR410? Y NB道有車(chē)要過(guò)? A道有車(chē)要過(guò)? N Y NB道有車(chē)要過(guò)?A道有車(chē)要過(guò)? N Y YA道閃黃燈B道仍

21、亮紅燈A道閃黃燈B道仍亮紅燈 到2S嗎?到2S嗎?Y N Y 圖8 交通燈控制程序流程圖 開(kāi)始A道放行?(F0=0) Y NA道閃黃燈B道仍亮紅燈B道閃黃燈A道仍亮紅燈到2S?到2S? N N Y YA道亮紅燈B道亮紅燈緊急車(chē)已過(guò) N Y原A道放行? Y NA道亮綠燈B道仍亮紅燈B道亮綠燈A道仍亮紅燈返回圖 4讓緊急車(chē)輛通過(guò)的中斷服務(wù)程序流程2.程序源代碼 ORG 0003H LJMP INTSV0 ORG 0100HINTVS0: JNB F0,ADFX ;若A道放行,則轉(zhuǎn)ADFX MOV P1,#0EEH ;否則,B道閃黃燈,A道仍然亮紅燈 MOV R4,#04HILOOP1: LCALL

22、 DELAY CPL P1.4 DJNZ R4,ILOOP1 SJMP INEXT ;黃燈閃完4次后轉(zhuǎn)INEXTADFX: MOV P1,#0F5H ;A道閃黃燈,B道仍亮紅燈 MOV R4,#04H ILOOP2: LCALL DELAY CPL P1.1 DJNZ R4,ILOOP2INEXT: MOV P1,#0F6H ;A道和B道都亮紅燈 JB IE0,$ ;若緊急未過(guò)(K8未回原位),則等待 JNB F0,YADFX ;若原A道放行,則轉(zhuǎn)YADFX MOV P1,#0DEH ;否則,B道亮綠燈,A道仍亮紅燈 SJMP IDONEYADFX: MOV P1,#0F3H ;A道亮綠燈,B

23、道亮紅燈IDONE: RETI ORG 1000HSTART: SETB EA ;允許INTO中斷 SETB EX0 CLR F0 ;A道放行標(biāo)志F0=0 MOV R4,#F0H ;設(shè)置A道放行120S MOV P1,#0F3H ;A道亮綠燈,B道亮紅燈LOOP1: ACALL DELAY DEC R4 MOV A,R4 JZ NEXT1 ;若A道放行120S已到,則轉(zhuǎn)NEXT1 MOV A,P1 JNB ACC.7,LOOP1 JB ACC.6,LOOP1NEXT1: MOV P1,#0F5H ;A道亮黃燈,B道亮紅燈 MOV R4,#04H ;設(shè)置A道閃黃燈2SDLOP1: ACALL D

24、ELAY CPL P1.1 DJNZ R4,DLOP1 SETB F0 ;閃黃燈4次(2S)后,F(xiàn)0=1 MOV R4,#B4H ;設(shè)置B道放行90S MOV P1,#0DEH ;B道亮綠燈,A道亮紅燈LOOP2: ACALL DELAY DEC R4 MOV A,R4 JZ NEXT2 ;若B道放行90S已到,則轉(zhuǎn)NEXT2 MOV A,P1 JNB ACC.6,LOOP2 JB ACC.7,LOOP2NEXT2: MOV P1,#0EEH ;B道閃黃燈,A道仍亮紅燈 MOV R4,#04H ;設(shè)置B道閃黃燈2SDLOP2: ACALL DELAY CPL P1.4 DJNZ R4,DLOP

25、2 SJMP START ;B道閃黃燈4次后轉(zhuǎn)STARTDELAY: MOV R0,#500 ;延時(shí)0,25秒程序DELAY1: MOV R1,#FAHDELAY2: NOP NOP DJNZ R1,DELAY2 DJNZ R0,DELAY1 RET END五、單片機(jī)開(kāi)發(fā)系統(tǒng)單片機(jī)開(kāi)發(fā)系統(tǒng)實(shí)際上也是一種計(jì)算機(jī)系統(tǒng),是專(zhuān)門(mén)用來(lái)開(kāi)發(fā)單片機(jī)應(yīng)用系統(tǒng)的一種工具,它通常由一臺(tái)系統(tǒng)機(jī)、一個(gè)通用再線仿真器和一個(gè)通用編程器構(gòu)成如圖終端打印機(jī)用戶目標(biāo)系統(tǒng)主 機(jī)通用再線仿真器通用編程器硬盤(pán)機(jī) 圖 5在主機(jī)上運(yùn)行開(kāi)發(fā)軟件(編輯軟件、調(diào)試軟件)就可以輸入、刪除、編輯和運(yùn)行用戶程序,也可以把用戶目標(biāo)代碼通過(guò)串口傳送到通

26、用再線仿真器。編程器可以對(duì)EPROM進(jìn)行編程和效驗(yàn),也可以在主機(jī)上對(duì)編程器進(jìn)行操作。(一)程序仿真由于源程序仿真時(shí)間較長(zhǎng),所以在進(jìn)行仿真時(shí)進(jìn)行改動(dòng),把原先A道的放行時(shí)間由2分鐘改為5秒,B道放行時(shí)間由1.5分鐘改為4秒,黃燈還是2秒,其余不變.修改后的程序如下:ORG 0003H LJMP INTSV0 ORG 0100HINTVS0: JNB F0,ADFX ;若A道放行,則轉(zhuǎn)ADFX MOV P1,#0EEH ;否則,B道閃黃燈,A道仍然亮紅燈 MOV R4,#08HILOOP1: LCALL DELAY CPL P1.4 DJNZ R4,ILOOP1 SJMP INEXT ;黃燈閃完4次

27、后轉(zhuǎn)INEXTADFX: MOV P1,#0F5H ;A道閃黃燈,B道仍亮紅燈 MOV R4,#08H ILOOP2: LCALL DELAY CPL P1.1 DJNZ R4,ILOOP2INEXT: MOV P1,#0F6H ;A道和B道都亮紅燈 JB IE0,$ ;若緊急未過(guò)(K8未回原位),則等待 JNB F0,YADFX ;若原A道放行,則轉(zhuǎn)YADFX MOV P1,#0DEH ;否則,B道亮綠燈,A道仍亮紅燈 SJMP IDONEYADFX: MOV P1,#0F3H ;A道亮綠燈,B道亮紅燈IDONE: RETI ORG 1000HSTART: SETB EA ;允許INTO中斷

28、 SETB EX0 CLR F0 ;A道放行標(biāo)志F0=0 MOV R4,#18H ;設(shè)置A道放行5S MOV P1,#0F3H ;A道亮綠燈,B道亮紅燈LOOP1: ACALL DELAY DEC R4 MOV A,R4 JZ NEXT1 ;若A道放行5S已到,則轉(zhuǎn)NEXT1 MOV A,P1 JNB ACC.7,LOOP1 JB ACC.6,LOOP1NEXT1: MOV P1,#0F5H ;A道亮黃燈,B道亮紅燈 MOV R4,#08H ;設(shè)置A道閃黃燈2SDLOP1: ACALL DELAY CPL P1.1 DJNZ R4,DLOP1 SETB F0 ;閃黃燈4次(2S)后,F(xiàn)0=1

29、MOV R4,#18H ;設(shè)置B道放行5S MOV P1,#0DEH ;B道亮綠燈,A道亮紅燈LOOP2: ACALL DELAY DEC R4 MOV A,R4 JZ NEXT2 ;若B道放行4S已到,則轉(zhuǎn)NEXT2 MOV A,P1 JNB ACC.6,LOOP2 JB ACC.7,LOOP2NEXT2: MOV P1,#0EEH ;B道閃黃燈,A道仍亮紅燈 MOV R4,#08H ;設(shè)置B道閃黃燈2SDLOP2: ACALL DELAY CPL P1.4 DJNZ R4,DLOP2 SJMP START ;B道閃黃燈4次后轉(zhuǎn)STARTDELAY: MOV R0,#250 ;延時(shí)0,25秒

30、程序DELAY1: MOV R1,#FAHDELAY2: NOP NOP DJNZ R1,DELAY2 DJNZ R0,DELAY1 RET END將仿真器的串行接口連接線接到計(jì)算機(jī)的串行口,加上正5伏電源通過(guò)連接線給仿真器供電,并在計(jì)算機(jī)上運(yùn)行仿真軟件,將以上程序輸入,并進(jìn)行仿真,同時(shí)調(diào)試觀察源文件及其他窗口,檢查運(yùn)行時(shí)有無(wú)錯(cuò)誤發(fā)生。及時(shí)更改出現(xiàn)的錯(cuò)誤并再次進(jìn)行仿真,直至仿真成功。設(shè)計(jì)小結(jié)本系統(tǒng)采用MSC-51系列單片機(jī)AT89S52來(lái)設(shè)計(jì)的交通燈控制器,該系統(tǒng)主要功能是:正常指揮的;當(dāng)一道有車(chē)而另一道沒(méi)有車(chē)時(shí),交通燈控制系統(tǒng)能立即讓有車(chē)道放行;若有緊急車(chē)輛要求通過(guò)時(shí),該系統(tǒng)能禁止普通車(chē)輛,

31、而讓緊急車(chē)輛通過(guò)等。交通燈信號(hào)通過(guò)平常P1口輸出;交通燈的點(diǎn)亮采用共陽(yáng)極發(fā)光LED,直接采用+5V電源驅(qū)動(dòng),系統(tǒng)設(shè)計(jì)簡(jiǎn)便、實(shí)用性強(qiáng)、操作簡(jiǎn)單、程序設(shè)計(jì)簡(jiǎn)便。系統(tǒng)不足之處不能工作中修改紅綠燈的工作時(shí)間,不能控制車(chē)的左、右轉(zhuǎn)、以及統(tǒng)計(jì)車(chē)流改變紅綠燈時(shí)間等。通過(guò)這次畢業(yè)設(shè)計(jì),使我得到了一次用專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。通過(guò)本次畢業(yè)設(shè)計(jì)我也獲得許多心得體會(huì):1.在設(shè)計(jì)程序之前,務(wù)必要對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)片內(nèi)有哪些資源.2.設(shè)計(jì)程序采用什么編程語(yǔ)言并不是非常重要,關(guān)鍵要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖.3.在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,"反復(fù)修改,不斷改進(jìn)"是程序設(shè)計(jì)的必經(jīng)之路4.要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論