基于89C52單片機(jī)的交通流量感應(yīng)式交通燈設(shè)計(jì)_第1頁(yè)
基于89C52單片機(jī)的交通流量感應(yīng)式交通燈設(shè)計(jì)_第2頁(yè)
基于89C52單片機(jī)的交通流量感應(yīng)式交通燈設(shè)計(jì)_第3頁(yè)
基于89C52單片機(jī)的交通流量感應(yīng)式交通燈設(shè)計(jì)_第4頁(yè)
基于89C52單片機(jī)的交通流量感應(yīng)式交通燈設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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、泰 山 學(xué) 院本科畢業(yè)設(shè)計(jì) 基于單片機(jī)的交通流量感應(yīng)式交通燈所 在 學(xué) 院 機(jī)械與工程學(xué)院 專 業(yè) 名 稱 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 申請(qǐng)學(xué)士學(xué)位所屬學(xué)科 工科 年 級(jí) 二九級(jí) 學(xué)生姓名、學(xué)號(hào) 尹彥柏 2009170113 指導(dǎo)教師姓名、職稱 許 振 保 講 師 完 成 日 期 二一三年五月 摘要摘 要隨著社會(huì)的進(jìn)步,科技的進(jìn)步使人們的生活水平逐步提高,各種方便人們生活的自動(dòng)控制系統(tǒng)進(jìn)入了人們的生活,以單片機(jī)為核心的產(chǎn)品越來越多,這標(biāo)志了自動(dòng)控制系統(tǒng)成為了數(shù)字化時(shí)代的一員。本設(shè)計(jì)主要從單片機(jī)的應(yīng)用上來實(shí)現(xiàn)十字路口交通燈智能化的管理,用以控制過往車輛的正常運(yùn)作。利用單片機(jī)作為控制系統(tǒng),使紅綠黃燈按

2、指定時(shí)序按不同時(shí)間循環(huán)點(diǎn)亮,并增添了主從道模式和普通模式的傳感器自動(dòng)檢測(cè)與轉(zhuǎn)換,蜂鳴器對(duì)闖紅燈行人的自動(dòng)檢測(cè)與聲音警示,信號(hào)燈轉(zhuǎn)換時(shí)間的自動(dòng)倒計(jì)時(shí)并進(jìn)行l(wèi)ed顯示等附加功能,使交通燈發(fā)揮更加人性化、智能化與自動(dòng)化的作用,為建立智能、安全、高效的指揮交通秩序而服務(wù)。關(guān)鍵詞:交通燈,msc-51,單片機(jī),自動(dòng)檢測(cè)abstractalong with the progress of the society, the progress of science and technology make people's life level gradually improve, a variety

3、of convenient automatic control system of people's life has entered people's lives, with the single chip processor as the core product more and more, this marks the automatic control system became a member of the digital age. this design mainly from the mcu application up to achieve intellig

4、ent traffic lights at an intersection management, to control the vehicles normal operation. microcontroller as the control system, make the red, green and yellow lights lit according to specified sequence according to different time cycle, and added a master-slave mode and normal mode sensor automat

5、ic detection and conversion, a buzzer for running a red light pedestrian automatic detection and warning of sound and light conversion time of additional features such as automatic countdown and led display, traffic lights play a more humane, intelligent and automation for a smart, safe and efficien

6、t traffic order and service.keywords: traffic light ,msc-51, scm, automatic checking目錄目 錄1引言11.1交通燈控制系統(tǒng)的發(fā)展概況及發(fā)展前景11.2 單片機(jī)交通控制系統(tǒng)設(shè)計(jì)21.3單片機(jī)交通控制系統(tǒng)的功能要求41.3.1 倒計(jì)時(shí)顯示41.3.2 時(shí)間的設(shè)置41.3.3 緊急處理51.3.4 普通模式和主從模式的切換功能51.3.5 蜂鳴器報(bào)警51.4單片機(jī)交通控制系統(tǒng)的基本構(gòu)成及原理51.5設(shè)計(jì)思路72 系統(tǒng)硬件電路的設(shè)計(jì)82.1 系統(tǒng)硬件總電路構(gòu)成。82.2 工作原理92.3 局部電路圖102.3.1 按鍵

7、電路102.3.2 發(fā)光二極管電路112.3.2 八段led數(shù)碼管122.3.4車流量檢測(cè)電路及模擬143 系統(tǒng)軟件程序的設(shè)計(jì)153.1 程序主體設(shè)計(jì)流程153.2子程序模塊設(shè)計(jì)173.2.1狀態(tài)燈顯示及判斷173.2.2 led倒計(jì)時(shí)顯示183.2.3 緊停及調(diào)整時(shí)間中斷子程序193.2.4車流量檢測(cè)中斷服務(wù)子程序217.3 系統(tǒng)軟件調(diào)試224 結(jié)束語(yǔ)24附錄25參考文獻(xiàn)32致謝33泰山學(xué)院本科畢業(yè)設(shè)計(jì)1引言1.1交通燈控制系統(tǒng)的發(fā)展概況及發(fā)展前景今天, 安裝在各個(gè)道路交叉口上的紅綠燈交通指揮系統(tǒng), 已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段, 而這一技術(shù)早在19世紀(jì)就已經(jīng)出現(xiàn)。1858年,

