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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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í)間,在特種車輛如119、120通過路口時(shí),系統(tǒng)可自動(dòng)轉(zhuǎn)為特種車輛放行,其他車輛禁止通行狀態(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ù)書所要求的功能。關(guān)鍵詞: 交通燈;單片機(jī);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í)

3、間顯示模塊52.2.4電源電路模塊52.2.5硬件電路中器件選擇62.3 系統(tǒng)軟件的設(shè)計(jì)112.3.1主程序112.3.2定時(shí)中斷服務(wù)程序112.3.3特種車中斷服務(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)153.2.1仿真器選擇153.2.2仿真過程163.2.3通行燈輸出調(diào)試173.2.4時(shí)間顯示模塊調(diào)試183.2.5特種車中斷程序調(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ī)

4、的交通燈控制系統(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ì)日本東京268個(gè)主要交叉路口的調(diào)查估計(jì)表明:每年在交叉路口的時(shí)間延誤,折成經(jīng)濟(jì)報(bào)失為20億美元;而在我國(guó)北京市,當(dāng)早晚交通高峰時(shí),交叉路口處的排隊(duì)長(zhǎng)度竟達(dá)1000多米,有的阻車車隊(duì)從一個(gè)交叉路口延伸到另一個(gè)交叉路口,這時(shí)一輛車為通過一交叉路口,往往需要半個(gè)小時(shí)以上,時(shí)間損失相當(dāng)可觀。我國(guó)是一個(gè)歷史悠久、人

5、口眾多的國(guó)家,城市數(shù)量隨著社會(huì)的發(fā)展不斷增多。隨著城市化進(jìn)程的大大加快,誘發(fā)的交通需求急劇增長(zhǎng),供需矛盾不斷激化,嚴(yán)重的交通問題也隨之而來(lái)。人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊,這一切要?dú)w功于城市交通控制系統(tǒng)中的交通燈控制系統(tǒng)。交通燈控制系統(tǒng)對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果,使城市交通得以有效管理。交通燈可以采用plc、單片機(jī)等控制方法。利用單片機(jī)實(shí)

6、現(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),用于十字路口的車輛及行人的交通管理。東西南北四個(gè)路口具有左拐、右拐、直行及行人4種通行指示燈,并分別用計(jì)時(shí)器顯示路口通行轉(zhuǎn)換剩余時(shí)間,在特種車輛如119、120通過路口時(shí),系統(tǒng)可自動(dòng)轉(zhuǎn)為特種車輛放行,其他車輛禁止通行狀態(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

7、設(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ī)端口資源剛好滿足要求。方案一設(shè)計(jì)框圖如圖-1所示。圖2-1 方案一:采用led動(dòng)態(tài)掃描的交通燈控制系統(tǒng)方案二:采用at89c2051單片機(jī)作為控制器,通行倒計(jì)時(shí)顯示采用1616點(diǎn)陣led發(fā)光管,左拐、右拐、直行及行人4種通行指示也采用1616點(diǎn)陣雙色led發(fā)光管。方案二設(shè)計(jì)框圖如圖2-2所示,led點(diǎn)陣的列驅(qū)動(dòng)采用7

8、4ls595,用串行端口擴(kuò)展實(shí)現(xiàn),行驅(qū)動(dòng)采用1/16譯碼器74ls154動(dòng)態(tài)掃描,譯碼器74ls154生成16條行選通信號(hào)線,再經(jīng)過驅(qū)動(dòng)器驅(qū)動(dòng)對(duì)應(yīng)的行線。每條行線上需要較大的驅(qū)動(dòng)電流,應(yīng)選用大功率三極管作為驅(qū)動(dòng)管。圖2-2 方案二:采用1616點(diǎn)陣led發(fā)光管設(shè)計(jì)的交通燈控制系統(tǒng)方案三:采用at89c2051單片機(jī)作為控制器,通行倒計(jì)時(shí)及左拐、右拐、直行、行人通行指示采用單塊lcd液晶點(diǎn)陣顯示器。三種方案的特點(diǎn)比較如下:方案一具有電路簡(jiǎn)單,設(shè)計(jì)方便,顯示亮度高,耗電較少,可靠性高等特點(diǎn);方案二的圖案顯示逼真,單片機(jī)占用端口資源少,缺點(diǎn)是需要大量的硬件,電路復(fù)雜,耗電量大,不太適合于模型制作;方

9、案三設(shè)計(jì)占用單片機(jī)的端口最少,硬件也少,耗電也最少;雖然顯示圖案也很精美,但由于亮度太暗,晚上還得開背光燈,不夠?qū)嵱谩?梢姺桨敢粌?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)電路原理圖如圖2-3所示。(為排版起見,該圖放在下一頁(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ù)

10、器,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)/自動(dòng)轉(zhuǎn)換采用p3.7扳鍵。/vpp接5v電源端。晶振及復(fù)位按典型電路設(shè)計(jì),元器件參數(shù)如圖2-4中所示。晶振頻率為12mhz。2.2.2 通行燈顯示模塊通行燈顯示模塊如圖2-5所示。通行燈指示采用高亮度共陰紅綠雙色發(fā)光二極管,左拐、直行、右拐及行人各一個(gè)。雙色發(fā)光二極管的共陰極通過電阻接地,陽(yáng)極接p1口或p2口(南北為p1口,東西為p

11、2口),經(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ī)的輸出端口。圖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ù)碼管需6ma8=48ma。由于時(shí)間顯示每個(gè)路口相同,4組需

