基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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、基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)摘 要:對(duì)基于單片機(jī)的交通燈控制系統(tǒng)進(jìn)行了設(shè)計(jì)。系統(tǒng)功能為:以MCS-51系列單片機(jī)作為控制核心,設(shè)計(jì)并制作交通燈控制系統(tǒng),東西南北四個(gè)方向具有左拐、右拐、直行及行人4種通行指示燈,用計(jì)時(shí)器顯示路口通行轉(zhuǎn)換剩余時(shí)間,在特種車(chē)輛如119、120通過(guò)路口時(shí),系統(tǒng)可自動(dòng)轉(zhuǎn)為特種車(chē)輛放行,其他車(chē)輛禁止通行狀態(tài)。在對(duì)系統(tǒng)功能分析的基礎(chǔ)上,提出了三種設(shè)計(jì)方案,經(jīng)比較,選擇性能較優(yōu)的LED動(dòng)態(tài)循環(huán)顯示方案進(jìn)行了設(shè)計(jì)。設(shè)計(jì)包括硬件和軟件兩大部分。硬件部分包括單片機(jī)最小系統(tǒng)、時(shí)間顯示、交通燈顯示三部分。選用Atmel公司的AT89S52單片機(jī)作為控制核心,東西南北四個(gè)方向設(shè)置了LE

2、D時(shí)間顯示和交通燈顯示,時(shí)間顯示采用三位LED顯示器,交通燈顯示則采用紅綠雙色高亮發(fā)光二極管來(lái)模擬。軟件采用了模塊化的設(shè)計(jì)方法,主要分為主程序、定時(shí)器中斷服務(wù)子程序、倒計(jì)時(shí)顯示子程序、交通燈模擬顯示子程序四部分。在實(shí)驗(yàn)板上制作了基于單片機(jī)的交通燈控制系統(tǒng)樣機(jī),對(duì)硬件和軟件部分分別進(jìn)行了調(diào)試,再進(jìn)行了軟硬件聯(lián)調(diào),得到的交通燈控制系統(tǒng)樣機(jī)實(shí)物,可圓滿地完成畢業(yè)設(shè)計(jì)任務(wù)書(shū)所要求的功能。關(guān)鍵詞: 交通燈;單片機(jī);AT89S52Design of traffic light control system based on SCM Abstract: Traffic light control syste

3、m based on SCM (Single Chip Microcomputer) is designed in this paper. System requires that MCS-51 series SCM is used as CPU. Traffic light control system should be designed and made .There are four groups light which indicate to turn left, turn right, and go straight ahead and pedestrian access in e

4、ast, west, north and south four directions. Timer shows traffic conversion remainder time. When special vehicles, such as 119,120 go through, the system can automatically allow special vehicles running and other vehicles is prohibited.Based on analysis of the system functions, three schemes are put

5、forward .By comparison, LED dynamic cycle display scheme has better functions and it is selected to be designed. The design includes hardware part and software part. Hardware has three parts .They are SCM system, LED time display, traffic lights. AT89S52 SCM is selected as control CPU. LED display a

6、nd traffic lights are set in east, west, north and south four directions. Three LED monitors are used to show time. Highlight and red-green two color traffic lights are used as traffic lights. Software is designed by module. It is divided into main program, timer interrupting service subroutine, LED

7、 display subroutine, traffic display subroutine.The model of traffic lights control system is made in experiment board. Hardware and software is debugged respectively, then hardware and software are combined and debugged .The model of traffic lights control system can meet the requirement of design

8、task book perfectly.Key words: Traffic light; SCM; AT89S52 目 錄1 概 述11.1 課題研究背景與意義11.2 課題設(shè)計(jì)內(nèi)容12 系統(tǒng)設(shè)計(jì)12.1設(shè)計(jì)方案論證12.系統(tǒng)硬件設(shè)計(jì)32.2.1控制模塊32.2.2通行燈顯示模塊52.2.3時(shí)間顯示模塊52.2.4電源電路模塊52.2.5硬件電路中器件選擇62.3 系統(tǒng)軟件的設(shè)計(jì)112.3.1主程序112.3.2定時(shí)中斷服務(wù)程序112.3.3特種車(chē)中斷服務(wù)程序132.3.4算法分析143 系統(tǒng)調(diào)試143.1硬件調(diào)試153.1.1靜態(tài)檢查153.1.2通電檢查153.2軟件調(diào)試及軟硬件聯(lián)調(diào)15

9、3.2.1仿真器選擇153.2.2仿真過(guò)程163.2.3通行燈輸出調(diào)試173.2.4時(shí)間顯示模塊調(diào)試183.2.5特種車(chē)中斷程序調(diào)試183.2.6脫機(jī)調(diào)試183.2.7實(shí)驗(yàn)結(jié)果194 結(jié) 束 語(yǔ)20參考文獻(xiàn)21致 謝22附 錄23附錄1 基于單片機(jī)的交通燈控制系統(tǒng)電路原理圖23附錄2 基于單片機(jī)的交通燈控制系統(tǒng)PCB圖23附錄3 基于單片機(jī)的交通燈控制系統(tǒng)程序清單23基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)1 概 述 1.1 課題研究背景與意義隨著經(jīng)濟(jì)的增長(zhǎng)和人口的增加,人們生活方式不斷變化,人們對(duì)交通的需求不斷增加。城市中交通擁擠、堵塞現(xiàn)象日趨嚴(yán)重,由此造成巨大的經(jīng)濟(jì)與時(shí)間損失。資料顯示,對(duì)日本東京2

