畢業(yè)設(shè)計(論文)基于PROTEUS的智能交通燈控制系統(tǒng)的設(shè)計與仿真_第1頁
畢業(yè)設(shè)計(論文)基于PROTEUS的智能交通燈控制系統(tǒng)的設(shè)計與仿真_第2頁
畢業(yè)設(shè)計(論文)基于PROTEUS的智能交通燈控制系統(tǒng)的設(shè)計與仿真_第3頁
畢業(yè)設(shè)計(論文)基于PROTEUS的智能交通燈控制系統(tǒng)的設(shè)計與仿真_第4頁
畢業(yè)設(shè)計(論文)基于PROTEUS的智能交通燈控制系統(tǒng)的設(shè)計與仿真_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 湖南大學(xué) ??飘厴I(yè)論文??飘厴I(yè)論文( (設(shè)計設(shè)計) ) 題題 目:目: 智智 能能 交交 通通 燈燈 設(shè)設(shè) 計計 專專 業(yè):業(yè): 應(yīng)用電子技術(shù)應(yīng)用電子技術(shù) 系(部):系(部): 電子工程系電子工程系 班班 級:級: 電氣電氣 08010801 學(xué)學(xué) 號:號: 姓姓 名:名: xxxxxxxxxx 指導(dǎo)教師:指導(dǎo)教師: 職職 稱:稱: 副教授副教授 湖南大學(xué)電氣教務(wù)部 制 目目 錄錄 摘摘 要要 .3 3 第一章第一章 概述概述 .3 3 1.11.1 交通燈的發(fā)展及現(xiàn)狀交通燈的發(fā)展及現(xiàn)狀.3 3 1 1. .2 2 單單片片機機說說明明 .4 4 第二章第二章 智能交通燈的設(shè)計原理智能交通燈

2、的設(shè)計原理 .6 6 2.12.1 智能交通燈的設(shè)計框圖智能交通燈的設(shè)計框圖 .6 6 2.22.2 智能交通燈的設(shè)計方案及改進措施智能交通燈的設(shè)計方案及改進措施.6 6 第三章第三章 智能交通燈電路設(shè)計智能交通燈電路設(shè)計 .7 7 3.13.1 控制器的系統(tǒng)框圖控制器的系統(tǒng)框圖.7 7 3.23.2 智能交通燈控制系統(tǒng)電路圖智能交通燈控制系統(tǒng)電路圖.7 7 3.33.3 工作原理工作原理.8 8 第四章第四章 智能交通燈軟件系統(tǒng)設(shè)計智能交通燈軟件系統(tǒng)設(shè)計 .1414 4.14.1 智能交通燈的軟件設(shè)計流程圖智能交通燈的軟件設(shè)計流程圖 .1414 4.24.2 程序源代碼程序源代碼 .1515

3、 第五章第五章 智能交通燈方案的仿真智能交通燈方案的仿真 .1515 小結(jié)小結(jié) .1818 致謝詞致謝詞 .1818 參考文獻參考文獻 .1818 附附 錄錄 .1919 附錄附錄 a a:智能交通燈控制程序:智能交通燈控制程序:.1919 摘摘 要要 本文介紹的是一個基于 proteus 的智能交通燈控制系統(tǒng)的設(shè)計與仿真,系 統(tǒng)根據(jù)交通十字路口雙車道車流量的情況控制交通信號燈按特定的規(guī)律變化。 本文首先對智能交通燈的研究意義和智能交通燈的研究現(xiàn)狀進行了分析, 指出了現(xiàn)狀交通燈存在的缺點,并提出了改進方法。智能交通燈控制系統(tǒng)通常 要實現(xiàn)自動控制和在緊急情況下能夠手動切換信號燈讓特殊車輛優(yōu)先通行

4、。本 文還對 at89s51 單片機的結(jié)構(gòu)特點和重要引腳功能進行了介紹,同時對智能交 通燈控制系統(tǒng)的設(shè)計進行了詳細的分析。最后利用 proteus 軟件,通過其平臺 對交通燈控制系統(tǒng)進行了仿真,仿真結(jié)果表明系統(tǒng)工作性能良好。 關(guān)關(guān) 鍵鍵 詞詞:proteus、at89s51 單片機、智能交通燈; 第一章第一章 概述概述 1.1 交通燈的發(fā)展及現(xiàn)狀交通燈的發(fā)展及現(xiàn)狀 中國車輛數(shù)量不斷增加,交通管制的工作量越來越大,利用計算機代替人 進行高效交通管理是必然的發(fā)展趨勢,而讓計算機控制的交通燈擁有類似人類 的感知智能,具有很強的現(xiàn)實意義,比如通過攝像機讓交通燈控制系統(tǒng)獲得視 覺感知功能,就可以代替人類