12、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交流電,再用整流橋得到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ǔ)

13、器,與80c51插座兼容,由于這些優(yōu)點(diǎn),使它有著十分廣泛的用途,特別是在便攜式和需要特殊信息保存的儀器和系統(tǒng)中顯得更為有用。89系列單片機(jī)典型型號(hào)有at89c51,at89lv51,at89c52,at89lv52,at89c2051, at89s52,at89c1051, 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口線

14、p0口:8位、漏級(jí)開路的雙向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)部上拉電阻。p1口是為用戶準(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口

15、,用做輸入時(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ǔ)器訪問允許信號(hào)。當(dāng)引腳接地時(shí),僅使用64kb的片外程序存儲(chǔ)器,cpu從外部0000hffffh的地址空間取指令;當(dāng)引腳接vcc時(shí),cpu從片內(nèi)0000h地址開始取指令,當(dāng)pc值超過1fffh時(shí),自動(dòng)轉(zhuǎn)到外存儲(chǔ)器2000hffffh地址空間執(zhí)行程序。:片外程序存儲(chǔ)器讀選通信號(hào),低電平有效。ale/:低字節(jié)地址鎖存信號(hào)。c)電源線: vcc為電源電壓輸入引腳,gnd為

16、地線。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ò)展通常使用的典型芯片為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

17、,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)部由基準(zhǔn)電壓回路、恒流源、過流保護(hù)、過壓保護(hù)和短路保護(hù)回路等8部分組成,具有低功耗,高效率,紋波系數(shù)小,輸出電壓穩(wěn)定等優(yōu)點(diǎn)。圖2-10 lm7805的外形圖d.七段led數(shù)碼管7段數(shù)碼管是一種常用的顯示器件,其外觀與內(nèi)部電路連接見圖2-11。它使用7個(gè)筆畫顯示09共10個(gè)數(shù)字,加上一個(gè)小數(shù)點(diǎn)共8個(gè)顯示段,每一個(gè)筆畫都是由發(fā)光二級(jí)管組成的。led

18、數(shù)碼管根據(jù)led的接法不同分為共陰和共陽(yáng)兩類,圖2-11 (b)是共陽(yáng)極數(shù)碼管的內(nèi)部電路,將八只led的陽(yáng)極連在一起,其中ag為7個(gè)筆畫的驅(qū)動(dòng)端;dp為小數(shù)點(diǎn)驅(qū)動(dòng)端;com為公共引腳。 (a)外觀 (b)內(nèi)部電路連接圖2-11 led數(shù)碼管09共10個(gè)字符的字形碼如表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.

19、6p0.5p0.4p0.3p0.2p0.1p0.0字形編碼dpgfedcba共陽(yáng)共陰011000000c0h3fh111111001f9h06h210100100a4h5bh310110000b0h4fh41001100199h66h51001001092h6dh61000001082h7dh711111000f8h07h81000000080h7fh91001000090h6fh(a)外形(b)共陰雙色發(fā)光二極管內(nèi)部電路連接圖2-12 雙色發(fā)光二極管發(fā)光雙色二極管的判別與檢測(cè)方法:將萬(wàn)用表打在電阻檔,用萬(wàn)用表黑表筆接在雙色發(fā)光二極管中間的負(fù)極上,紅表筆接在雙色發(fā)光二極管的正極上,每次都亮,該