10、68個(gè)主要交叉路口的調(diào)查估計(jì)表明:每年在交叉路口的時(shí)間延誤,折成經(jīng)濟(jì)報(bào)失為20億美元;而在我國(guó)北京市,當(dāng)早晚交通高峰時(shí),交叉路口處的排隊(duì)長(zhǎng)度竟達(dá)1000多米,有的阻車(chē)車(chē)隊(duì)從一個(gè)交叉路口延伸到另一個(gè)交叉路口,這時(shí)一輛車(chē)為通過(guò)一交叉路口,往往需要半個(gè)小時(shí)以上,時(shí)間損失相當(dāng)可觀。我國(guó)是一個(gè)歷史悠久、人口眾多的國(guó)家,城市數(shù)量隨著社會(huì)的發(fā)展不斷增多。隨著城市化進(jìn)程的大大加快,誘發(fā)的交通需求急劇增長(zhǎng),供需矛盾不斷激化,嚴(yán)重的交通問(wèn)題也隨之而來(lái)。人、車(chē)、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門(mén)需要解決的重要問(wèn)題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城

11、市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。十字路口車(chē)輛穿梭,行人熙攘,車(chē)行車(chē)道,人行人道,有條不紊,這一切要?dú)w功于城市交通控制系統(tǒng)中的交通燈控制系統(tǒng)。交通燈控制系統(tǒng)對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果,使城市交通得以有效管理。交通燈可以采用PLC、單片機(jī)等控制方法。利用單片機(jī)實(shí)現(xiàn)對(duì)交通信號(hào)燈的實(shí)時(shí)控制,只要采用一塊單片機(jī),加上簡(jiǎn)單的接口與驅(qū)動(dòng)放大電路,即可實(shí)現(xiàn),具有成本低,可靠性高的特點(diǎn)。1.2 課題設(shè)計(jì)內(nèi)容本課題對(duì)基于單片機(jī)的交通燈控制系統(tǒng)進(jìn)行設(shè)計(jì)。以MCS-51系列單片機(jī)為控制核心,設(shè)計(jì)并制作交通燈控制系統(tǒng),用于十字路口的車(chē)輛及行人的交通管理。東西南北四個(gè)路口具有左拐、右

12、拐、直行及行人4種通行指示燈,并分別用計(jì)時(shí)器顯示路口通行轉(zhuǎn)換剩余時(shí)間,在特種車(chē)輛如119、120通過(guò)路口時(shí),系統(tǒng)可自動(dòng)轉(zhuǎn)為特種車(chē)輛放行,其他車(chē)輛禁止通行狀態(tài)。設(shè)計(jì)交通燈控制系統(tǒng)硬件電路與軟件控制程序,對(duì)硬件電路與軟件程序分別進(jìn)行調(diào)試,并進(jìn)行軟硬件聯(lián)調(diào),要求獲得調(diào)試成功的實(shí)物。2 系統(tǒng)設(shè)計(jì)2.1 設(shè)計(jì)方案論證 根據(jù)設(shè)計(jì)內(nèi)容要求,提出了如下三種方案:方案一:采用AT89S52單片機(jī)作為控制核心,采用四組高亮紅綠雙色二極管作為東西南北四個(gè)路口的通行指示燈;采用四組3位LED數(shù)碼管作為四個(gè)路口的通行倒計(jì)時(shí)顯示器,LED顯示采用動(dòng)態(tài)掃描方式,以節(jié)省端口數(shù)。按以上系統(tǒng)構(gòu)架設(shè)計(jì),單片機(jī)端口資源剛好滿足要求。

13、方案一設(shè)計(jì)框圖如圖-1所示。圖2-1 方案一:采用LED動(dòng)態(tài)掃描的交通燈控制系統(tǒng)方案二:采用AT89C2051單片機(jī)作為控制器,通行倒計(jì)時(shí)顯示采用16×16點(diǎn)陣LED發(fā)光管,左拐、右拐、直行及行人4種通行指示也采用16×16點(diǎn)陣雙色LED發(fā)光管。方案二設(shè)計(jì)框圖如圖2-2所示,LED點(diǎn)陣的列驅(qū)動(dòng)采用74LS595,用串行端口擴(kuò)展實(shí)現(xiàn),行驅(qū)動(dòng)采用1/16譯碼器74LS154動(dòng)態(tài)掃描,譯碼器74LS154生成16條行選通信號(hào)線,再經(jīng)過(guò)驅(qū)動(dòng)器驅(qū)動(dòng)對(duì)應(yīng)的行線。每條行線上需要較大的驅(qū)動(dòng)電流,應(yīng)選用大功率三極管作為驅(qū)動(dòng)管。圖2-2 方案二:采用16×16點(diǎn)陣LED發(fā)光管設(shè)計(jì)的交

14、通燈控制系統(tǒng)方案三:采用AT89C2051單片機(jī)作為控制器,通行倒計(jì)時(shí)及左拐、右拐、直行、行人通行指示采用單塊LCD液晶點(diǎn)陣顯示器。三種方案的特點(diǎn)比較如下:方案一具有電路簡(jiǎn)單,設(shè)計(jì)方便,顯示亮度高,耗電較少,可靠性高等特點(diǎn);方案二的圖案顯示逼真,單片機(jī)占用端口資源少,缺點(diǎn)是需要大量的硬件,電路復(fù)雜,耗電量大,不太適合于模型制作;方案三設(shè)計(jì)占用單片機(jī)的端口最少,硬件也少,耗電也最少;雖然顯示圖案也很精美,但由于亮度太暗,晚上還得開(kāi)背光燈,不夠?qū)嵱谩?梢?jiàn)方案一優(yōu)于其他兩種方案,因此本設(shè)計(jì)選用方案一:采用LED動(dòng)態(tài)掃描的方案進(jìn)行設(shè)計(jì)。2. 系統(tǒng)硬件設(shè)計(jì)采用LED動(dòng)態(tài)掃描的交通燈控制系統(tǒng)電路原理圖如圖