5、的眼睛,使系統(tǒng)根據(jù)所“看到”交通情況自適應(yīng) 改變管制策略,提高了交通管理的自動化水平,使得交通更高效、更順暢。 目前設(shè)計交通燈的方案有很多,有應(yīng)用 cpld 設(shè)計實現(xiàn)交通信號燈控制器方 法;有應(yīng)用 plc 實現(xiàn)對交通燈控制系統(tǒng)的設(shè)計;有應(yīng)用單片機實現(xiàn)對交通信號燈 設(shè)計的方法。目前,國內(nèi)的交通燈一般設(shè)在十字路門,在醒目位置用紅、綠、 黃三種顏色的指示燈。加上一個倒計時的顯示計時器來控制行車。對于一般情 況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實際行車過程中出現(xiàn)的情況, 還存在以下缺點:1兩車道的車輛輪流放行時間相同且固定, 在十字路口, 經(jīng)常一個車道為主干道,車輛較多,放行時間應(yīng)該長些;另一

6、車道為副干道, 車輛較少,放行時間應(yīng)該短些。2沒有考慮緊急車通過時,兩車道應(yīng)采取的措 施,臂如,消防車執(zhí)行緊急任務(wù)通過時,兩車道的車都應(yīng)停止,讓緊急車通過。 1. 2 單單片片機機說說明明 按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、 最小功耗系統(tǒng)及典型系統(tǒng)等。 at89c51 單片機是美國 atmel 公司生產(chǎn)的低 電壓、高性能 cmos 8 位單片機,具有豐富的內(nèi)部資源: 4kb 閃存、 128bram、32 根 i/o 口線、2 個 16 位定時/計數(shù)器、5 個向量兩級中斷結(jié)構(gòu)、 2 個全雙工的串行口,具有 4.255.50v 的電壓工作范圍和 024mhz 工作 頻

7、率,使用 at89c51 單片機時無須外擴存儲器。因此,本流水燈實際上就是 一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、 復(fù)位、電源等電路和必要的軟件組成的單個單片機 。 1. 2.1 at89c51 單片機硬件結(jié)構(gòu)單片機硬件結(jié)構(gòu) at89c51 是一種帶 4k 字節(jié)閃存可編程可擦除只讀存儲器(fperom flash programmable and erasable read only memory)的單片機芯片,它采用 靜態(tài) cmos 工藝制造 8 位微處理器,最高工作頻率位 24mhz。at89c5 外形 及引腳排列如圖 1 所示: 圖 1 1.2.2 管管腳腳

8、說說明明 r rs st t:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持rst 腳兩個機器周期的 高電平時間。 p p0 0 口口:p0 口為一個 8 位漏級開路雙向 i/o 口,每腳可吸收 8ttl 門電 流。當 p1 口的管腳第一次寫 1 時,被定義為高阻輸入。 p0 能夠用于外部 程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù) /地址的第八位。在 fiash 編程時, p0 口作為原碼輸入口,當 fiash 進行校驗時, p0 輸出原碼,此時 p0 外部 必須被拉高。 p p1 1 口口:p1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖 器能接收輸出 4ttl 門電流。p1 口管腳寫

9、入 1 后,被內(nèi)部上拉為高,可用作 輸入,p1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。 在 flash 編程和校驗時, p1 口作為第八位地址接收。 p p2 2 口口:p2 口為一個內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可 接收,輸出 4 個 ttl 門電流,當 p2 口被寫“1”時,其管腳被內(nèi)部上拉電 阻拉高,且作為輸入。并因此作為輸入時, p2 口的管腳被外部拉低,將輸 出電流。這是由于內(nèi)部上拉的緣故。 p2 口當用于外部程序存儲器或 16 位 地址外部數(shù)據(jù)存儲器進行存取時, p2 口輸出地址的高八位。在給出地址 “1”時,它利用內(nèi)部上拉優(yōu)勢,當對外

10、部八位地址數(shù)據(jù)存儲器進行讀寫時, p2 口輸出其特殊功能寄存器的內(nèi)容。 p2 口在 flash 編程和校驗時接收高八 位地址信號和控制信號。 p p3 3 口口:p3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 i/o 口,可接收輸出 4 個 ttl 門電流。當 p3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸 入。作為輸入,由于外部下拉為低電平, p3 口將輸出電流( ill)這是由 于上拉的緣故。 a al le e/ /p pr ro og g:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地 址的地位字節(jié)。在 flash 編程期間,此引腳用于輸入編程脈沖。在平時, ale 端以不變

11、的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因 此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作 外部數(shù)據(jù)存儲器時,將跳過一個 ale 脈沖。如想禁止 ale 的輸出可在 sfr8eh 地址上置 0。此時, ale 只有在執(zhí)行 movx,movc 指令是 ale 才起 作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale 禁止, 置位無效。 p ps se en n:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每 個機器周期兩次 psen 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的 psen 信號將不出現(xiàn)。 e ea a/ /v vp pp p