20、雙色發(fā)光二極管是共陰極的,并且是好的。f.三極管90129012為一pnp型的三極管,外形與引腳圖如圖2-13所示。其中1腳為發(fā)射極,2腳為基極,3腳為集電極。g.整流橋整流橋的外形如圖2-14所示。整流橋的是作用將交流電轉(zhuǎn)換成直流電,本次設(shè)計(jì)電源電路中選用1a,220v的整流橋。圖2-13 9012外形圖及引腳圖 圖2-14整流橋的外形如圖2.3 系統(tǒng)軟件的設(shè)計(jì)交通燈控制系統(tǒng)軟件分為主程序、定時(shí)中斷程序與特種車實(shí)時(shí)響應(yīng)程序三部分。2.3.1 主程序主程序主要負(fù)責(zé)總體程序管理功能,包括初始化部分與人機(jī)交互設(shè)定部分。由于采用動(dòng)態(tài)掃描方式顯示時(shí)間,因此主程序大部分時(shí)間要調(diào)用掃描顯示程序。主程序流程

21、圖如圖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é)束閃爍用。2.3.2 定時(shí)中斷服務(wù)程序定時(shí)中斷服務(wù)程序主要用于車輛與行人的通行指示,按照通行規(guī)則,紅綠燈控制轉(zhuǎn)換邏輯表如表2-2所示。通行規(guī)則如下:a.車輛南北直行、各路右拐,南北向行人通行。南北向通行時(shí)間為1min(60s),各路右拐比直行滯后10s開放。b.車輛南北向左拐、各路右拐,行人禁行。通行時(shí)間為1min(60s)。c.車輛東西直行、各路右拐

22、,東西向行人通行。東西向通行時(shí)間為1min(60s),各路右拐比直行滯后10s開放。d.車輛東西向左拐、各路右拐,行人禁行。通行時(shí)間為1min(60s)。表2-2 路口通行方式控制碼數(shù)據(jù)表 南 北 方 向端口控制功能120-110s110-70s70-60s60-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(亮)

23、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(亮)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

24、行人綠0(暗)0(暗)0(暗)0(暗)0(暗)路口控制字aaha6ha6ha6ha6h/ a2h交通燈的4種通行規(guī)則,是以給控制紅綠燈端口送控制碼的方式實(shí)現(xiàn)的。它的原理是,將按不同規(guī)則通行時(shí)的各路口的紅綠燈亮滅情況轉(zhuǎn)換為單片機(jī)端口控制碼。紅綠燈指示功能通過t0定時(shí)中斷服務(wù)程序?qū)崿F(xiàn)。定時(shí)器t0定時(shí)溢出中斷周期設(shè)為50ms,中斷累計(jì)20次(即1s)時(shí)對(duì)120s倒計(jì)時(shí)單元減一操作。設(shè)計(jì)中將4種通行規(guī)則分成幾種不同的亮燈方式,通過查詢秒倒計(jì)時(shí)單元的數(shù)據(jù),實(shí)現(xiàn)在不同的時(shí)間段給控制端口送不同的控制數(shù)據(jù)碼。控制碼分為5個(gè)時(shí)間段:120110s、11070s、7060s、6010s、100s。交通管理定時(shí)功能

25、程序流程圖如圖2-16所示。圖2-16 交通管理定時(shí)功能程序2.3.3 特種車中斷服務(wù)程序?qū)粹os3按下,給int1引腳輸入低電平信號(hào)來(lái)模擬特種車通過信號(hào),此時(shí)外部中斷1被觸發(fā),中斷處理流程如圖2-17所示。圖2-17特種車中斷服務(wù)程序流程圖總的程序清單見附錄二。2.3.4 算法分析a.定時(shí)器/計(jì)數(shù)器本設(shè)計(jì)涉及到120110s、11070s、7060s、6010s、100s五段計(jì)時(shí),首先須將它們轉(zhuǎn)為16進(jìn)制代碼。 120=716+8=78h 110=616+14=6eh 70=416+6=46h 60=316+12=3ch 10=016+10=0ahb.定時(shí)時(shí)間初值與tmod的設(shè)置t0、t1為

26、16位定時(shí)器,由于定時(shí)時(shí)間大于8192s,應(yīng)選用工作方式一。由于晶振頻率為12mhz,tcy=1s,故有 t=(65536-x)tcy=(65536-x)1s =50ms計(jì)算初值 x=15536=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沒有使用,相應(yīng)的d7