15、2-3所示。(為排版起見(jiàn),該圖放在下一頁(yè))。系統(tǒng)由控制模塊、通行燈顯示模塊、時(shí)間顯示模塊、電源模塊四部分組成。2.2.1 控制模塊 控制模塊電路如圖2-4所示。主控制器采用AT89S52。AT89S52是ATMEL公司生產(chǎn)的一款性能穩(wěn)定的8位單片機(jī),具有1個(gè)8KB的Flash程序存儲(chǔ)器,1個(gè)512字節(jié)的RAM,3個(gè)16的定時(shí)/計(jì)數(shù)器,4個(gè)8位的雙向可位尋址I/O端口, 1個(gè)串行口,6個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)。圖2-4 控制模塊原理圖AT89S52的P1口用于控制南北通行燈,P2口用于控制東西通行燈,P0口用于3位LED顯示器的段碼控制,P3.0P3.2口用于3位LED顯示器的位碼控制,手動(dòng)/自

16、動(dòng)轉(zhuǎn)換采用P3.7扳鍵。/VPP接5V電源端。晶振及復(fù)位按典型電路設(shè)計(jì),元器件參數(shù)如圖2-4中所示。晶振頻率為12MHz。2.2.2 通行燈顯示模塊通行燈顯示模塊如圖2-5所示。通行燈指示采用高亮度共陰紅綠雙色發(fā)光二極管,左拐、直行、右拐及行人各一個(gè)。雙色發(fā)光二極管的共陰極通過(guò)電阻接地,陽(yáng)極接P1口或P2口(南北為P1口,東西為P2口),經(jīng)74HC244控制。當(dāng)發(fā)光電流為6mA時(shí),限流電阻按公式R=(5-1.8)/0.006計(jì)算,應(yīng)為510。由于通行時(shí)南北雙向指示牌相同,東西雙向指示牌相同,因此每個(gè)端口應(yīng)具有12mA的吸收電流能力,在單片機(jī)的輸出口接驅(qū)動(dòng)電路74HC244,以保護(hù)單片機(jī)的輸出端

17、口。圖2-5 通行燈輸出顯示模塊2.2.3 時(shí)間顯示模塊通行剩余時(shí)間顯示模塊如圖2-6所示(以北路口為例)。路口通行剩余時(shí)間采用高亮紅色7段共陽(yáng)LED發(fā)光數(shù)碼管顯示,采用共陽(yáng)數(shù)碼管,如用單片機(jī)吸收電流驅(qū)動(dòng),列掃描驅(qū)動(dòng)使用三級(jí)管,按每段6mA電流算,全顯示字型“8”時(shí),每個(gè)數(shù)碼管需6mA×8=48mA。由于時(shí)間顯示每個(gè)路口相同,4組需192mA,因此設(shè)計(jì)中采用功率三極管S9012驅(qū)動(dòng)。由于單片機(jī)每個(gè)段碼輸出口需吸收48mA電流,因此在電路設(shè)計(jì)中也使用了驅(qū)動(dòng)集成塊74HC244。2.2.4 電源電路電源電路如圖2-7所示。整個(gè)系統(tǒng)采用的電源電壓只需+5V電壓,將交流電經(jīng)變壓器變換為15V

18、交流電,再用整流橋得到13.5V左右的直流電,采用不可調(diào)的3端穩(wěn)壓器件LM7805將電源穩(wěn)定在5V直流輸出。圖2-6 時(shí)間顯示模塊電路圖2-7 電源電路2.2.5 硬件電路中器件選擇A. AT89S52單片機(jī) AT89系列單片機(jī)是ATMEL公司的8位FLASH單片機(jī)。這個(gè)系列單片機(jī)最吸引人的特點(diǎn)就是在片內(nèi)含有FLASH存儲(chǔ)器,不需要再外擴(kuò)存儲(chǔ)器,與80C51插座兼容,由于這些優(yōu)點(diǎn),使它有著十分廣泛的用途,特別是在便攜式和需要特殊信息保存的儀器和系統(tǒng)中顯得更為有用。89系列單片機(jī)典型型號(hào)有AT89C51,AT89LV51,AT89C52,AT89LV52,AT89C2051, AT89S52,A

19、T89C1051, AT89S51和AT89S8252。本設(shè)計(jì)選用AT89S52。它內(nèi)部具有1個(gè)8KB的Flash的程序存儲(chǔ)器,1個(gè)512字節(jié)的RAM,4個(gè)8位的雙向可位尋址I/O端口,3個(gè)16的定時(shí)/計(jì)數(shù)器、1個(gè)串行口、6個(gè)二級(jí)中斷源和兩個(gè)中斷優(yōu)先級(jí)。引腳如圖2-8所示。圖2-8 AT89S52引腳按功能,引腳大致分為4部分:a)I/O口線P0口:8位、漏級(jí)開(kāi)路的雙向I/O口。當(dāng)使用片外存儲(chǔ)器及外擴(kuò)I/O口時(shí),P0口作為低字節(jié)地址/數(shù)據(jù)復(fù)用線。在編程時(shí),P0口用于接受指令代碼字節(jié);在程序校驗(yàn)時(shí),P0口可輸出指令字節(jié)(這時(shí)需要加外部上拉電阻)。P1口:8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。P

20、1口是為用戶準(zhǔn)備的I/O雙向口。在編程和校驗(yàn)時(shí),可用做輸入低8位地址。用做輸入時(shí),應(yīng)先將輸出鎖存器置1。P1口可驅(qū)動(dòng)4個(gè)TTL負(fù)載。P2口:8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。P2口也可做普通I/O口使用。用做輸入時(shí),應(yīng)先將輸出鎖存器置1。P2口可驅(qū)動(dòng)4個(gè)TTL負(fù)載。P3口:8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。P3口可作為普通I/O口,用做輸入時(shí),將輸出鎖存器置1。在編程/校驗(yàn)時(shí),P3口接受某些控制信號(hào)。b)控制信號(hào)線RST:復(fù)位輸入信號(hào),高電平有效。在振蕩器穩(wěn)定工作時(shí),在RST腳施加兩個(gè)機(jī)器周期(即24個(gè)晶振周期)以上的高電平,將器件復(fù)位。/VPP:外部程序存儲(chǔ)器訪問(wèn)允許信號(hào)。當(dāng)引腳