8、在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機(jī)械扳手式信號(hào)燈, 用以指揮馬車通行, 這是世界上最早的交通信號(hào)燈。在燈的腳下,一名手持長(zhǎng)桿的警察隨心所欲地牽動(dòng)皮帶轉(zhuǎn)換提燈的顏色。后來在信號(hào)燈的中心裝上煤氣燈罩 ,它的前面有兩塊紅、綠玻璃交替遮擋。初期的交通燈由于功能能不顯著,性能不穩(wěn)定等諸多問題,經(jīng)歷了一個(gè)坎坷的發(fā)展歷程。而第一盞名副其實(shí)的三色燈(紅、黃、綠三種標(biāo)志)于1918年誕生。它是三色圓形四面投影器,被安裝在紐約市五號(hào)街的一座高塔上,由于它的誕生,使城市交通大為改善,隨著工業(yè)革命的逐漸深入,投影器交通燈也演變成了現(xiàn)在的交通信號(hào)燈控制系統(tǒng), 紅燈亮表示“停止”, 綠燈亮表示“通行”

9、, 黃燈是警告信號(hào)。信號(hào)燈的出現(xiàn), 使交通得以有效管制, 對(duì)于疏導(dǎo)交通流量、提高道路通行能力減少交通事故有明顯效果。目前,我國(guó)許多大中城市的交通壓力都非常大。部分交通路口的信號(hào)燈工作時(shí)間不合理,交通違章或肇事記錄不確切并引發(fā)諸多問題,不能充分擔(dān)負(fù)起交通監(jiān)控指揮的功能。所以,改善現(xiàn)有交通系統(tǒng)的工作模式,適當(dāng)增加一些附加功能,對(duì)于提高現(xiàn)有交通系統(tǒng)的工作效率,加強(qiáng)交通路口的信號(hào)燈控制和安全狀況的監(jiān)控具有非常重要的意義。近年來,隨著科技的飛速發(fā)展,電子器件也隨之廣泛應(yīng)用,其中單片機(jī)也不斷深入人民的生活當(dāng)中。利用單片機(jī)at89c51作為核心元件,實(shí)現(xiàn)通過信號(hào)燈對(duì)路面狀況的智能檢測(cè)與控制。從一定程度上解決

10、了交通路口堵塞、車輛停車等待時(shí)間不合理、急車強(qiáng)通等問題。系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低、實(shí)時(shí)性好、安裝維護(hù)方便等優(yōu)點(diǎn),有廣泛的應(yīng)用前景。1.2 單片機(jī)交通控制系統(tǒng)設(shè)計(jì)交通燈的控制方式很多,本系統(tǒng)主要是以89c52為核心來設(shè)計(jì)交通控制系統(tǒng),單片機(jī)外接六個(gè)發(fā)光二極管交替發(fā)光來表示交通燈的紅綠燈的交換,另外用四個(gè)數(shù)碼管來倒計(jì)時(shí)各個(gè)發(fā)光二極管亮的時(shí)間,除此之外,本設(shè)計(jì)還采用個(gè)開關(guān)按鈕來實(shí)現(xiàn)一系列擴(kuò)展功能,如紅綠燈亮的時(shí)間的長(zhǎng)短的切換,復(fù)位,緊急情況下的檢測(cè),顯示車流量和闖紅燈的人數(shù),為了合理的管理和調(diào)度,本設(shè)計(jì)增加了一個(gè)光電傳感器來檢測(cè)車流量,按照南北與東西方向車流量的大概比值確定車流量的相對(duì)大小

11、,并對(duì)紅綠燈時(shí)間作出適當(dāng)?shù)男薷模_(dá)到自動(dòng)調(diào)節(jié)交通流量的目的。 黃燈紅燈綠燈 圖1 交通燈循環(huán)圖圖2 交通狀態(tài)通過具體的路口交通燈狀態(tài)的演示分析我們可以把這四個(gè)狀態(tài)歸納如下:東西方向紅燈滅,同時(shí)綠燈亮,南北方向黃燈滅,同時(shí)紅燈亮,倒計(jì)時(shí)20秒。此狀態(tài)下,東西向允許通行,南北向禁止通行。東西方向綠燈滅,同時(shí)黃燈亮,南北方向紅燈亮,倒計(jì)時(shí)5秒。此狀態(tài)下,除了已經(jīng)正在通行中的其他所以車輛都需等待狀態(tài)轉(zhuǎn)換。南北方向紅燈滅,同時(shí)綠燈亮,東西方向黃燈滅,同時(shí)紅燈亮,倒計(jì)時(shí)20秒。此狀態(tài)下,東西向禁止通行,南北向允許通行。南北方向綠燈滅,同時(shí)黃燈亮,東西方向紅燈亮,倒計(jì)時(shí)5秒。此狀態(tài)下,除了已經(jīng)正在通行中的其