27、d4為隨意狀態(tài)“x”。若取“x”為0,則(tmod)=00000001b=01hc.中斷系統(tǒng)ie的取值ie的格式如圖2-19所示。d7d6d5d4d3d2d1d0ea-et2eset1ex1et0ex0圖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)試成

28、功的實(shí)物照片如圖3-1所示。圖3-1 調(diào)試成功的單片機(jī)控制交通燈系統(tǒng)實(shí)物照片調(diào)試過程中遇到了不少問題,并已將其逐一解決。最終得到了調(diào)試成功的交通燈系統(tǒng),可以完成本設(shè)計(jì)1.2節(jié)中設(shè)計(jì)內(nèi)容的要求。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)和振蕩

29、信號(hào)。3.2軟件調(diào)試及軟硬件聯(lián)調(diào)對(duì)軟件先用仿真器進(jìn)行了調(diào)試。用仿真器運(yùn)行正常后,再用燒寫器將程序燒到at89s52單片機(jī)中,進(jìn)行了脫機(jī)調(diào)試。3.2.1仿真器選擇單片機(jī)仿真器有很多型號(hào),本次設(shè)計(jì)采用南京電子有限公司生產(chǎn)的偉福系列仿真器h51/s。仿真頭類型采用pod-h8x5x。3.2.2仿真過程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) 加入包含

30、文件。(若無(wú)包含文件,此步加以取消)c) 保存項(xiàng)目。c仿真器的設(shè)置選擇菜單設(shè)置| 仿真器設(shè)置功能或按“仿真器設(shè)置”快捷圖標(biāo)打開“仿真器設(shè)置”對(duì)話框,如圖3-3所示。在“仿真器”欄中,選擇仿真器類型和配置的仿真頭以及所要仿真的單片機(jī)。在“語(yǔ)言”欄中,“編譯器選擇”選擇為“偉福匯編器”。編譯項(xiàng)目。選擇菜單項(xiàng)目| 編譯功能或按編譯快捷圖標(biāo),編譯項(xiàng)目。在編譯過程中,如果有錯(cuò)可以在信息窗口中顯示出來(lái),雙擊錯(cuò)誤信息,可以在源程序中定位所在行。糾正錯(cuò)誤后,再次編譯直到?jīng)]有錯(cuò)誤。在編譯之前,軟件會(huì)自動(dòng)將項(xiàng)目和程序存盤。在編譯沒有錯(cuò)誤后,就可調(diào)試程序了。圖3-3 “仿真器設(shè)置”對(duì)話框3.2.3通行燈輸出調(diào)試對(duì)于

31、通行燈輸出程序的調(diào)試,首先看左拐燈、直行燈、右拐燈、行人燈是否能正常工作。編制了以下測(cè)試燈亮滅的程序: org 0000h start: mov a,#0aah;讓東西南北四個(gè)路口的四個(gè)紅燈全亮 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 r

32、7,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)極被誤接地了,沒有接到單片機(jī)的并行口上。經(jīng)修改,每個(gè)指示燈均能正確的顯示了,至此,說明通行燈的接線完全正確。判斷出通行燈接線正確后,對(duì)于整個(gè)電路的通行控制,根據(jù)邏輯狀態(tài)表2-2編制了相應(yīng)的程序(程序段見附錄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)極,但是各位

33、的位選為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)。先編制了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 ; 開啟p3.0口 setb p3.1 ; 關(guān)閉p3.1口 setb p3.2 ; 關(guān)閉p3.2口 sjmp start tab: db 0c0h

34、,0f9h,0a4h,0b0h,99h, end運(yùn)行后p3.0引腳上接的顯示器顯示為1,同理可分別測(cè)試p3.1 ,p3.2引腳上的led顯示器是否可以正常顯示。經(jīng)檢測(cè)各位led可以正常顯示,但是發(fā)光的亮度偏暗,有些模糊,這說明電路連接沒有問題,但選用的電阻過大了,以至于電流很小,顯示器不太亮,在保證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í)適用于車流量較大的大城市,60s倒計(jì)時(shí)可用于中小型城市,兩種倒計(jì)時(shí)由