21、接地時(shí),僅使用64KB的片外程序存儲(chǔ)器,CPU從外部0000HFFFFH的地址空間取指令;當(dāng)引腳接VCC時(shí),CPU從片內(nèi)0000H地址開(kāi)始取指令,當(dāng)PC值超過(guò)1FFFH時(shí),自動(dòng)轉(zhuǎn)到外存儲(chǔ)器2000HFFFFH地址空間執(zhí)行程序。:片外程序存儲(chǔ)器讀選通信號(hào),低電平有效。ALE/:低字節(jié)地址鎖存信號(hào)。c)電源線: VCC為電源電壓輸入引腳,GND為地線。d)外部晶振引線:XTAL1:片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生線路的輸入端。使用片內(nèi)振蕩器時(shí),連接外部石英晶體和微調(diào)電容。XTAL2:片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使用片內(nèi)振蕩器時(shí),外接石英晶體和微調(diào)電容。B.74HC244簡(jiǎn)單輸出接口擴(kuò)展通常使用的

22、典型芯片為74HC244, 由該芯片可構(gòu)成三態(tài)數(shù)據(jù)緩沖器。74HC244芯片的引腳排列與內(nèi)部結(jié)構(gòu)分別如圖2-9(a)(b)。(a)引腳排列 (b)內(nèi)部結(jié)構(gòu)圖2-974HC24474HC244芯片內(nèi)部共有兩組四位三態(tài)緩沖器, 使用時(shí)可分別以1和2作為它們的選通工作信號(hào)。1腳為低電平時(shí)只有4個(gè)緩沖器工作,輸入2,4,6,8對(duì)應(yīng)輸出18,16,14,12;1為高電平時(shí)這4個(gè)緩沖器為高阻。19引腳為低電平另外四個(gè)緩沖器工作,同樣,輸入11,13,15,17,對(duì)應(yīng)輸出9,7,5,3;19為高電平時(shí)這四個(gè)緩沖器為高阻。C. LM 7805LM7805的外形如圖2-10所示。LM7805三端集成穩(wěn)壓電源內(nèi)部

23、由基準(zhǔn)電壓回路、恒流源、過(guò)流保護(hù)、過(guò)壓保護(hù)和短路保護(hù)回路等8部分組成,具有低功耗,高效率,紋波系數(shù)小,輸出電壓穩(wěn)定等優(yōu)點(diǎn)。圖2-10 LM7805的外形圖D.七段LED數(shù)碼管7段數(shù)碼管是一種常用的顯示器件,其外觀與內(nèi)部電路連接見(jiàn)圖2-11。它使用7個(gè)筆畫(huà)顯示09共10個(gè)數(shù)字,加上一個(gè)小數(shù)點(diǎn)共8個(gè)顯示段,每一個(gè)筆畫(huà)都是由發(fā)光二級(jí)管組成的。LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽(yáng)兩類,圖2-11 (b)是共陽(yáng)極數(shù)碼管的內(nèi)部電路,將八只LED的陽(yáng)極連在一起,其中ag為7個(gè)筆畫(huà)的驅(qū)動(dòng)端;dp為小數(shù)點(diǎn)驅(qū)動(dòng)端;COM為公共引腳。 (a)外觀 (b)內(nèi)部電路連接圖2-11 LED數(shù)碼管09共10個(gè)字符

24、的字形碼如表2-1所示。E.雙色發(fā)光二極管雙色發(fā)光二極管是在一個(gè)封裝結(jié)構(gòu)內(nèi)設(shè)置兩只不同單色的發(fā)光二極管。共陰紅綠雙色發(fā)光電氣符號(hào)圖與內(nèi)部電路連接如圖2-12所示。有3根引出線,圓形和長(zhǎng)方形兩種封裝。其中第一只發(fā)光二極管的負(fù)(或正極)與第二只發(fā)光二極管的負(fù)(或正極)極相互連接后再向外引出。表2-1 LED數(shù)碼管顯示字符的字形碼字形P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0字形編碼dpgfedcba共陽(yáng)共陰011000000C0H3FH111111001F9H06H210100100A4H5BH310110000B0H4FH41001100199H66H51001001092

25、H6DH61000001082H7DH711111000F8H07H81000000080H7FH91001000090H6FH(a)外形(b)共陰雙色發(fā)光二極管內(nèi)部電路連接圖2-12 雙色發(fā)光二極管發(fā)光雙色二極管的判別與檢測(cè)方法:將萬(wàn)用表打在電阻檔,用萬(wàn)用表黑表筆接在雙色發(fā)光二極管中間的負(fù)極上,紅表筆接在雙色發(fā)光二極管的正極上,每次都亮,該雙色發(fā)光二極管是共陰極的,并且是好的。F.三極管90129012為一PNP型的三極管,外形與引腳圖如圖2-13所示。其中1腳為發(fā)射極,2腳為基極,3腳為集電極。G.整流橋整流橋的外形如圖2-14所示。整流橋的是作用將交流電轉(zhuǎn)換成直流電,本次設(shè)計(jì)電源電路中選

26、用1A,220V的整流橋。圖2-13 9012外形圖及引腳圖 圖2-14整流橋的外形如圖2.3 系統(tǒng)軟件的設(shè)計(jì)交通燈控制系統(tǒng)軟件分為主程序、定時(shí)中斷程序與特種車(chē)實(shí)時(shí)響應(yīng)程序三部分。2.3.1 主程序主程序主要負(fù)責(zé)總體程序管理功能,包括初始化部分與人機(jī)交互設(shè)定部分。由于采用動(dòng)態(tài)掃描方式顯示時(shí)間,因此主程序大部分時(shí)間要調(diào)用掃描顯示程序。主程序流程圖如圖2-15所示。圖2-15主程序流程圖初始化部分主要完成內(nèi)存規(guī)劃,定時(shí)器的工作模式、中斷方式等的設(shè)定。由于子程序調(diào)用較多,因此初始化時(shí)堆棧指針設(shè)于80H處。定時(shí)器T0、T1設(shè)為16位定時(shí)器模式,定時(shí)時(shí)間為50mS,T0為秒計(jì)時(shí)用,T1為通行結(jié)束閃爍用。