12、:當 ea 保持低電平時,則在此期間外部程序存儲器( 0000h- ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1 時,ea 將內(nèi)部鎖 定為 reset;當 ea 端保持高電平時,此間內(nèi)部程序存儲器。 x xt ta al l1 1 和和 x xt ta al l2 2:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 第二章第二章 智能交通燈智能交通燈的設(shè)計原理的設(shè)計原理 2.1 智能交通燈的設(shè)計框圖智能交通燈的設(shè)計框圖 2.22.2 智能交通燈的設(shè)計方案及改進措施智能交通燈的設(shè)計方案及改進措施 交通燈系統(tǒng)由四部分組成:車檢測電路,信號燈電路,時間顯示電路,緊 急轉(zhuǎn)換開關(guān)。 針對道路交

13、通擁擠,交叉路口經(jīng)常出現(xiàn)擁堵的情況利用單片機控制技術(shù)提 出了軟件和硬件設(shè)計方案及兩點改進措施。 1、根據(jù)各道路路口車流量的大小自動調(diào)節(jié)通行時間。 2、考慮特殊車輛通行情況,設(shè)計緊急切換開關(guān)。 at89s51 單片機有 2 計數(shù)器,6 個中斷源,能滿足系統(tǒng)的設(shè)計要求。用其設(shè) 計的交通燈也滿足了要求,所以本文采用單片機設(shè)計交通燈。 第三章第三章 智能交通燈電路設(shè)計智能交通燈電路設(shè)計 根據(jù)設(shè)計任務(wù)和要求,可畫出該控制器的原理框圖, 為確保十字路口的交通 安全,往往都采用交通燈自動控制系統(tǒng)來控制交通信號。其中紅燈(r)亮,表 示禁止通行;黃燈(y)亮表示暫停;綠燈(g)亮表示允許通行。 3.13.1

14、控制器的系統(tǒng)框圖如圖控制器的系統(tǒng)框圖如圖 3 3 所示所示 圖 3 3.2 智能交通燈控制系統(tǒng)電路圖智能交通燈控制系統(tǒng)電路圖 智能交通燈電路圖如圖智能交通燈電路圖如圖 4 所示:所示: 圖 4 交通燈系統(tǒng)由四部分組成:車檢測電路,信號燈電路,時間顯示電路,緊 急轉(zhuǎn)換開關(guān)。 3.33.3 工作原理工作原理 綠燈的放行時間與車輛通過數(shù)量不成正比。比如說 20 秒內(nèi)每車道可以通過 20 輛車,40 秒內(nèi)每車道卻可以通過 45 輛車。因為這有一個起步的問題,還有 一個黃燈等待問題。也就是說,綠燈放行時間越長,單位時間通過車輛的數(shù)量 就越多。我們來計算一下,每車道通行 20 秒內(nèi)可以通過 20 輛車,一

15、個紅綠燈 循環(huán)是 40 秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈 5 秒(一個循環(huán)要兩次轉(zhuǎn) 換) ,即一個紅綠黃燈循環(huán)要 50 秒,即 50 秒內(nèi)通行的車輛為 40 輛。通過一輛 車的平均時間是 1.25 秒。如果每次車輛通行的時間改為 40 秒,40 秒內(nèi)每車道 可以通過 45 輛,一個紅綠燈循環(huán)是 80 秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的 黃燈 5 秒(一個循環(huán)要兩次轉(zhuǎn)換) ,即一個紅綠黃燈循環(huán)要 90 秒,即 90 秒內(nèi)通 行的車輛為 90 輛。通過一輛車的平均時間只需 1 秒。顯然在車輛擁擠的情況下 綠燈的通行時間越長,單位時間內(nèi)通行的車輛越多,可以有效緩解車輛擁堵問 題。我設(shè)定了綠

16、燈通行時間的上限為 40 秒。在非擁擠時段綠燈的通行時間的下 限為 20 秒,當交叉路口雙方車輛較少時通行時間設(shè)為 20 秒,這樣可以大大縮 短車輛在紅燈面前的等待時間。當交叉路口雙方車輛較多時通行時間設(shè)為 40 秒。 3.3.13.3.1 車檢測電路車檢測電路 用來判斷各方向車輛狀況,比如:20秒內(nèi)可以通過的車輛為20輛,當20秒內(nèi) 南往北方向車輛通過車輛達不到20輛時,判斷該方向為少車,當20秒內(nèi)北往南 方向車輛通過車輛也達不到20輛時,判斷該方向也為少車,下一次通行仍為20 秒,當20秒時間內(nèi)南往北或北往南任意一個方向通過的車輛達20輛時證明該狀 態(tài)車輛較多,下一次該方向綠燈放行時間改為

17、40秒,當40秒內(nèi)通過的車輛數(shù)達 45輛時車輛判斷為擁擠,下一次綠燈放行時間改仍為40秒,當40秒車輛上通過 車輛達不到45輛時,判斷為少車,下次綠燈放行時間改為20秒, 依此類推。綠 燈下限時間為20秒,上限值為40秒,初始時間為20秒。這樣檢測,某次可能不 準確,但下次肯定能彌補回來,累積計算是很準確的,這就是人們常說的“模 糊控制”。因為路上的車不可能突然增多,塞車都有一個累積過程。這樣控制 可以把不斷增多的車輛一步一步消化,雖然最后由于每個路口的綠燈放行時間 延長而使等候的時間變長,但比塞車等候的時間短得多。本系統(tǒng)的特點是成本 低,控制準確。十字路口車輛通行順序如圖5所示: 圖 5十字

18、路口車輛通行順序 由于南往北,北往南時間顯示相同,所以只要一個方向多車,下次時間就 要加長東往西,西往東也一樣,顯示時間選擇如表1。 表1 顯示時間選擇 車輛情況本次該方下次該方向本次該方本次該 向通行時 間 通行時間向通行時 間 方向通 行時間 南往北少車,北往南 少車 20 秒20 秒40 秒20 秒 南往北少車,北往南 多車 20 秒40 秒40 秒40 秒 南往北多車,北往南 少車 20 秒40 秒40 秒40 秒 南往北多車,北往南 多車 20 秒40 秒40 秒40 秒 東往西少車,西往東 少車 20 秒20 秒40 秒20 秒 東往西少車,西往東 多車 20 秒40 秒40 秒4

19、0 秒 東往西多車,西往東 少車 20 秒40 秒40 秒40 秒 東往西多車,西往東 多車 20 秒40 秒40 秒40 秒 3.3.23.3.2 信號燈電路信號燈電路 信號燈用來顯示車輛通行狀況,下面以一個十字路口為例,說明一個交通 燈的四種狀態(tài)見圖 6。每個路口的信號的的轉(zhuǎn)換順序為:綠黃紅 綠燈 表示允許通行,黃燈表示禁止通行,但已經(jīng)駛過安全線的車輛可以繼續(xù)通行, 是綠燈過渡到紅燈提示燈。紅燈表示禁止通行。綠燈的最短時間為 20 秒,最長 時間為 40 秒,紅紅最短時間為 25 秒,最長時間為 45 秒,黃燈時間為 5 秒。 圖 6 交通信號燈運行狀態(tài) 3.3.3 時間顯示電路時間顯示電

20、路 在交通信號燈的正上方安裝一個可以顯示綠燈通行時間,紅燈等待時間的 顯示電路,采用數(shù)碼管顯示電路是一種很好的方法。由于東往西方向和西往東 方向顯示的時間相同,南往北方向和北往南方向顯示的時間也相同,所以只需 要考慮四位數(shù)碼管顯示電路,其中東西方向兩位,南北方向兩位,兩位數(shù)碼管 可以時間的時間為 0-99 秒完全可以滿足系統(tǒng)的要求,數(shù)碼管連接方法如圖 7 所 示。 圖 7 數(shù)碼管連接方法 下面我們用這種方法顯示交通燈的時間,南北方向要顯示 20 秒,東西方向 要顯示 25 秒,那么我們先給 p0 口送 2 的共陰極碼即 5bh,讓第一位 2 要顯示 的位碼 gnd 段為低電平,其它三位的控制端

21、都接高電平,那么第一位就顯示 2 ,其它三位不亮。讓其顯示 1ms 后再給 p0 口送 0 的共陰極碼即 3fh,讓第二位 要顯示 0 的位碼 gnd 段為低電平,其它三位的控制端都接高電平,那么第二位 就顯示 0,其它三位不亮。依此類推分別送完第一位 2,第二位 0,第三位 2, 第四位 5,每一位點亮 1ms 一個掃描周期為 4ms,一秒時間就要掃描 250 次其程 序如下: mov r6,#250;顯掃描次數(shù) loop: mov p0,#5bh ;送 2 的共陰極碼 clr p2.0;第一位顯示 2 acall d1ms ;延時 1ms setb p2.0 ;滅第一位 mov p0,#3

22、fh ;送 0 的共陰極碼 clr p2.1;第二位顯示 0 acall d1ms ;延時 1ms setb p2.1 ;滅第二位 mov p0,#5bh ;送 2 的共陰極碼 clr p2.2;第三位顯示 2 acall d1ms ;延時 1ms setb p2.2 ;滅第三位 mov p0,#6dh ;送 5 的共陰極碼 clr p2.3;第四位顯示 5 acall d1ms ;延時 1ms setb p2.3 ;滅第四位 djnz r7,loop;不夠一秒,繼續(xù)掃描 nextnumber;到一秒顯示下一個數(shù) d1ms: ;1ms 延時程序 stat1:mov r4,#2 mov r3,#

23、250 djnz r3,$ djnz r4,stat1 ret 3.3.43.3.4 緊急轉(zhuǎn)換開關(guān)電路緊急轉(zhuǎn)換開關(guān)電路 一般情況下交通燈按照車流量大小合理分配通行時間,按一定規(guī)律變化, 但考慮緊急車通行車況,設(shè)計緊急通行開關(guān),下面簡述單片機的中斷原理。 1、mcs51 的中斷源 8051 有 5 個中斷源,它們是兩個外中斷 int0(p3.2)和 int1(p3.3)、 兩個片內(nèi)定時/計數(shù)器溢出中斷 tf0 和 tf1,一個是片內(nèi)串行口中斷 ti 或 ri, 這幾個中斷源由 tcon 和 scon 兩個特殊功能寄存器進行控制,其中 5 個中斷源的 程序入口地址如表 2 所示: 表 2 中斷源程

24、序入口 中斷源的服務(wù)程序入口地址 中斷源入口地址 外中斷 0 0003h 定時/計數(shù)器 0 000bh 外中斷 1 0013h 定時/計數(shù)器 0 001bh 串行口中斷 0023h 2、中斷的處理流程 cpu 響應(yīng)中斷請求后,就立即轉(zhuǎn)入執(zhí)行中斷服務(wù)程序。不同的中斷源、不 同的中斷要求可能有不同的中斷處理方法,但它們的處理流程一般都如下所述: 1)現(xiàn)場保護和現(xiàn)場恢復(fù): 中斷是在執(zhí)行其它任務(wù)的過程中轉(zhuǎn)去執(zhí)行臨時的任務(wù),為了在執(zhí)行完中斷 服務(wù)程序后,回頭執(zhí)行原先的程序時,知道程序原來在何處打斷的,各有關(guān)寄 存器的內(nèi)容如何,就必須在轉(zhuǎn)入執(zhí)行中斷服務(wù)程序前,將這些內(nèi)容和狀態(tài)進行 備份即保護現(xiàn)場。中斷開始