12、他所以車輛都需等待狀態(tài)轉(zhuǎn)換。下面我們可以用圖表表示燈狀態(tài)和行止?fàn)顟B(tài)的關(guān)系如下:表1 交通狀態(tài)及紅綠燈狀態(tài)狀態(tài)1狀態(tài)3狀態(tài)4狀態(tài)6東西向禁行等待變換通行等待變換南北向通行等待變換禁行等待變換東西紅燈1100東西黃燈0001東西綠燈0010南北紅燈0011南北綠燈1000南北黃燈0100東西南北四個(gè)路口均有紅綠黃3燈和數(shù)碼顯示管2個(gè),在任一個(gè)路口,遇紅燈禁止通行,轉(zhuǎn)綠燈允許通行,之后黃燈亮警告行止?fàn)顟B(tài)將變換。狀態(tài)及紅綠燈狀態(tài)如表1所示。說明:0表示滅,1表示亮。1.3單片機(jī)交通控制系統(tǒng)的功能要求本設(shè)計(jì)能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號(hào)發(fā)生,還能進(jìn)行倒計(jì)時(shí)顯示,通行時(shí)間調(diào)

13、整和緊急處理等功能。1.3.1 倒計(jì)時(shí)顯示倒計(jì)時(shí)顯示可以提醒駕駛員在信號(hào)燈燈色發(fā)生改變的時(shí)間、在“停止”和“通過”兩者間作出合適的選擇。駕駛員和行人普遍都愿意選擇有倒計(jì)時(shí)顯示的信號(hào)控制方式,并且認(rèn)為有倒計(jì)時(shí)顯示的路口更安全。倒計(jì)時(shí)顯示是用來減少駕駛員在信號(hào)燈色改變的關(guān)鍵時(shí)刻做出復(fù)雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時(shí)間,幫助駕駛員在“停止”和“通過”兩者間作出合適的選擇 。1.3.2 時(shí)間的設(shè)置本設(shè)計(jì)中可通過鍵盤對(duì)時(shí)間進(jìn)行手動(dòng)設(shè)置,增加了人為的可控性,避免自動(dòng)故障和意外發(fā)生,并再緊急狀態(tài)下,可設(shè)置所有燈變?yōu)榧t燈。鍵盤是單片機(jī)系統(tǒng)中最常用的人機(jī)接口,一般情況下有獨(dú)立式和行列式兩種。前

14、者軟件編寫簡(jiǎn)單,但在按鍵數(shù)量較多時(shí)特別浪費(fèi)i0口資源,一般用于按鍵數(shù)量少的系統(tǒng)。后者適用于按鍵數(shù)量較多的場(chǎng)合,但是在單片機(jī)i0 口資源相對(duì)較少而需要較多按鍵時(shí),此方法仍不能滿足設(shè)計(jì)要求。本系統(tǒng)要求的按鍵控制不多,且i0口足夠,可直接采用獨(dú)立式。1.3.3 緊急處理交通路口出現(xiàn)緊急狀況在所難免,如特大事件發(fā)生,救護(hù)車等急行車通過等,我們都必須盡量允許其暢通無阻,畢竟在這種情況下是分秒必爭(zhēng)的,時(shí)時(shí)刻刻關(guān)系著公共財(cái)產(chǎn)安全,個(gè)人生死攸關(guān)等。由此在交通控制中增設(shè)禁停按鍵,就可達(dá)到想此目的。1.3.4 普通模式和主從模式的切換功能普通模式就是按紅、黃、綠燈分別按照顯示36、5、36秒的時(shí)間進(jìn)行固定循環(huán)顯示

15、,但光電傳感器隨時(shí)將車流量信息傳送給單片機(jī)進(jìn)行判斷,并在比值達(dá)到設(shè)定數(shù)值時(shí)調(diào)整南北向和東西向的紅綠燈時(shí)間,實(shí)現(xiàn)主從車道車流量的調(diào)節(jié),這種模式即為主從模式。兩種模式的切換有兩種方式:第一種方式是手動(dòng)切換,按下復(fù)位鍵,在這種情況下,按下切換鍵,可以進(jìn)行主從/普通模式的切換;第二種方式是自動(dòng)切換,即系統(tǒng)根據(jù)光電傳感器檢測(cè)結(jié)果自動(dòng)做出模式切換。1.3.5 蜂鳴器報(bào)警報(bào)警方式有兩種,智能報(bào)警和手工報(bào)警方式。當(dāng)某個(gè)干道上是紅燈的時(shí)候,傳感器檢測(cè)到有車闖過去時(shí),蜂鳴器智能報(bào)警、同時(shí)藍(lán)色警示燈示警。其二,在緊急情況下當(dāng)有車闖紅燈時(shí)可手工按鍵報(bào)警。1.4單片機(jī)交通控制系統(tǒng)的基本構(gòu)成及原理單片機(jī)設(shè)計(jì)交通燈控制系統(tǒng)

16、,可用單片機(jī)直接控制信號(hào)燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當(dāng)然,接入led數(shù)碼管就可以顯示倒計(jì)時(shí)以提醒行使者,更具人性化。本系統(tǒng)在此基礎(chǔ)上,加入了違規(guī)檢測(cè)電路和車流量檢測(cè)電路為單片機(jī)采集數(shù)據(jù),單片機(jī)對(duì)此進(jìn)行具體處理,及時(shí)調(diào)整控制指揮,為了超越視覺指揮的局限性,同時(shí)接上蜂鳴器,在聽覺上加強(qiáng)了指揮提醒作用。如圖所示:據(jù)此,本設(shè)計(jì)系統(tǒng)以單片機(jī)為控制核心,連接成最小系統(tǒng),由車流量檢測(cè)模塊,違規(guī)檢測(cè)模塊,和按鍵設(shè)置模塊等產(chǎn)生輸入,信號(hào)燈狀態(tài)模塊,led倒計(jì)時(shí)模塊和蜂鳴器狀態(tài)模塊接受輸出。系統(tǒng)的總體框圖如上所示。單片機(jī)紅黃綠信號(hào)燈8級(jí)led數(shù)碼管顯示車流量傳感器最小系統(tǒng)外圍接口按鍵控制蜂鳴器圖3