27、2.3.2 定時(shí)中斷服務(wù)程序定時(shí)中斷服務(wù)程序主要用于車(chē)輛與行人的通行指示,按照通行規(guī)則,紅綠燈控制轉(zhuǎn)換邏輯表如表2-2所示。通行規(guī)則如下:A.車(chē)輛南北直行、各路右拐,南北向行人通行。南北向通行時(shí)間為1min(60S),各路右拐比直行滯后10S開(kāi)放。B.車(chē)輛南北向左拐、各路右拐,行人禁行。通行時(shí)間為1min(60S)。C.車(chē)輛東西直行、各路右拐,東西向行人通行。東西向通行時(shí)間為1min(60S),各路右拐比直行滯后10S開(kāi)放。D.車(chē)輛東西向左拐、各路右拐,行人禁行。通行時(shí)間為1min(60S)。表2-2 路口通行方式控制碼數(shù)據(jù)表 南 北 方 向端口控制功能120-110S110-70S70-60

28、S60-10S10-0SP1.7左拐紅1(亮)1(亮)1(亮)0(暗)0(暗)P1.6左拐綠0(暗)0(暗)0(暗)1(亮)1/0(提示)P1.5直行紅0(暗)0(暗)0(暗)1(亮)1(亮)P1.4直行綠1(亮)1(亮)1/0(提示)0(暗)0(暗)P1.3右拐紅1(亮)0(暗)0(暗)0(暗)0(暗)P1.2右拐綠0(暗)1(亮)1(亮)1(亮)1/0(提示)P1.1行人紅0(暗)0(暗)0(暗)1(亮)1(亮)P1.0行人綠1(亮)1(亮)1/0(提示)0(暗)0(暗)路口控制字99H95H95H/84H66H66H/22H 東 西 方向 P2.7左拐紅1(亮)1(亮)1(亮)1(亮)1

29、(亮)P2.6左拐綠0(暗)0(暗)0(暗)0(暗)0(暗)P2.5直行紅1(亮)1(亮)1(亮)1(亮)1(亮)P2.4直行綠0(暗)0(暗)0(暗)0(暗)0(暗)P2.3右拐紅1(亮)0(暗)0(暗)0(暗)0(暗)P2.2右拐綠0(暗)1(亮)1(亮)1(亮)1/0(提示)P2.1行人紅1(亮)1(亮)1(亮)1(亮)1(亮)P2.0行人綠0(暗)0(暗)0(暗)0(暗)0(暗)路口控制字AAHA6HA6HA6HA6H/ A2H交通燈的4種通行規(guī)則,是以給控制紅綠燈端口送控制碼的方式實(shí)現(xiàn)的。它的原理是,將按不同規(guī)則通行時(shí)的各路口的紅綠燈亮滅情況轉(zhuǎn)換為單片機(jī)端口控制碼。紅綠燈指示功能通過(guò)

30、T0定時(shí)中斷服務(wù)程序?qū)崿F(xiàn)。定時(shí)器T0定時(shí)溢出中斷周期設(shè)為50ms,中斷累計(jì)20次(即1S)時(shí)對(duì)120S倒計(jì)時(shí)單元減一操作。設(shè)計(jì)中將4種通行規(guī)則分成幾種不同的亮燈方式,通過(guò)查詢秒倒計(jì)時(shí)單元的數(shù)據(jù),實(shí)現(xiàn)在不同的時(shí)間段給控制端口送不同的控制數(shù)據(jù)碼。控制碼分為5個(gè)時(shí)間段:120110S、11070S、7060S、6010S、100S。交通管理定時(shí)功能程序流程圖如圖2-16所示。圖2-16 交通管理定時(shí)功能程序2.3.3 特種車(chē)中斷服務(wù)程序?qū)粹oS3按下,給INT1引腳輸入低電平信號(hào)來(lái)模擬特種車(chē)通過(guò)信號(hào),此時(shí)外部中斷1被觸發(fā),中斷處理流程如圖2-17所示。圖2-17特種車(chē)中斷服務(wù)程序流程圖總的程序清單見(jiàn)

31、附錄三2.3.4 算法分析A.定時(shí)器/計(jì)數(shù)器本設(shè)計(jì)涉及到120110S、11070S、7060S、6010S、100S五段計(jì)時(shí),首先須將它們轉(zhuǎn)為16進(jìn)制代碼。 120=7×16+8=78H 110=6×16+14=6EH 70=4×16+6=46H 60=3×16+12=3CH 10=0×16+10=0AHB.定時(shí)時(shí)間初值與TMOD的設(shè)置T0、T1為16位定時(shí)器,由于定時(shí)時(shí)間大于8192S,應(yīng)選用工作方式一。由于晶振頻率為12MHz,TCY=1S,故有 T=(65536-X)TCY=(65536-X)×1s =50ms計(jì)算初值 X=1

32、5536=3CB0H即TH0=3CH ,TL0=0B0H。TMOD的格式如圖2-18所示。D7D6D5D4D3D2D1D0GATEC/M1M0GATEC/M1M0圖2-18 TMOD的格式TMOD各位的內(nèi)容確定如下:由于定時(shí)器/計(jì)數(shù)器0設(shè)為定時(shí)器,選用工作方式一,所以C/(TMOD.2)=0,M1(TMOD.1)=0,M0 (TMOD.0)=1,GATE(TMOD.3)=0;定時(shí)器/計(jì)數(shù)器1沒(méi)有使用,相應(yīng)的D7D4為隨意狀態(tài)“X”。若取“X”為0,則(TMOD)=00000001B=01HC.中斷系統(tǒng)IE的取值IE的格式如圖2-19所示。D7D6D5D4D3D2D1D0EA-ET2ESET1E