25、前需將有關(guān)寄存器的內(nèi)容壓入堆棧進行保存, 以便在恢復(fù)原來程序時使用。中斷服務(wù)程序完成后,繼續(xù)執(zhí)行原先的程序,就 需把保存的現(xiàn)場內(nèi)容從堆棧中彈出,恢復(fù)積存器和存儲單元的原有內(nèi)容,這就 是現(xiàn)場恢復(fù)。 如果在執(zhí)行中斷服務(wù)時不是按上述方法進行現(xiàn)場保護和恢復(fù)現(xiàn)場, 就會是程序運行紊亂,單片機不能正常工作。 2)中斷打開和中斷關(guān)閉: 在中斷處理進行過程中,可能又有新的中斷請求到來,這里規(guī)定,現(xiàn)場保 護和現(xiàn)場恢復(fù)的操作是不允許打擾的,否則保護和恢復(fù)的過程就可能使數(shù)據(jù)出 錯,為此在進行現(xiàn)場保護和現(xiàn)場恢復(fù)的過程中,必須關(guān)閉總中斷,屏蔽其它所 有的中斷,待這個操作完成后再打開總中斷,以便實現(xiàn)中斷嵌套。 3)中斷服

26、務(wù)程序: 既然有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí) 行中斷處理的具體內(nèi)容,一般以子程序的形式出現(xiàn),所有的中斷都要轉(zhuǎn)去執(zhí)行 中斷服務(wù)程序,進行中斷服務(wù)。 4)中斷返回: 執(zhí)行完中斷服務(wù)程序后,必然要返回,中斷返回就是被程序運行從中斷服 務(wù)程序轉(zhuǎn)回到原工作程序上來。在 mcs-51 單片機中,中斷返回是通過一條專門 的指令實現(xiàn)的,自然這條指令是中斷服務(wù)程序的最后一條指令。 5) 交通燈中的中斷處理流程: (1)現(xiàn)場保護和現(xiàn)場恢復(fù): 有特殊車輛要通過時就要進行中斷,在中斷之前,先將交通燈中斷前情況 保護好,當中斷執(zhí)行后再恢復(fù)現(xiàn)場,包括信號燈和時間顯示電路。 (2)中斷打開和中