17、 系統(tǒng)的總體框圖鍵盤設(shè)置模塊對(duì)系統(tǒng)輸入模式選擇及具體通行時(shí)間設(shè)置的信號(hào),系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時(shí)將時(shí)間數(shù)據(jù)倒計(jì)時(shí)輸入到led數(shù)碼管上實(shí)時(shí)顯示。在此過程中還要實(shí)時(shí)捕捉違規(guī)檢測(cè)和緊急按鍵信號(hào),以達(dá)到對(duì)異常狀態(tài)進(jìn)行實(shí)時(shí)控制的目的。急停按鍵和違規(guī)檢測(cè)隨時(shí)調(diào)用中斷。在模式選擇上,若為自動(dòng)模式,將不斷調(diào)用車流量檢測(cè)模塊對(duì)車流量進(jìn)行檢測(cè)統(tǒng)計(jì),到達(dá)一定時(shí)間將修正通行時(shí)間一滿足不同路況的需要。1.5設(shè)計(jì)思路l 分析目前交通路口的基本控制技術(shù)以及各種通行方案,并以此為基礎(chǔ)提出自己的交通控制的初步方案。l 分析單片機(jī)使用方法,綜合接口連接知識(shí),大體明確單片機(jī)各個(gè)接口在交通燈控制系統(tǒng)中的連接

18、點(diǎn)及實(shí)現(xiàn)的功能。l 確定系統(tǒng)交通控制的總體設(shè)計(jì),包括,十字路口具體的通行禁行方案設(shè)計(jì)以及系統(tǒng)應(yīng)擁有的各項(xiàng)功能與相對(duì)應(yīng)硬件的連接搭配。l 進(jìn)行l(wèi)ed顯示電路,燈狀態(tài)電路,按鍵電路的設(shè)計(jì)和各器件的選擇及連接,大體分配各個(gè)器件及模塊的基本功能要求。l 進(jìn)行軟件系統(tǒng)的設(shè)計(jì),對(duì)于本系統(tǒng),本設(shè)計(jì)采用單片機(jī)匯編語(yǔ)言編寫,對(duì)單片機(jī)內(nèi)部結(jié)構(gòu)和工作情況做了充足的研究,了解定時(shí)器,中斷以及延時(shí)原理,總體上完成軟件的編寫。系統(tǒng)電源模塊數(shù)碼管驅(qū)動(dòng)電路(npn三極管)上電復(fù)位電路8051控制器系統(tǒng)處理光電傳感器流量檢測(cè)模塊a、b兩組交通燈模塊12m時(shí)鐘振蕩電路蜂鳴器及高亮led報(bào)警模塊4位共陽(yáng)數(shù)碼管顯示模塊路口交通燈模式

19、切換檢測(cè)違規(guī)現(xiàn)象顯示控制按鍵復(fù)位檢測(cè)緊急情況檢測(cè)按鍵檢測(cè)模塊2 系統(tǒng)硬件電路的設(shè)計(jì)2.1 系統(tǒng)硬件總電路構(gòu)成。33圖4 系統(tǒng)硬件結(jié)構(gòu)框圖2.2 工作原理實(shí)現(xiàn)本設(shè)計(jì)要求的具體功能,可以選用at89c52單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng),12個(gè)發(fā)光二極管分成4組紅綠黃三色燈構(gòu)成信號(hào)燈指示模塊,8個(gè)led東西南北各兩個(gè)構(gòu)成倒計(jì)時(shí)顯示模塊,車流量檢測(cè)傳感器采集流量數(shù)據(jù),光敏傳感器捕獲違規(guī)信號(hào),若干按鍵組成時(shí)間設(shè)置和模式選擇按鈕和緊急按鈕等,以及用1個(gè)蜂鳴器進(jìn)行報(bào)警。系統(tǒng)上電或手動(dòng)復(fù)位之后,系統(tǒng)等待模式選擇設(shè)置鍵按下,模式分兩種:紅綠燈時(shí)間自動(dòng)和紅綠燈時(shí)間設(shè)置。若此時(shí)f鍵按下,則設(shè)置為自動(dòng)模式,若此時(shí)按

20、下的是s鍵,則設(shè)置為時(shí)間設(shè)置模式,依次按s若干次,j鍵若干次可設(shè)置好兩個(gè)方向的紅綠燈時(shí)間,再按f鍵確認(rèn)。其實(shí)這個(gè)過程就是將存儲(chǔ)時(shí)間值的寄存器進(jìn)行設(shè)置,以及標(biāo)志是否要進(jìn)行車流量檢測(cè)及調(diào)整。接下來,系統(tǒng)必須先顯示狀態(tài)燈及l(fā)ed數(shù)碼管,將狀態(tài)碼值送顯p2口,將要顯示的時(shí)間值的個(gè)位和十位分別送顯p0和p1口,在此同時(shí)以50ms為周期,用軟件方法計(jì)時(shí)1秒,到達(dá)1s就要將時(shí)間值減1,刷新led數(shù)碼管。時(shí)間到達(dá)一個(gè)狀態(tài)所要全部時(shí)間,則要進(jìn)行下一狀態(tài)判斷及銜接,并裝入次狀態(tài)的相應(yīng)狀態(tài)碼值以及時(shí)間值,當(dāng)然,還要開啟兩個(gè)外部中斷,其一為違規(guī)信號(hào)或禁停信號(hào)輸入,一旦信號(hào)有效,中斷開始,進(jìn)入中斷服務(wù)子程序,開啟蜂鳴器