35、p3.7上的開關(guān)進(jìn)行轉(zhuǎn)換。3.2.5特種車中斷程序調(diào)試將附錄3中的119、120特種車程序進(jìn)行調(diào)試,所有綠燈自動(dòng)關(guān)閉,紅燈全亮。3.2.6脫機(jī)調(diào)試 用仿真器與硬件電路連接調(diào)試成功后,又將附錄3的程序燒寫到at89s52中去,接上電源,發(fā)現(xiàn)led不能正常顯示,而通行燈輸出一切正常。經(jīng)檢查at89s52的p0口需要加外部上拉電阻,在仿真器上不存在此問題,因?yàn)榉抡嫫鞯膒0口有外部上拉電阻。接510的上拉電阻,接通電源交通燈與倒計(jì)時(shí)顯示器可以正常運(yùn)行,至此調(diào)試工作全部完成。3.2.7實(shí)驗(yàn)結(jié)果對(duì)實(shí)驗(yàn)板通電后,顯示器從120s開始倒計(jì)時(shí),每秒鐘自動(dòng)減一,四個(gè)路口的紅綠燈按通行規(guī)則正確顯示。顯示圖片如圖3-

36、1所示。將s1開關(guān)打在合上的位置,顯示器從60s開始倒計(jì)時(shí),每秒鐘自動(dòng)減1,四個(gè)路口的紅綠燈按通行規(guī)則正確顯示。按下s3按鈕,所有綠燈全部關(guān)閉,紅燈全亮,呈現(xiàn)特種車輛放行狀態(tài)。實(shí)驗(yàn)結(jié)果表明,本次設(shè)計(jì)并制作的交通燈可以很好地滿足設(shè)計(jì)任務(wù)書的要求。4 結(jié) 束 語(yǔ)拿到課題后,開始著手設(shè)計(jì)。查閱了大量相關(guān)資料,結(jié)合畢業(yè)設(shè)計(jì)任務(wù)書中的指標(biāo)要求,進(jìn)行了方案論證,確定了設(shè)計(jì)方案:將系統(tǒng)分為控制模塊、通行燈顯示模塊、時(shí)間顯示模塊、電源模塊四部分。設(shè)計(jì)方案與元器件參數(shù)確定后,就開始采購(gòu)元器件,然后進(jìn)行硬件制作。在制作硬件的過程中,每制作一步,都要檢查這一步的正確性,可靠性。最后硬件制作完畢后,先進(jìn)行了靜態(tài)調(diào)試,

37、根據(jù)硬件電路圖核對(duì)了元器件的型號(hào),極性,安裝是否正確,檢查硬件電路連線是否與電路圖一致。然后是通電調(diào)試,先調(diào)試電源部分。將220v交流電通入,測(cè)試變壓器的輸出端整流橋輸出,lm7805的輸出電壓是否和理論計(jì)算值一致。再調(diào)試單片機(jī)的復(fù)位和晶振電路。硬件電路制作完畢后,采用仿真器進(jìn)行了軟件調(diào)試,這個(gè)過程相當(dāng)復(fù)雜艱難,出現(xiàn)了很多問題,例如輸出燈不按規(guī)律顯示,倒計(jì)時(shí)數(shù)碼管顯示不正確等。每一個(gè)問題都相當(dāng)棘手,遇到這些問題后,首先檢測(cè)硬件電路,對(duì)硬件電路排查完畢并確定無(wú)誤后,對(duì)軟件進(jìn)行修改及再調(diào)試。問題一一被解決后最后得出所需軟件部分。這個(gè)過程讓我學(xué)到很多東西:首先必須具有的是耐心和細(xì)心,問題出現(xiàn)后,必須

38、分析問題,找出可能出現(xiàn)此種問題的原因,然后進(jìn)行一一檢測(cè),進(jìn)行多次修改后才得到所需結(jié)果。最后是軟硬件聯(lián)調(diào),將程序燒入到at89s52,進(jìn)行調(diào)試直到成功?;趩纹瑱C(jī)的交通燈控制系統(tǒng)的pcb板已進(jìn)行了設(shè)計(jì),但是由于時(shí)間緊迫,布線還不十分合理,需進(jìn)一步調(diào)整,初步設(shè)計(jì)的pcb圖見附錄2。通過本次設(shè)計(jì),本人的知識(shí)領(lǐng)域得到進(jìn)一步擴(kuò)展,專業(yè)技能得到進(jìn)一步提高,同時(shí)提高了分析和解決實(shí)際問題的綜合能力。另外,也培養(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é)出版