33、X1ET0EX0圖2-19IE的格式IE每一位都由軟件置1或清零。本設(shè)計(jì)中CPU允許中斷即EA=1,定時(shí)器/計(jì)數(shù)器0中斷允許位ET0及外部中斷0中斷允許位EX0可申請(qǐng)中斷,即ET0=1,EX0=1,其余不允許中斷,均設(shè)為0,所以IE=10000011H=83H3 系統(tǒng)調(diào)試根據(jù)前述第2大節(jié)中硬件和軟件設(shè)計(jì),制作了基于單片機(jī)的交通燈控制系統(tǒng)樣機(jī)實(shí)物。對(duì)樣機(jī)的硬件和軟件分別進(jìn)行了調(diào)試,最后進(jìn)行了軟件、硬件聯(lián)調(diào)。調(diào)試成功的實(shí)物照片如圖3-1所示。圖3-1 調(diào)試成功的單片機(jī)控制交通燈系統(tǒng)實(shí)物照片調(diào)試過(guò)程中遇到了不少問(wèn)題,并已將其逐一解決。最終得到了調(diào)試成功的交通燈系統(tǒng),可以完成本設(shè)計(jì)1.2節(jié)中設(shè)計(jì)內(nèi)容的

34、要求。3.1 硬件調(diào)試3.1.1 靜態(tài)檢查根據(jù)硬件電路圖核對(duì)了元器件的型號(hào)、極性,安裝是否正確,檢查硬件電路連線是否與電路原理圖一致,檢查電路元器件是否都已經(jīng)連接好,用萬(wàn)用表一一測(cè)試。3.1.2 通電檢查首先調(diào)試電源部分。整個(gè)電路只需要+5V的電壓,接上電源,將220V交流電通入,測(cè)試變壓器的輸出端,整流橋輸出,LM7805的輸出電壓是否和理論計(jì)算值一致,再用示波器檢測(cè)單片機(jī)的復(fù)位和晶振電路是否有復(fù)位信號(hào)和振蕩信號(hào)。3.2軟件調(diào)試及軟硬件聯(lián)調(diào)對(duì)軟件先用仿真器進(jìn)行了調(diào)試。用仿真器運(yùn)行正常后,再用燒寫(xiě)器將程序燒到AT89S52單片機(jī)中,進(jìn)行了脫機(jī)調(diào)試。3.2.1仿真器選擇單片機(jī)仿真器有很多型號(hào),本

35、次設(shè)計(jì)采用南京電子有限公司生產(chǎn)的偉福系列仿真器H51/S。仿真頭類型采用POD-H8X5X。3.2.2仿真過(guò)程A建立程序選擇菜單文件| 新建文件出現(xiàn)一個(gè)文件名為NONAME1 的源程序窗口,如圖3-2所示,輸入程序段(此處以P18頁(yè)時(shí)間顯示程序段為例)。圖3-2建立程序窗口將文件存為擴(kuò)展名為.ASM的文件進(jìn)行保存。B建立項(xiàng)目建立項(xiàng)目分如下三步:a) 加入模塊文件。(將上述A中建立的ASM文件加入)b) 加入包含文件。(若無(wú)包含文件,此步加以取消)c) 保存項(xiàng)目。C仿真器的設(shè)置選擇菜單設(shè)置| 仿真器設(shè)置功能或按“仿真器設(shè)置”快捷圖標(biāo)打開(kāi)“仿真器設(shè)置”對(duì)話框,如圖3-3所示。在“仿真器”欄中,選擇

36、仿真器類型和配置的仿真頭以及所要仿真的單片機(jī)。在“語(yǔ)言”欄中,“編譯器選擇”選擇為“偉福匯編器”。編譯項(xiàng)目。選擇菜單項(xiàng)目| 編譯功能或按編譯快捷圖標(biāo),編譯項(xiàng)目。在編譯過(guò)程中,如果有錯(cuò)可以在信息窗口中顯示出來(lái),雙擊錯(cuò)誤信息,可以在源程序中定位所在行。糾正錯(cuò)誤后,再次編譯直到?jīng)]有錯(cuò)誤。在編譯之前,軟件會(huì)自動(dòng)將項(xiàng)目和程序存盤(pán)。在編譯沒(méi)有錯(cuò)誤后,就可調(diào)試程序了。圖3-3 “仿真器設(shè)置”對(duì)話框3.2.3通行燈輸出調(diào)試對(duì)于通行燈輸出程序的調(diào)試,首先看左拐燈、直行燈、右拐燈、行人燈是否能正常工作。編制了以下測(cè)試燈亮滅的程序: ORG 0000H START: MOV A,#0AAH;讓東西南北四個(gè)路口的四個(gè)

37、紅燈全亮 MOV P1,A MOV P2,A ACALL DELAY ;延時(shí)一段時(shí)間 MOV A,#55H ;讓東西南北四個(gè)路口的綠燈全亮 MOV P1,A MOV P2,A ACALL DELAY ;延時(shí)一段時(shí)間 SJMP START; 到START處循環(huán)以上操作 DELAY: MOV R7,#01H ;延時(shí)子程序 MOV R6,#81H DL1: NOP NOP NOP DJNZ R6,DL1 DJNZ R7,DL1 RET將上述程序輸入電腦,經(jīng)仿真器傳輸?shù)较到y(tǒng)運(yùn)行后,發(fā)現(xiàn)有一紅燈不亮,而其他指示燈都按指令運(yùn)行出現(xiàn)正確的結(jié)果。用萬(wàn)用表仔細(xì)檢測(cè),發(fā)現(xiàn)該燈的陽(yáng)極被誤接地了,沒(méi)有接到單片機(jī)的并行