27、斷關(guān)閉: 為了使特殊車輛通行按一下打開中斷開關(guān)就可以打開中斷,關(guān)閉中斷開關(guān) 就關(guān)閉中斷。 (3)中斷服務(wù)程序: 有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中 斷處理的具體內(nèi)容:即如果南北方向有特殊車輛要求通過,南北方向轉(zhuǎn)換為綠 燈,東西方向為紅燈;如果東西方向有特殊車輛要求通過,東西方向轉(zhuǎn)換為綠 燈,南北方向為紅燈。 (4)中斷返回: 執(zhí)行完中斷服務(wù)程序后,必然要返回,即回交通燈信號回到中斷前狀態(tài), 顯示時間也和中斷前一樣。 第四章第四章 智能交通燈軟件系統(tǒng)設(shè)計智能交通燈軟件系統(tǒng)設(shè)計 4.14.1 智能交通燈的軟件設(shè)計流程圖智能交通燈的軟件設(shè)計流程圖 智能交通燈的軟件設(shè)計流

28、程圖如圖 8 所示: 圖 8 交通燈的軟件設(shè)計流程圖 4.24.2 程序源代碼程序源代碼 見附錄 第五章 智能交通燈方案的仿真 proteus嵌入式系統(tǒng)仿真軟件在設(shè)計時已經(jīng)注意到和單片機各種編譯程序的 整合了,如它可以和keil ,wave6000等編譯模擬軟件結(jié)合使用。由于wave6000 使用方便,具備強大的軟件仿真和硬件仿真功能。把proteus和wave6000結(jié)合起 來調(diào)試硬件就方便多了,這里就是采用“proteus+wave6000”的仿真方法,具 體步驟如下: 1)首先運行proteus vsm 的isis,選擇sourcedefine code generation tool