21、禁止全部通行,當(dāng)按下f鍵,中斷結(jié)束返回。其二為車流量檢測(cè)信號(hào)輸入,若檢測(cè)到車輛經(jīng)過,進(jìn)入相應(yīng)的中斷子程序,將存儲(chǔ)車流量的寄存器加1,然后中斷結(jié)束返回。每滿一個(gè)狀態(tài)循環(huán)周期,若為自動(dòng)模式,則須將檢測(cè)到的車流量數(shù)據(jù)處理一次,判斷兩個(gè)方向的交通輕重緩急狀況,再調(diào)整下次狀態(tài)循環(huán)的紅綠燈時(shí)間,以達(dá)到自動(dòng)控制的目的。圖5 電路圖2.3 局部電路圖2.3.1 按鍵電路 89c52的rst接按鍵復(fù)位電路,用于單片機(jī)的復(fù)位控制。 89c52的p2.0、p2.1、p3.0、p3.1、p3.4分別接開關(guān)s6、s5、s1、s2、s3、s4,用于數(shù)碼管顯示車流量、數(shù)碼管顯示闖紅燈的人數(shù)、緊急情況下暫停、單片機(jī)復(fù)位、模式

22、切換,如圖6所示。 圖6 按鍵電路圖2.3.2 發(fā)光二極管電路圖7 信號(hào)燈的連接根據(jù)本設(shè)計(jì)的特點(diǎn),紅綠燈的顯示不可少,紅綠燈的顯示采用普通的發(fā)光二極管。每個(gè)方向上設(shè)置紅綠黃燈,總共4組。如果東西紅燈亮,那南北方向就是綠燈亮,反之亦然,所以在硬件上連接圖上也是對(duì)稱分布的,如圖7所示。2.3.2 八段led數(shù)碼管led顯示屏作為大型顯示設(shè)備的一種,具有亮度高、價(jià)格低、壽命長(zhǎng)、維護(hù)簡(jiǎn)便等優(yōu)點(diǎn)。led數(shù)碼管的結(jié)構(gòu)簡(jiǎn)單,分為七段和八段兩種形式,也有共陽(yáng)和共陰之分。以八段共陽(yáng)管為例,它有8個(gè)發(fā)光二極管(比七段多一個(gè)發(fā)光二極管,用來顯示sp,即點(diǎn)),每個(gè)發(fā)光二極管的陽(yáng)極連在一起。這樣,一個(gè)led數(shù)碼管就有i

23、根位選線和8根段選線,要想顯示一個(gè)數(shù)值,就要分別對(duì)它們的高低電平來加以控制。為方便起見,本文主要討論共陽(yáng)八段led數(shù)碼顯示管,其他類形的顯示管與其類似。圖8 led數(shù)碼管led 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形,如 dp,g,f,e,d,c,b,a全亮顯示為,采用共陽(yáng)極連接驅(qū)動(dòng)代碼,代碼表如下表2所示。相應(yīng)在程序軟件上,可以通過調(diào)用程序給定的秒值經(jīng)過特定計(jì)算算出需要顯示的個(gè)位和十位,然后有dptr調(diào)取ledmap的代碼。led8段數(shù)碼管的設(shè)置為每個(gè)方位上的一對(duì)2為顯示器。四個(gè)方位上總共用8個(gè)led接在單片機(jī)的io口上。雖然路口不一樣,但是顯示的

24、時(shí)間在表2 驅(qū)動(dòng)代碼表顯示數(shù)值dp,g,f,e,d,c,b,a驅(qū)動(dòng)代碼011010000c0h111111001f9h210100100a4h310110000b0h41001100199h51001001092h61000001082h711111000f8h81000000080h91001000090h數(shù)字上是一樣的,所以兩邊連接的io口是對(duì)稱的。如圖所示,其中a,b分別是p0,p1的網(wǎng)絡(luò)標(biāo)號(hào)。圖6 led連接圖2.3.4車流量檢測(cè)電路及模擬為了達(dá)到對(duì)紅綠燈的時(shí)間控制,需要對(duì)道路上的車流量進(jìn)行檢測(cè)。89c52的p2.2 、p3.6和p3.7分別接傳感器、蜂鳴器、閃光燈,用于檢測(cè)車流量和闖