38、口上。經(jīng)修改,每個(gè)指示燈均能正確的顯示了,至此,說(shuō)明通行燈的接線完全正確。判斷出通行燈接線正確后,對(duì)于整個(gè)電路的通行控制,根據(jù)邏輯狀態(tài)表2-2編制了相應(yīng)的程序(程序段見(jiàn)附錄2中的T0中斷服務(wù)程序)多次、反復(fù)調(diào)試,直到邏輯關(guān)系正確。調(diào)試時(shí)南北方向、東西方向指示燈同時(shí)進(jìn)行。3.2.4時(shí)間顯示模塊調(diào)試對(duì)于時(shí)間模塊,首先看顯示的數(shù)字是否正常,顯示的亮度是否合適。對(duì)于圖2-3所示的電路,盡管LED數(shù)碼管為共陽(yáng)極,但是各位的位選為P3.0, P3.1 ,P3.2經(jīng)PNP型晶體管9012后提供,P3.i(i=0,1,2)必須提供低電平才能點(diǎn)亮相應(yīng)的顯示器,須輸出CLR P3.i指令(i=0,1,2)。先編制

39、了LED靜態(tài)顯示的程序,測(cè)試P3.i引腳上的LED是否可以正常顯示,相應(yīng)程序如下:ORG 0000H START: MOV A,#01H MOV DPTR,#TAB ;取段碼表地址 MOVC A,A+DPTR ;查顯示數(shù)據(jù)對(duì)應(yīng)段碼 MOV P0,A CLR P3.0 ; 開(kāi)啟P3.0口 SETB P3.1 ; 關(guān)閉P3.1口 SETB P3.2 ; 關(guān)閉P3.2口 SJMP START TAB: DB 0C0H,0F9H,0A4H,0B0H,99H, END運(yùn)行后P3.0引腳上接的顯示器顯示為1,同理可分別測(cè)試P3.1 ,P3.2引腳上的LED顯示器是否可以正常顯示。經(jīng)檢測(cè)各位LED可以正常顯

40、示,但是發(fā)光的亮度偏暗,有些模糊,這說(shuō)明電路連接沒(méi)有問(wèn)題,但選用的電阻過(guò)大了,以至于電流很小,顯示器不太亮,在保證9012正常工作的情況下,將電阻從47K調(diào)整為10K,顯示亮度合適,這部分調(diào)試成功。將附錄2中的顯示子程序進(jìn)行了調(diào)試,四個(gè)路口的三個(gè)數(shù)碼管均可以動(dòng)態(tài)顯示。至此,顯示模塊調(diào)試成功。整個(gè)程序設(shè)計(jì)中采用了兩種倒計(jì)時(shí)顯示方式,120S倒計(jì)時(shí)適用于車(chē)流量較大的大城市,60S倒計(jì)時(shí)可用于中小型城市,兩種倒計(jì)時(shí)由P3.7上的開(kāi)關(guān)進(jìn)行轉(zhuǎn)換。3.2.5特種車(chē)中斷程序調(diào)試將附錄3中的119、120特種車(chē)程序進(jìn)行調(diào)試,所有綠燈自動(dòng)關(guān)閉,紅燈全亮。3.2.6脫機(jī)調(diào)試 用仿真器與硬件電路連接調(diào)試成功后,又將

41、附錄3的程序燒寫(xiě)到AT89S52中去,接上電源,發(fā)現(xiàn)LED不能正常顯示,而通行燈輸出一切正常。經(jīng)檢查AT89S52的P0口需要加外部上拉電阻,在仿真器上不存在此問(wèn)題,因?yàn)榉抡嫫鞯腜0口有外部上拉電阻。接510的上拉電阻,接通電源交通燈與倒計(jì)時(shí)顯示器可以正常運(yùn)行,至此調(diào)試工作全部完成。3.2.7實(shí)驗(yàn)結(jié)果對(duì)實(shí)驗(yàn)板通電后,顯示器從120S開(kāi)始倒計(jì)時(shí),每秒鐘自動(dòng)減一,四個(gè)路口的紅綠燈按通行規(guī)則正確顯示。顯示圖片如圖3-1所示。將S1開(kāi)關(guān)打在合上的位置,顯示器從60S開(kāi)始倒計(jì)時(shí),每秒鐘自動(dòng)減1,四個(gè)路口的紅綠燈按通行規(guī)則正確顯示。按下S3按鈕,所有綠燈全部關(guān)閉,紅燈全亮,呈現(xiàn)特種車(chē)輛放行狀態(tài)。實(shí)驗(yàn)結(jié)果表

42、明,本次設(shè)計(jì)并制作的交通燈可以很好地滿足設(shè)計(jì)任務(wù)書(shū)的要求。4 結(jié) 束 語(yǔ)拿到課題后,開(kāi)始著手設(shè)計(jì)。查閱了大量相關(guān)資料,結(jié)合畢業(yè)設(shè)計(jì)任務(wù)書(shū)中的指標(biāo)要求,進(jìn)行了方案論證,確定了設(shè)計(jì)方案:將系統(tǒng)分為控制模塊、通行燈顯示模塊、時(shí)間顯示模塊、電源模塊四部分。設(shè)計(jì)方案與元器件參數(shù)確定后,就開(kāi)始采購(gòu)元器件,然后進(jìn)行硬件制作。在制作硬件的過(guò)程中,每制作一步,都要檢查這一步的正確性,可靠性。最后硬件制作完畢后,先進(jìn)行了靜態(tài)調(diào)試,根據(jù)硬件電路圖核對(duì)了元器件的型號(hào),極性,安裝是否正確,檢查硬件電路連線是否與電路圖一致。然后是通電調(diào)試,先調(diào)試電源部分。將220V交流電通入,測(cè)試變壓器的輸出端整流橋輸出,LM7805的