29、菜單項,將出現(xiàn)如圖8所示定義代碼生成工具對話框。 圖9 定義代碼生成工具對話框 在tool下拉列表框中選擇代碼生成工具,在這一示例中,電路中的微處理 器為8051系列單片機,因此選擇asem51, 單擊browse按鈕,選取wave6000的安 裝路徑。單擊ok按鈕,結(jié)束代碼生成工具的定義。 選擇sourceadd/remove source file 菜單項,將出現(xiàn)add/remove source code files對話框,如圖10所示: 圖10添加/刪除源文件對話框 2)在code generation tool 選項區(qū),單擊下三角按鈕,選擇asem51工具 單擊new按鈕,將出現(xiàn)如圖

30、11所示對話框。 圖11 創(chuàng)建源代碼對話框 選擇用wave6000創(chuàng)建好的aa.asm文件,即完成了文件的創(chuàng)建。就這樣當用 wave6000對aa.asm 文件進行更改時每一次運行proteus vsm 的isis對電路進行 仿真時wave6000都會對aa.asm進行編譯,aa.hex文件也會隨時更新。 電路圖繪制完成后, 再添加at89c51 的應(yīng)用程序。將鼠標移至at89c51 上, 單擊鼠標右鍵使之處于選中狀態(tài), 在該器件上單擊左鍵, 打開如圖12所示的對 話框。在 program file 欄添加編譯好的十六進制格式的程序文件aa.hex(可以 接受3 種格式的文件) ,給at89c

31、51輸入晶振頻率,此處默認為12mhz, 單擊ok 按鈕完成程序添加工作, 下面就可以進行系統(tǒng)仿真了。單擊主界面下方的按鈕 開始系統(tǒng)仿真。proteus vsm 所進行的是一種交互式仿真, 在仿真進行中可以 對各控制按鈕、開關(guān)等進行操作, 系統(tǒng)對輸入的響應(yīng)會被真實的反映出來如圖 13。 圖圖1212 at89c51at89c51添加程序文件添加程序文件 圖圖1313 交通燈仿真界面交通燈仿真界面 小小 結(jié)結(jié) 在畢業(yè)設(shè)計的整個過程中,我深切地體會到:實踐是理論運用的最好檢驗。 畢業(yè)設(shè)計是對我們 3 年所學(xué)知識的一次綜合性測試和考驗,無論是在動手能力 方面還是理論知識的運用能力方面,都使得我有了很

32、大的提高。 經(jīng)過總結(jié)和分析,我意識到在設(shè)計程序之前,對所用單片機的內(nèi)部結(jié)構(gòu)有 一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源;要有一個清晰的思路和一個完 整的的軟件流程圖;在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù) 修改、不斷改進是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習慣,一個程序 的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為 資料的保存和交流提供了方便;在設(shè)計課程過程中遇到問題是很正常,但我們應(yīng) 該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。 本 次畢業(yè)設(shè)計為我的大學(xué)生活畫上了圓滿的句號,為我即將的工作和生活奠定了 堅實的基礎(chǔ)。 致謝詞致謝詞

33、在整個畢業(yè)設(shè)計中,我得到了學(xué)校電子實驗室的大力支持,為我提供了各 種所需的儀器設(shè)備。感謝學(xué)校為我們安排了本次畢業(yè)設(shè)計,讓我們的理論知識 和實際操作經(jīng)驗更加緊密的結(jié)合了在一起;同時又拓展了我們的知識面。同時 十分感激夏老師對我的悉心指導(dǎo)和幫助,使我能夠順利的完成此次畢業(yè)設(shè)計。 此次畢業(yè)設(shè)計讓我從中受益匪淺,最后再次感謝老師對我的培養(yǎng)和教育! 參考文獻參考文獻 1 徐愛鈞 智能化測量控制儀表原理與設(shè)計 (第二版)m.北京:北京航 空航天大學(xué)出版社,2004 年; 2 吳金戌、沈慶陽、郭庭吉 8051 單片機實踐與應(yīng)用m.北京:清華大學(xué) 出版社,2002 年; 3 謝自美 電子線路設(shè)計實驗測試 (第

34、三版)m.武漢:華中科技大 學(xué)出版社,2006 年; 4 謝維成、楊加國 主編 單片機原理與應(yīng)用及 c51 程序設(shè)計m.北京: 清華大學(xué)出版社,2006 年; 5 楊立、鄧振杰、荊淑霞 微型計算機原理與接口技術(shù)m.中國鐵道出版 社,2006 年; 6 黃智偉 全國大學(xué)生電子設(shè)計競賽技能訓(xùn)練 m.北京:北京航空航天 大學(xué)出版社,2007 年 7 高峰, 單片微型計算機與接口技術(shù)m.北京:科學(xué)出版社,2003; 8 華成英、童詩白 主編, 模擬電子技術(shù)基礎(chǔ) (第四版)m.高等教育出版 社,2006 年. 9 黃海萍、陳用昌 編 微機原理與接口技術(shù)實驗指導(dǎo)m.北京:國防工 業(yè)出版社,2004 年 1