39、社,2004.2李忠國(guó).單片機(jī)應(yīng)用技能實(shí)訓(xùn)m .北京:人民郵電出版社,2006.3先鋒工作室.單片機(jī)程序設(shè)計(jì)實(shí)例m .北京:清華大學(xué)出版社,2003.4 李朝青.單片機(jī)原理及接口技術(shù)(修訂版)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 .北京:北京

40、航空航天大學(xué)出版社, 1994.10 樓然苗.單片機(jī)課程設(shè)計(jì)指導(dǎo)m .北京:北京航空航天大學(xué)出版社,2007.11 譚浩強(qiáng).單片機(jī)課程設(shè)計(jì)m .北京:清華大學(xué)出版社,1989.附 錄附錄1 基于單片機(jī)的交通燈控制系統(tǒng)電路原理圖附錄2 基于單片機(jī)的交通燈控制系統(tǒng)程序清單附錄2 基于單片機(jī)的交通燈控制系統(tǒng)程序清單;*;交通燈控制程序;*;以下是初始化部分time equ 50h ;秒記數(shù)用timesfr equ 51h ;臨時(shí)寄存器conr5 equ 52h ;t1秒定時(shí)記數(shù)用timed0 equ 55h ;單向最大定時(shí)時(shí)間,直行開始,人行開始(120s)timed1 equ 56h ;各路右拐開

41、始時(shí)間(110s)timed2 equ 57h ;前行結(jié)束提醒(70s)timed3 equ 58h ;前行結(jié)束,人行結(jié)束,左拐開始(60s)timed4 equ 59h ;左拐結(jié)束提醒timed5 equ 5ah ;左拐結(jié)束timed6 equ 5bhtimed7 equ 5chsn equ p1 ;南北口ew equ p2 ;東西口scan equ p3 ;掃描口ledout equ p0 ;段碼口snewflag bit 09h ;東西口與南北口轉(zhuǎn)換標(biāo)志;按鍵在掃描口的最高位,按一下,全紅燈。p3.7扳鍵開關(guān)扳向合上位置,則為60秒倒計(jì)時(shí);定時(shí)器t0t1溢出周期為50ms,t0為秒記數(shù)用

42、;*中斷入口程序*org 0000h ;程序執(zhí)行開始地址ljmp start ;跳到標(biāo)號(hào)start執(zhí)行org 0003h ;外中斷0中斷程序入口reti ;外中斷0中斷返回org 000bh ;定時(shí)器t0中斷程序入口ljmp intt0 ;跳至intt0執(zhí)行org 0013h ;外中斷1中斷程序入口ljmp int11 ;外中斷1、119120中斷org 001bh ;定時(shí)器t1中斷程序入口ljmp intt1 org 0023h ;串行中斷程序程序返回reti;*主程序*start: mov sp, # 80h mov r0, # 00h ;清00h8eh內(nèi)存單元 mov r7, # 8fh

43、cleardisp: mov r0, # 00h inc r0 djnz r7, cleardisp mov timed0, # 78h ;單向最大定時(shí)時(shí)間,直行開始,人行開始 mov timed1, # 6eh ;各路右拐開始時(shí)間(110s) mov timed2, # 46h ;前行結(jié)束提醒(70s) mov timed3,# 3ch ;前行結(jié)束,人行結(jié)束,左拐開始(60s) mov timed4,# 0ah ;左拐結(jié)束提醒 clr snewflag ;南北先通行標(biāo)志位 mov tmod, # 01h ;設(shè)t0,t1為16位定時(shí)器 mov tl0, #0b0h ;50ms定時(shí)初值(t0記時(shí)

44、用) mov th0, #3ch ;50ms定時(shí)初值 mov tl1, #0b0h ;50ms定時(shí)初值(t1閃爍定時(shí)用) mov th1, #3ch ;50ms定時(shí)初值 jb scan.7, ssst ;120s管理;以下為60s管理 lcall dl1ms lcall dl1ms lcall dl1ms jb scan.7, ssst ;干擾 mov timed0, #60 ;單向最大定時(shí)時(shí)間,直行開始,人行開始 mov timed1, #55 ;各路右拐開始時(shí)間(55s) mov timed2, #35 ;前行結(jié)束提醒(35s) mov timed3, #30 ;前行結(jié)束,人行結(jié)束,左拐開始(30s) mov timed4, #05 ;左拐結(jié)束提醒sswait: jnb scan.7, sswait lcall dl1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論