交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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ì)與實(shí)現(xiàn) 、實(shí)驗(yàn)?zāi)康?1 了解交通燈管理的基本工作原理。 2 熟悉 8253 計(jì)數(shù)器 / 定時(shí)器、 8259A 中斷控制器和 8255A 并行接口的工作方式及應(yīng)用 編程。 3.掌握多位LED顯示的方法。 、 實(shí)驗(yàn)內(nèi)容與要求 設(shè)計(jì)一個(gè)用于十字路口的交通燈控制器。 1. 基本要求: 1)東西和南北方向各有一組紅 ,黃,綠燈用于指揮交通 , 紅,黃,綠的持續(xù)時(shí)間分別為 25s,5s,20s 。 2)當(dāng)有緊急情況(如消防車)時(shí),兩個(gè)方向均為紅燈亮,計(jì)時(shí)停止,當(dāng)特殊情況結(jié) 束后,控制器恢復(fù)原來(lái)狀態(tài),正常工作。 3)一組數(shù)碼管,以倒計(jì)時(shí)方式顯示兩個(gè)方向允許通行或禁止通行的時(shí)間。 2 .提高

2、部分: 1)實(shí)時(shí)修改交通燈的持續(xù)時(shí)間。 2)根據(jù)不同時(shí)段對(duì)主要交通方向的信號(hào)進(jìn)行調(diào)整。 3)可以使用 LCD 顯示提示信息。 三、實(shí)驗(yàn)報(bào)告要求 1 .設(shè)計(jì)目的和內(nèi)容 2 總體設(shè)計(jì) 3 硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4軟件設(shè)計(jì)框圖及程序清單 5 設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、總體設(shè)計(jì) 交通燈的工作過(guò)程如下:設(shè)十字路口的 1、3 為南,北方向, 2、4 為東西方向,初始態(tài) 為 4 個(gè)路口的紅燈全亮。之后, 1、3 路口的綠燈亮, 2、4 路口的紅燈亮, 1、3 路口方向 通車, 2 個(gè)路口的 LED 數(shù)碼管開(kāi)始倒計(jì)時(shí) 25 秒。延遲 20 秒后, 1、3 路口的綠燈熄滅

3、,而 1,3路口的黃燈開(kāi)始閃爍( 1HZ )。閃爍 5次后,1、3路口的紅燈亮,同時(shí) 2、4路口的綠 燈亮, 2、4 路口方向開(kāi)始通車, 2 個(gè)路口的 LED 數(shù)碼管重新開(kāi)始倒計(jì)時(shí) 25 秒。延遲 20 秒 時(shí)間后, 2、4路口的綠燈熄滅,而黃燈開(kāi)始閃爍。閃爍 5次后,再切換到 1、 3路口方向。 之后,重復(fù)上述過(guò)程。當(dāng)有緊急情況時(shí),2個(gè)方向都紅燈亮,倒計(jì)時(shí)停止,車輛禁止通行, 當(dāng)緊急情況結(jié)束后,控制器恢復(fù)以前的狀態(tài)繼續(xù)工作。 在設(shè)計(jì)中采用6個(gè)發(fā)光二極管來(lái)模擬 2個(gè)路口的黃紅綠燈,每個(gè)路口用2個(gè)數(shù)碼管來(lái)顯 示通行或禁止剩余的時(shí)間。 緊急情況用一個(gè)單脈沖發(fā)生單元申請(qǐng)中斷來(lái)模擬,緊急情況結(jié)束 后,

4、再發(fā)一個(gè)中斷來(lái)恢復(fù)以前的狀態(tài)。 根據(jù)前面的介紹,本設(shè)計(jì)硬件由定時(shí)模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中 斷模塊組成。定時(shí)模塊采用硬件定時(shí)和軟件定時(shí)相結(jié)合的方法,用8253定時(shí)/計(jì)數(shù)器定時(shí) 100ms,再用軟件計(jì)時(shí)實(shí)現(xiàn)所需的定時(shí)。發(fā)光二極管模塊由8255控制發(fā)光二極管來(lái)實(shí)現(xiàn)。 數(shù)碼管顯示模塊由實(shí)驗(yàn)平臺(tái)上的LED顯示模塊實(shí)現(xiàn)。緊急中斷模塊是由單脈沖發(fā)生單元和 8279中斷控制器組成。 程序主要是由定時(shí)子程序、發(fā)光二極管顯示子程序、 數(shù)碼管顯示子程序和中斷服務(wù)程序 組成。包括對(duì)8253、8255以及8259等可編程器件的編程。 五、硬件設(shè)計(jì) 本課題的設(shè)計(jì)可通過(guò)實(shí)驗(yàn)平臺(tái)上的一些功能模塊電路組成,