35、0 黃智偉: 凌陽單片機設(shè)計指導(dǎo) ,北京: 北京航空航天大學(xué)出 版社,2007 年 附附 錄錄 附錄附錄 a a:智能交通燈控制程序:智能交通燈控制程序: org 0000h a_bit equ 20h ;用于存放南北十位數(shù) b_bit equ 21h ;用于存放南北十位數(shù) c_bit equ 22h ;用于存放東西十位數(shù) d_bit equ 23h ; 用于存放東西位數(shù) temp1 equ 24h ;用于存放第一二南北狀態(tài)要顯示的時間 temp2 equ 25h ;用于存放第一二東西狀態(tài)要顯示的時間 temp3 equ 26h ;用于存放第三第四南北狀態(tài)要顯示的時間 temp4 equ 27

36、h;用于存放第三第四南北狀態(tài)要顯示的時間 ljmp main org 0003h ;外部中斷 0 入口 ljmp int0 ;跳轉(zhuǎn)到外部 0 中斷 org 0013h ;外部中斷 1 入口 ljmp int1 ;跳轉(zhuǎn)到外部 1 中斷 int0: mov a,p1 ;外部 0 中斷 push acc mov a,p2 ;中斷保護 push acc mov p1,#0ffh ;清除先前狀態(tài) mov p2,#0ffh clr p1.0 clr p1.4 ;南北通行,東西禁止通行 clr p1.6 clr p2.3 jnb p3.2 ,$ ;判斷是否還在中斷狀態(tài) pop acc mov p2,a ;返

37、回中斷前狀態(tài) pop acc mov p1,acc reti ;中斷返回 int1:mov a,p1 ;外部 1 中斷 push acc ;中斷保護 mov a,p2 push acc mov p1,#0ffh ;清除先前狀態(tài) mov p2,#0ffh clr p1.2 clr p2.1 clr p1.3 ;東西通行,南北禁止通行 clr p1.5 jnb p3.3 ,$ ;判斷是否還在中斷狀態(tài) pop acc mov p2,a ;返回中斷前狀態(tài) pop acc mov p1,a reti ;中斷返回 main: org 0100h ;初始情況 mov p1,#0ffh mov p2,#0ff

38、h ;滅所有燈 mov tmod,#55h ;計數(shù)方式方式 1 mov ie,#85h ;開中斷 mov temp1,#20 ; mov temp2,#25 mov temp3,#25 mov temp4,#20 star: mov p1,#0ffh mov p2,#0ffh ;滅所有燈 mov a,24h ;將顯示時間送 a cjne a,#20,t40t ;判斷時間,選初始值 t20t: ;南北通行要顯示的時間為 20 的計數(shù)器初始值 clr tf0 ;清 tf0 clr tf1 ;清 tf1 mov th1 ,#0ffh ;送 20 秒時的初始值 mov tl1 ,#0fch ;在些設(shè)計

39、 20 秒 6 輛為多車 mov th0 ,#0ffh mov tl0 ,#0fch ljmp temp20 ;跳到 20 秒 t40t: ;南北通行要顯示的時間為 40 的計數(shù)器初始值 clr tf0 ;清 tf0 clr tf1 ;清 tf1 mov th1,#0ffh ;送 40 秒時的初始值 mov tl1 ,#0f8h ;在些設(shè)計 40 秒 8 輛為多車 mov th0 ,#0ffh mov tl0 ,#0f8h ljmp temp40 ;跳到 40 秒 temp20: ;temp1=20 情況 setb tr0 ;開始計數(shù) setb tr1 clr p1.2 clr p2.1 ;南

40、北通行,東西禁止通行 clr p1.3 clr p1.5 mov temp1,#20 ;南北要顯示的時間, mov temp2,#25 ;東西要顯示的時間 stlop: acall display1 ;調(diào)用顯示 dec temp1 ;時間夠一秒顯示時間減 1 dec temp2 mov a,temp1 cjne a,#0,next ;若顯示時間不為 0 保持現(xiàn)在狀態(tài) ljmp star2 ;若顯示時間為 0 跳到第二狀態(tài) next: ljmp stlop star2: ;狀態(tài) 1 setb p1.2 clr p1.1 ;南北黃燈,東西禁止通行 setb p1.3 clr p1.4 mov te

41、mp1,#05 ;南北要顯示的時間, mov temp2,#05 ;東西要顯示的時間, stlop2: acall display1 ;調(diào)用顯示 dec temp1 ;時間夠一秒顯示時間減 1 dec temp2 mov a,temp1 cjne a,#0,next2 ;若顯示時間不為 0 保持現(xiàn)在狀態(tài) jb tf1 ,t40 ;判斷南北是否多車 jb tf0 ,t40 ;判斷北南是否多車 mov temp1,#20 ;少車下次顯示時間為 20 秒 ljmp star3 ;跳到狀態(tài) 3 t40: mov temp1,#40 ; 多車下次顯示時間為 40 秒 ljmp star3 ;若顯示時間為