25、紅燈的人、報(bào)警。p2.2和p3.6外接傳感器和蜂鳴器,當(dāng)傳感器檢測(cè)到有人闖紅燈時(shí)蜂鳴器就以滴滴聲報(bào)警。由于單片機(jī)的i/o口輸出電流太小,不能驅(qū)動(dòng)蜂鳴器發(fā)出聲音,所以要接一個(gè)電流放大電路,三極管的基極經(jīng)過限流電阻r3后由單片機(jī)的p3.6控制。圖7 檢測(cè)、報(bào)警電路3 系統(tǒng)軟件程序的設(shè)計(jì)3.1 程序主體設(shè)計(jì)流程全部控制程序?qū)嶋H上分為若干模塊:鍵盤設(shè)置處理程序,狀態(tài)燈控制程序,led顯示程序,消抖動(dòng)延時(shí)程序,次狀態(tài)判斷及處理程序,緊?;蜻`規(guī)判斷程序,中斷服務(wù)子程序,車流量計(jì)數(shù)程序,紅綠燈時(shí)間調(diào)整程序等。整個(gè)軟件程序方面主要分兩大部分:按鍵處理程序和50ms掃描程序。流程圖如圖8所示。 設(shè)計(jì)說明:該智能

26、交通燈控制系統(tǒng)的軟件設(shè)計(jì)采用的是順序執(zhí)行并反復(fù)循環(huán)的方法。智能交通燈控制系統(tǒng)在正常工作的情況下,每36s循環(huán)變化一次。每個(gè)循環(huán)周期在還剩5s時(shí),正在通行路口的黃燈同時(shí)點(diǎn)亮并開始閃爍,以提醒路人上的行人及車輛,交通燈即將發(fā)生變化。在此期間若中斷按鍵按下則轉(zhuǎn)入中斷服務(wù)子程序進(jìn)行相關(guān)操作。3.2子程序模塊設(shè)計(jì)3.2.1狀態(tài)燈顯示及判斷在本設(shè)計(jì)中,實(shí)際控制的燈只有6個(gè),即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。定義io端口如下,其中均是低電平有效。h_red bit p1.0h_yellow bit p1.1h_green bit p1.2l_red bit p1.3開始初始化設(shè)

27、定初值按鍵事件檢測(cè)與處理綠燈倒計(jì)時(shí)光電管為低電平?黃燈倒計(jì)時(shí)5秒紅燈倒計(jì)時(shí)倒計(jì)時(shí)完畢?倒計(jì)時(shí)完畢?光電管為低電平?結(jié)束檢測(cè)車流量檢測(cè)闖紅燈 y n n y y n n n y 圖8 流程圖l_ yellow bit p1.4l_ green bit p1.5共有4鐘狀態(tài):東西紅燈亮,南北綠燈亮(0f3h);東西紅燈亮,南北黃燈亮(0f5h);東西綠燈亮,南北紅燈亮(0deh);東西黃燈亮,南北紅燈亮(0eeh)。括號(hào)中是p1端口8個(gè)引腳值對(duì)應(yīng)的十六進(jìn)制碼。用于顯示發(fā)光二極管時(shí),部分程序如下: 東西紅,南北綠,計(jì)時(shí)時(shí)間為36s mov p1,#0f3h mov 60h,61ha1: mov r1

28、,#50a2: acall bcd acall dispclk djnz r1,a2 mov a,60h mov r0,60hadd a,#99hda a mov 60h,a cjne r0,#05h,a13.2.2 led倒計(jì)時(shí)顯示led計(jì)時(shí)每1秒都要刷新1次,采用的是動(dòng)態(tài)顯示,首先將r4除以10h,整數(shù)即十位放在50h中,余數(shù)即個(gè)位放在51h中,設(shè)置7段led顯示數(shù)據(jù)的數(shù)據(jù)表,用數(shù)據(jù)指針寄存器dptr指向數(shù)據(jù)表的首地址,再加上a中的偏移量,就可以指向十位數(shù)字,然后送顯即可,個(gè)位顯示同理。具體程序如下:bcd: ;將十位數(shù)送到(51),個(gè)位數(shù)送到() mov a,60h ;60h單元放的是倒

29、計(jì)時(shí)值mov b,#10h div ab mov 51h,a mov a,b mov 50h,a retdispclk: ;顯示部分 mov dptr,#tab mov a,50h movc a,a+dptr mov p0,a clr p2.6 lcall delay setb p2.6 mov a,51h movc a,a+dptr mov p0,a clr p2.7 lcall delay setb p2.7 ret 3.2.3 緊停及調(diào)整時(shí)間中斷子程序緊停按鍵連接到外部中斷引腳p3.2,即int0捕獲到一個(gè)低電平,則進(jìn)入該中斷進(jìn)行相關(guān)處理。程序如下:iint0: ;緊急情況處理 clr

30、ea jb p3.2,$ push 60h push p1 push p2b0: jnb p3.0,nh jnb p3.1,dh ;全紅a9: mov p1,#0f6h setb p2.6 setb p2.7 acall delay jnb p3.2,b0 jmp je ;只允許東西方向車輛通行nh: mov p1,#0deh setb p2.6 setb p2.7 acall delay jnb p3.2,b0 jmp je ;只允許南北方向車輛通行dh: mov p1,#0f3h setb p2.6 setb p2.7 acall delay jnb p3.2,b0 jmp jeje: p

31、op p2 pop p1 pop 60h setb ea reti3.2.4車流量檢測(cè)中斷服務(wù)子程序車流量檢測(cè)是用外部中斷引腳p3.3即int1捕獲到一個(gè)低電平,則進(jìn)入相應(yīng)的中斷服務(wù)子程序,在子程序中,用r5計(jì)南北向車流量,用r6計(jì)東西向車流量,設(shè)車向標(biāo)志位為01h,判斷車向,程序如下:由于受到多方面的限制,時(shí)間調(diào)整在此只劃定5個(gè)范圍。分別為:比例0到0.5,0.6到1.0,1.1到1.6,1.7到2.1,2.2及以上。前兩個(gè)范圍顯然表明東西向交通嚴(yán)重,應(yīng)將時(shí)間調(diào)長(zhǎng);第三個(gè)范圍表明兩向相當(dāng),可設(shè)置一樣的時(shí)間,第四和第五兩個(gè)范圍表明南北向交通嚴(yán)重,應(yīng)將該向時(shí)間調(diào)長(zhǎng)。具體設(shè)置如表3所示。由表可知,

32、對(duì)應(yīng)的時(shí)間調(diào)整也只有五種,分別是52,20;44,28;36,36;28,44;20,52。顯然在實(shí)際應(yīng)用中這樣簡(jiǎn)單的處理難以盡如人意,但在此表3 比例及調(diào)整時(shí)間南北方向與東西方向比例00.50.6-1.01.1-1.61.7-2.12.2及以上調(diào)整南北向時(shí)間2028364452調(diào)整東西向時(shí)間5244362820處,本設(shè)計(jì)只是模擬大致的調(diào)整過程,以上要求的程序如下:cjnz a, #5m1m2: mov r2, #20mov r1, #52sjmp outm1: jb c, m2cjnz a, #10 n1n2: mov r0, #28mov r1, #44sjmp outn1: jb c,

33、n2cjnz a, #16q1q2: mov r0, #36mov r1, #36sjmp outq1: jb c, q2cjnz a, #21p1p2: mov r0, #44mov r1, #28sjmp outp1: jb c, p2cjnz a, #22s1s2: mov r0, #52mov r1, #20sjmp outs1: jb c,s2ret3.3 系統(tǒng)軟件調(diào)試系統(tǒng)的軟件調(diào)試借助于tks仿真器,在進(jìn)行系統(tǒng)軟件的連續(xù)調(diào)試之前要先進(jìn)行軟件的初調(diào),就是要使各個(gè)子程序模塊運(yùn)行正確,程序的運(yùn)行流程正確。軟件調(diào)試主要分以下幾個(gè)步驟進(jìn)行:功能子程序的調(diào)試。能子程序的調(diào)試包括運(yùn)算、采樣、數(shù)字

34、濾波以及pid運(yùn)算等子程序的調(diào)試。在調(diào)試功能子程序時(shí),許多參數(shù)都是未知的,要根據(jù)其所需的條件,給出假定的數(shù)據(jù),使其運(yùn)行,如果能完成預(yù)定的處理功能或與手工計(jì)算的結(jié)果相符,就說明該子程序己調(diào)試通過。調(diào)試時(shí)由小到大,由里到外。例如,調(diào)試pid算法子程序時(shí),先調(diào)通其包含的各個(gè)運(yùn)算子程序和參數(shù)處理子程序,然后將它們連起來進(jìn)行通調(diào)。通調(diào)時(shí),也是假定一些數(shù)據(jù)、參數(shù)和初始條件,然后運(yùn)行程序。當(dāng)運(yùn)算結(jié)果與手工計(jì)算的結(jié)果相同時(shí),該算法子程序則調(diào)試完成,反之,就要進(jìn)行相應(yīng)的修改。其它子程序的調(diào)試同理;程序流程的調(diào)試。序流程的調(diào)試主要是查看程序運(yùn)行的步驟是否正確,在某時(shí)刻程序運(yùn)行所處的位置是否正確,是否能正確運(yùn)行各個(gè)

35、中斷服務(wù)程序。在調(diào)試過程中,先將pid算法子程序屏蔽,輸出可控硅導(dǎo)通時(shí)間用一個(gè)固定的常數(shù)代替,在各個(gè)中斷服務(wù)子程序設(shè)置斷點(diǎn),然后運(yùn)行程序,查看程序是否能運(yùn)行到所有的斷點(diǎn),若所有斷點(diǎn)都能運(yùn)行到,則程序流程基本正確。去掉所有斷點(diǎn),再一次運(yùn)行程序,查看可控硅狀態(tài),從而判斷程序流程正確,反之,若程序流程不正確,做相應(yīng)的修改后,重新調(diào)試;功能程序與算法程序的通調(diào)。完成整個(gè)程序流程的調(diào)試后,將pid等算法子程序加入,在算法子程序前或后設(shè)置斷點(diǎn),運(yùn)行整個(gè)程序。當(dāng)程序在斷點(diǎn)處暫停時(shí),查看pid計(jì)算的控制量與手工計(jì)算的值是否相同。多運(yùn)行幾次,若每次的結(jié)果都正確,則說明程序各個(gè)部分互相沒有矛盾,反之,則說明算法子

36、程序和其它子程序之間有影響,需要做相應(yīng)的修改后重新調(diào)。4 結(jié)束語(yǔ)經(jīng)過努力工作,終于完成了自己的單片機(jī)課程設(shè)計(jì)。雖說忙碌了點(diǎn),但我覺得這樣的生活充實(shí)且有成就感,當(dāng)然,也獲益匪淺。同時(shí),我也學(xué)會(huì)如何去發(fā)現(xiàn)問題與解決問題的一些方法。至于軟件設(shè)計(jì)與調(diào)試,我覺得它主要考驗(yàn)?zāi)愕乃季S邏輯能力及你對(duì)指令的熟悉程度??梢哉f在整個(gè)軟件設(shè)計(jì)過程中,我不僅學(xué)會(huì)了延時(shí)的兩種方法,即軟件延時(shí)和硬件延時(shí),還掌握數(shù)碼管的兩種顯示方式(即動(dòng)態(tài)顯示與靜態(tài)顯示)及其如何選擇。當(dāng)然,通過幾次反復(fù)調(diào)試過程,使得我對(duì)匯編指令有了更深刻的理解。在整個(gè)課程設(shè)計(jì)過程我還掌握了一下幾點(diǎn):(1)掌握了電子系統(tǒng)設(shè)計(jì)的流程,熟悉了各種硬件電路以及軟件

37、編程方法。(2)理解了單片機(jī)的各部分組成及特性。(3)熟練使用了各種計(jì)算機(jī)輔助設(shè)計(jì)工具完成設(shè)計(jì),充分掌握了這些工具的使用。(4)學(xué)會(huì)了利用keiluvision3對(duì)匯編語(yǔ)言進(jìn)行編譯過程.更進(jìn)一步加深了對(duì)proteus軟件的學(xué)習(xí)。通過本次的課程設(shè)計(jì),充分意識(shí)到自己所學(xué)的東西還是非常有限的,不過通過設(shè)計(jì),還是學(xué)到了一些書本上沒有學(xué)到的東西,為自己以后的學(xué)習(xí)工作起了很大的幫助。就我個(gè)人而言,很深刻地體會(huì)到一點(diǎn),那就是我們?cè)谠O(shè)計(jì)過程中一定要有一個(gè)整體的清晰的思路,知道自己的設(shè)計(jì)的對(duì)象的基本功能和核心器件的適用及其作用,只要把握住這些主要方面,一些小問題都將圍繞著這些主要問題而逐步得到解決。同時(shí)我也懂得

38、,在整個(gè)設(shè)計(jì)過程中,生活中也一樣,一定要意志堅(jiān)定,克服自己的畏難情緒,這樣才能將事情做好,才能干出一番成就。程序附錄h_red bit p2.1 ;定義io端口h_green bit p2.2h_yellow bit p2.3l_red bit p2.4l_green bit p2.5l_yellow bit p2.6 ;主程序,選擇設(shè)置紅綠燈時(shí)間模式或自動(dòng)調(diào)整模式org 0000hljmp mainorg 0003h ;中斷入口ljmp int0org 0030hmain: mov r3, #36 ;用于嵌套50ms軟件方法計(jì)時(shí)1smov r0, #36 ;預(yù)設(shè)值紅綠燈時(shí)間mov r1, #

39、36clr ex0k1: mov c, p3.7 ;等待檢測(cè)何種模式按鍵按下anl c, p3.2jb c, k1jnb p3.7, f ;f鍵按下為自動(dòng)模式,進(jìn)入掃描k2: jnb p3.2, s ;s鍵按下并等待計(jì)數(shù)次數(shù)sjmp k2f: lcall delaymov r0, #36mov r1, #36setb 00hsetb easetb ex1sjmp starts: lcall delaycjnz r0, #52, v1mov r0, #20v1: inc r0jnb p0.1, $jnb p3.6, j ;j鍵按下并等待計(jì)數(shù)次數(shù)sjmp k2j: lcall delaycjnz

40、r1, #52, v2mov r1, #20v2: inc r1jnb p3.6, $jnb p3.7, start ;設(shè)置完畢為設(shè)定時(shí)間模式,進(jìn)入掃描jnb p3.6, jmov p2, #0ddh ;預(yù)設(shè)信號(hào)燈狀態(tài),時(shí)間和車向mov r4, r0setb 01hsetb ex0 ;程序開始,進(jìn)行每50ms掃描start: mov tmod, #01hmov th0, #3chmov tl0, #0b0hclr tf0setb tr0 ;開始50ms計(jì)時(shí)djnz r3, y ;1s是否計(jì)時(shí)完畢mov r3, #20djnz r4, y ;本狀態(tài)是否結(jié)束,并進(jìn)行下一狀態(tài)設(shè)置mov a, p2c

41、jnz a, #0ddh,d1mov p2, #bdhmov r4, #5d1: cjnz a, bdh,d2mov p2, #edhmov r4, r1clr 01hd2: cjnz a, #edh,d3mov p2, #e7hmov r4, #5jnb 00h, d3lcall datad3: cjnz a, #e7h,ymov r2, #ddhmov r4, r0setb 01hy: mov a, r4 ;led倒計(jì)時(shí)顯示mov b, #10div a, bmob dptr, #ledmapmovc a, a+dptrmov p1, amov a, bmovc a, a+dptrmov

42、p0, aledmap: db c0h,f9h,a4h,b0h,99h,92h,82h,f8h,80h,90hjnb 00h, wait ;判斷是否要計(jì)數(shù)車流量jb p3.3, wait ;判斷是否有車經(jīng)過wait:jnb tf0, wait ;50ms一次掃描完畢sjmp startint1:jnb 01h, u ;判斷車向inc r5u: inc r6retiint0:setb p3.4 ;中斷服務(wù)子程序,闖紅燈或緊停按鍵jb p3.7, $lcall delayclr p3.4retidata:mov a, r6 ;車流量數(shù)據(jù)處理及紅綠燈時(shí)間調(diào)整mov b, r0mul a, bmov

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論