5、由于各模塊電路內(nèi)部已經(jīng)連 接,用戶在使用時(shí)只要設(shè)計(jì)模塊間電路的連接,因此,硬件電路的設(shè)計(jì)及實(shí)現(xiàn)相對(duì)簡(jiǎn)單。完 整系統(tǒng)的硬件連接如圖 1所示。硬件電路由定時(shí)模塊、發(fā)光二極管模塊、 數(shù)碼管顯示模塊和 緊急中斷模塊組成。 定時(shí)模塊是由8253的計(jì)數(shù)器0來(lái)實(shí)現(xiàn)定時(shí)100ms。Clk0接實(shí)驗(yàn)平臺(tái)分頻電路輸出 Q6, f = 46875hz。GATE0接8255的PA0,由8255輸出來(lái)控制計(jì)數(shù)器的起停。 OUT0接8259的 IRQ2,定時(shí)完成申請(qǐng)中斷,進(jìn)入中斷服務(wù)程序。 發(fā)光二極管顯示模塊由 8255輸出來(lái)控制發(fā)光二極管的亮滅。 8255輸出為低電平時(shí),對(duì) 應(yīng)的發(fā)光二極管就點(diǎn)亮,否則就熄滅。8255的接

6、口電路如圖 2所示。交通燈的對(duì)應(yīng)關(guān)系如 下: L7 L6 L5 L2 L1 L0 PC7 PC6 PC5 PC2 PC1 PC0 13紅燈 13黃燈 13綠燈 24紅燈 24黃燈 24綠燈 實(shí)驗(yàn)平臺(tái)上提供一組六個(gè) LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2 用于數(shù)碼管位選信號(hào)的輸出選通。本設(shè)計(jì)用4個(gè)數(shù)碼管來(lái)倒計(jì)時(shí)。 緊急中斷模塊是由單脈沖發(fā)生單元和8259中斷控制器,單脈沖發(fā)生單元主要用來(lái)請(qǐng)求 中斷,然后做出緊急情況處理。 PC BUS 圖1系統(tǒng)硬件電路圖 圖2 8255接口電路 六、軟件設(shè)計(jì) 根據(jù)交通燈的工作過(guò)程和電路連接情況,交通燈的工作狀況見(jiàn)下表所示。正常工作時(shí)交 通燈

7、在前4個(gè)狀態(tài)間運(yùn)行,出現(xiàn)緊急情況進(jìn)入狀態(tài)5,緊急情況結(jié)束后,恢復(fù)原狀態(tài)。 序號(hào) 交通燈工作情況 PC輸出數(shù)據(jù) 持續(xù)時(shí)間 下個(gè)狀態(tài) 1 13綠燈亮,24紅燈亮 C3H 20s 2 2 13黃燈閃爍,24紅燈亮 A3H, E3H 5s 3 3 13紅燈亮,24綠燈亮 66H 20s 4 4 13紅燈亮,24黃燈閃爍 65H,67H 5s 1 5 所有紅燈亮(緊急情況) 63H 不確定 恢復(fù)原狀態(tài) 1.軟件設(shè)計(jì)思路 本程序由主程序、定時(shí)中斷子程序和外部中斷子程序組成。主程序主要負(fù)責(zé)系統(tǒng)初始化 和等待中斷。定時(shí)中斷子程序主要負(fù)責(zé)數(shù)碼管顯示刷新和紅綠黃燈各種狀態(tài)切換。外部中斷 子程序負(fù)責(zé)緊急情況處理和處