42、 0 跳到第三狀態(tài) next2:ljmp stlop2 temp40:;tem=40 程序 setb tr0 ; 開始計數(shù) setb tr1 clr p1.2 clr p2.1 ;南北通行,東西禁止通行 clr p1.3 clr p1.5 mov temp1,#40 ;南北要顯示的時間, mov temp2,#45 ;東西要顯示的時間 stlop11: acall display1 ;調(diào)用顯示 dec temp1 ;時間夠一秒顯示時間減 1 dec temp2 mov a,temp1 cjne a,#0,next11 ;若顯示時間不為 0 保持現(xiàn)在狀態(tài) ljmp star22 ;若顯示時間為

43、0 跳到第二狀態(tài) next11: ljmp stlop11 star22: ;狀態(tài) 1 setb p1.2 clr p1.1 ;南北黃燈,東西禁止通行 setb p1.3 clr p1.4 mov temp1,#05 ;南北要顯示的時間, mov temp2,#05 ;東西要顯示的時間, stlop22: acall display1 ;調(diào)用顯示 dec temp1 ;時間夠一秒顯示時間減 1 dec temp2 mov a,temp1 cjne a,#0,next22 ;若顯示時間不為 0 保持現(xiàn)在狀態(tài) jb tf1 ,t401 ; 判斷是否多車 jb tf0 ,t401 mov temp1

44、,#20 ;少車下次顯示時間為 20 秒 ljmp star3 t401:mov temp1,#40 ;多車下次顯示時間為 40 秒 ljmp star3 ;若顯示時間為 0 跳到第三狀態(tài) next22:ljmp stlop22 star3: mov a,26h cjne a,#25,t40t1 ;判斷時間,選初始值 t20t1: ;南北通行要顯示的時間為 20 的計數(shù)器初始值 clr tf0 ; 清溢出位 clr tf1 mov th1 ,#0ffh ; 給初值 mov tl1 ,#0fch mov th0 ,#0ffh mov tl0 ,#0fch ljmp temp320 t40t1:

45、;南北通行要顯示的時間為 40 的計數(shù)器初始值 clr tf0 ; clr tf1 mov th1,#0ffh ;給初值 mov tl1 ,#0f8h mov th0 ,#0ffh mov tl0 ,#0f8h ljmp temp340 temp320:;狀態(tài)三 setb tr1 ;南北停止計數(shù) setb tr0 ;東西開始計數(shù) setb p1.1 ;東西通行,南北禁止通行 clr p1.0 setb p1.1 clr p1.0 setb p1.5 clr p1.6 setb p2.1 clr p2.3 mov temp3,#25 ;南北要顯示的時間, mov temp4,#20 ;東西要顯示

46、的時間, stlop33: acall display ;調(diào)用顯示 dec temp3 ;時間夠一秒顯示時間減 1 dec temp4 mov a,temp4 cjne a,#0,next33 ;若顯示時間不為 0 保持現(xiàn)在狀態(tài) ljmp star34 ;若顯示時間為 0 跳到第四狀態(tài) next33:ljmp stlop33 star34: ;狀態(tài)四 setb p2.3 clr p2.2 setb p1.6 ;東西黃燈,南北禁止通行 clr p1.5 mov temp3,#05 ;南北要顯示的時間, mov temp4,#05 ;東西要顯示的時間, stlop34: acall display

47、 ;調(diào)用顯示 dec temp3 ;時間夠一秒顯示時間減 1 dec temp4 mov a,temp4 cjne a,#0,next34 ;若顯示時間不為 0 保持現(xiàn)在狀態(tài) jb tf1 ,t402 jb tf0 ,t402 mov temp3,#25 ljmp star t402: mov temp3,#45 ljmp star next34: ljmp stlop34 temp340 : setb tr1 ;南北停止計數(shù) setb tr0 ;東西開始計數(shù) setb p1.1 ;東西通行,南北禁止通行 clr p1.0 setb p1.1 clr p1.0 setb p1.5 clr p1

48、.6 setb p2.1 clr p2.3 mov temp3,#45 ;南北要顯示的時間, mov temp4,#40 ;東西要顯示的時間, stlop43: acall display ;調(diào)用顯示 dec temp3 ;時間夠一秒顯示時間減 1 dec temp4 mov a,temp4 cjne a,#0,next43 ;若顯示時間不為 0 保持現(xiàn)在狀態(tài) ljmp star44 ;若顯示時間為 0 跳到第四狀態(tài) next43:ljmp stlop43 star44: ;狀態(tài)四 setb p2.3 clr p2.2 setb p1.6 ;東西黃燈,南北禁止通行 clr p1.5 mov t

49、emp3,#05 ;南北要顯示的時間, mov temp4,#05 ;東西要顯示的時間, stlop44: acall display ;調(diào)用顯示 dec temp3 ;時間夠一秒顯示時間減 1 dec temp4 mov a,temp3 cjne a,#0,next44 ;若顯示時間不為 0 保持現(xiàn)在狀態(tài) jb tf1 ,t403 jb tf0 ,t403 mov temp3,#25 ljmp star t403: mov temp3,#45 ljmp star next44: ljmp stlop44 ;顯示 display1: mov a,temp1 ;將南北要顯示的數(shù)存放到 a mov b,#10 ;b=10 div ab ;a 除以 b 商存 a,余數(shù) b mov b_bit,a ; 將 a 放到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論