43、輸出電壓是否和理論計(jì)算值一致。再調(diào)試單片機(jī)的復(fù)位和晶振電路。硬件電路制作完畢后,采用仿真器進(jìn)行了軟件調(diào)試,這個(gè)過(guò)程相當(dāng)復(fù)雜艱難,出現(xiàn)了很多問(wèn)題,例如輸出燈不按規(guī)律顯示,倒計(jì)時(shí)數(shù)碼管顯示不正確等。每一個(gè)問(wèn)題都相當(dāng)棘手,遇到這些問(wèn)題后,首先檢測(cè)硬件電路,對(duì)硬件電路排查完畢并確定無(wú)誤后,對(duì)軟件進(jìn)行修改及再調(diào)試。問(wèn)題一一被解決后最后得出所需軟件部分。這個(gè)過(guò)程讓我學(xué)到很多東西:首先必須具有的是耐心和細(xì)心,問(wèn)題出現(xiàn)后,必須分析問(wèn)題,找出可能出現(xiàn)此種問(wèn)題的原因,然后進(jìn)行一一檢測(cè),進(jìn)行多次修改后才得到所需結(jié)果。最后是軟硬件聯(lián)調(diào),將程序燒入到AT89S52,進(jìn)行調(diào)試直到成功?;趩纹瑱C(jī)的交通燈控制系統(tǒng)的PCB板

44、已進(jìn)行了設(shè)計(jì),但是由于時(shí)間緊迫,布線還不十分合理,需進(jìn)一步調(diào)整,初步設(shè)計(jì)的PCB圖見(jiàn)附錄2。通過(guò)本次設(shè)計(jì),本人的知識(shí)領(lǐng)域得到進(jìn)一步擴(kuò)展,專業(yè)技能得到進(jìn)一步提高,同時(shí)提高了分析和解決實(shí)際問(wèn)題的綜合能力。另外,也培養(yǎng)了自己嚴(yán)肅認(rèn)真的科學(xué)態(tài)度和嚴(yán)謹(jǐn)求實(shí)的作風(fēng)。由于本人水平有限,本次設(shè)計(jì)還存在一些不足之處,請(qǐng)?jiān)u閱與答辯的各位老師批評(píng)指正。 參考文獻(xiàn)1王幸之.AT89系列單片機(jī)原理與接口技術(shù)M .北京:北京航空航天大學(xué)出版社,2004.2李忠國(guó).單片機(jī)應(yīng)用技能實(shí)訓(xùn)M .北京:人民郵電出版社,2006.3先鋒工作室.單片機(jī)程序設(shè)計(jì)實(shí)例M .北京:清華大學(xué)出版社,2003.4 李朝青.單片機(jī)原理及接口技術(shù)(

45、修訂版)M .北京:北京航空航天大學(xué)出版社,1998.5 余永權(quán).世界流行單片機(jī)技術(shù)手冊(cè)美國(guó)系列M .北京:北京航空航天大學(xué)出版社,2004. 6 李廣弟.單片機(jī)基礎(chǔ)M .北京:北京航空航天大學(xué)出版社,1992.7 張毅剛.單片機(jī)原理及接口技術(shù)M .哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990.8 潘永雄.電子線路CAD實(shí)用教程M .西安:西安電子科技大學(xué)出版社,2004.9 何立民.單片機(jī)應(yīng)用技術(shù)大全M .北京:北京航空航天大學(xué)出版社, 1994.10 樓然苗.單片機(jī)課程設(shè)計(jì)指導(dǎo)M .北京:北京航空航天大學(xué)出版社,2007.11 譚浩強(qiáng).單片機(jī)課程設(shè)計(jì)M .北京:清華大學(xué)出版社,1989.致 謝本

46、設(shè)計(jì)是在導(dǎo)師張?zhí)m紅副教授的親切關(guān)懷和悉心指導(dǎo)下完成。在設(shè)計(jì)的整個(gè)過(guò)程中,張老師不斷給我指明方向,指導(dǎo)我抓住問(wèn)題的關(guān)鍵。張老師對(duì)我言傳身教、關(guān)心備至,正是她孜孜不倦的教誨與細(xì)致入微的關(guān)懷激勵(lì)著我完成了本次畢業(yè)設(shè)計(jì),學(xué)生無(wú)限感激,將會(huì)永遠(yuǎn)銘記在心,在此,謹(jǐn)向張老師表示衷心的感謝。導(dǎo)師敏銳的思維、開(kāi)闊的視野、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、豐富的科學(xué)經(jīng)驗(yàn)、淵博的理論知識(shí)、一絲不茍的學(xué)術(shù)作風(fēng)、正直寬厚的為人品格都給我留下了深刻的印象,使我終生受益。在完成設(shè)計(jì)期間,還有許多老師給予了我極大的幫助,PCB設(shè)計(jì)方面,周云龍老師給予了熱情的指導(dǎo),在此向他們表示衷心的感謝!特別感謝王翠、鄧興冬、沈佳、陳逸等同學(xué)給予我在學(xué)習(xí)上的大力支持與無(wú)私幫助。十分榮幸我們有一個(gè)融洽的集體,感謝電信學(xué)院2004屆BD電氣042班的全體同學(xué)的幫助和勉勵(lì),同窗之誼和手足之情,我將終生難忘!最后我還要感謝培養(yǎng)我長(zhǎng)大含辛茹苦的父母,正是他們?cè)谖镔|(zhì)和精神上的支持和幫助,我得以順利完成學(xué)業(yè)。謝謝你們!附 錄附錄1 基于單片機(jī)的交通燈控制系統(tǒng)電路原理圖附錄2 基于單片機(jī)的交通燈控制系統(tǒng)PCB圖附錄3 基于單片機(jī)的交通燈控制系統(tǒng)程序清單附錄3 基于單片機(jī)的交通燈控制系統(tǒng)程序清單;*;交通燈控制程序;*;以下是初始化部分TIME EQU 50H ;秒記數(shù)用TIMES

溫馨提示

  • 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)論