8、理完恢復(fù)。 8253計(jì)數(shù)的起停由 8255的PAO控制,8255的PAO輸出1時(shí),8253開(kāi)始計(jì)數(shù),交通燈 按正常狀態(tài)切換工作,PA0輸出0時(shí),計(jì)數(shù)器停止工作,交通燈不再按正常狀態(tài)切換。8253 開(kāi)始計(jì)數(shù)后每100ms發(fā)出一個(gè)中斷申請(qǐng)信號(hào), 在中斷子程序中先刷新數(shù)碼管,然后判斷當(dāng)前 狀態(tài),進(jìn)入相應(yīng)的處理程序進(jìn)行處理。當(dāng)有緊急情況時(shí)進(jìn)入外部中斷服務(wù)子程序,先讓8253 停止計(jì)數(shù),然后點(diǎn)亮所有的紅燈,下一次外部中斷處理時(shí),恢復(fù)原來(lái)的交通燈狀況,啟動(dòng) 8253開(kāi)始工作。 2. 主程序設(shè)計(jì) 主程序負(fù)責(zé)系統(tǒng)的初始化,然后數(shù)碼管數(shù)據(jù)輸出顯示,同時(shí)檢測(cè)PC鍵盤(pán)按鍵,有按鍵 就退出程序。主程序的流程圖如圖3所

9、示。 系統(tǒng)初始化包括8253的初始化,8255的初始化,中斷向量初始化以及設(shè)置交通燈工作 的初始狀態(tài)。8253定時(shí)的時(shí)間是 100ms, clk0的輸入時(shí)鐘f = 46875hz,所以計(jì)數(shù)初值為 124FH 3. 定時(shí)中斷子程序 定時(shí)中斷子程序是本設(shè)計(jì)的重點(diǎn),負(fù)責(zé)完成數(shù)碼管輸出數(shù)據(jù)刷新和各個(gè)狀態(tài)的處理切 換。中斷子程序包括數(shù)碼管輸出數(shù)據(jù)刷新程序和各狀態(tài)處理程序。中斷程序的流程圖如圖 所示。 開(kāi)始 數(shù)碼管輸出 數(shù)據(jù)處理 狀態(tài)比較跳轉(zhuǎn) 1 r r 1 1 狀態(tài)1處理 程序 狀態(tài)2處理 程序 狀態(tài)3處理 程序 狀態(tài)4處理 程序 V 中斷恢復(fù) 中斷返回 圖4定時(shí)中斷服務(wù)子程序 數(shù)碼管輸出數(shù)據(jù)刷新子程序

10、是實(shí)現(xiàn)倒計(jì)時(shí) 25s,用LEDOU表示輸出的數(shù)據(jù),ent用來(lái)軟 件計(jì)時(shí)1s,就是計(jì)數(shù)10個(gè)100ms。LED輸出是要將輸出的數(shù)據(jù)轉(zhuǎn)化為段選碼。 LED數(shù)碼管倒 計(jì)時(shí)顯示子程序的流程圖如圖 5所示。 圖5 LED倒計(jì)時(shí)顯示子程序 1 根據(jù)當(dāng)前的狀態(tài)跳轉(zhuǎn)到相應(yīng)的處理程序,在處理程序中完成定時(shí)和狀態(tài)的切換。狀態(tài) 和3的流程是一樣的,先點(diǎn)亮對(duì)應(yīng)的交通燈,再判斷定時(shí)到了就可以切換了。狀態(tài)2和4 要實(shí)現(xiàn)黃燈的閃爍,間隔點(diǎn)亮和熄滅就可以了。狀態(tài)1和3處理程序的流程圖(以狀態(tài) 1 為例)如圖6所示,其中NUM是狀態(tài)1對(duì)應(yīng)的PC 口輸出,見(jiàn)前面的表中介紹。狀態(tài)2和 4處理程序(以狀態(tài) 1為例)的流程圖如圖 7所示,其中NUM1和NUM2是狀態(tài)1對(duì)應(yīng)的 PC 口輸出。 State1處理程 序 Y VCNP? 一 8255PC 口輸 出數(shù)據(jù)NUM n r CNT+ CNT=200? N辛 State= 2 CNT = 0 | 退出 圖6狀態(tài)1處理程序流程圖 4. 外部中斷服務(wù)子程序 外部中斷服務(wù)子程序主要用來(lái)處理緊急情況,將2個(gè)方向的車都停止運(yùn)行,

溫馨提示

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