交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)、實(shí)驗(yàn)?zāi)康? 了解交通燈管理的根本工作原理。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ù)原來狀態(tài),正常工作。3一組數(shù)碼管,以倒計(jì)時(shí)方式顯示兩個(gè)方向允許通行或禁止通行的時(shí)間。2 .提高局部:1實(shí)時(shí)修改交通燈的持續(xù)時(shí)間。

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

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

4、、數(shù)碼管顯示模塊和緊急中斷模塊組成。定時(shí)模塊采用硬件定時(shí)和軟件定時(shí)相結(jié)合的方法,用8253定時(shí)/計(jì)數(shù)器定時(shí)100ms,再用軟件計(jì)時(shí)實(shí)現(xiàn)所需的定時(shí)。發(fā)光二極管模塊由8255控制發(fā)光二極管來實(shí)現(xiàn)。數(shù)碼管顯示模塊由實(shí)驗(yàn)平臺上的LED顯示模塊實(shí)現(xiàn)。緊急中斷模塊是由單脈沖發(fā)生單元和8279中斷控制器組成。程序主要是由定時(shí)子程序、發(fā)光二極管顯示子程序、 數(shù)碼管顯示子程序和中斷效勞程序組成。包括對8253、8255以及8259等可編程器件的編程。五、硬件設(shè)計(jì)本課題的設(shè)計(jì)可通過實(shí)驗(yàn)平臺上的一些功能模塊電路組成,由于各模塊電路內(nèi)部已經(jīng)連接,用戶在使用時(shí)只要設(shè)計(jì)模塊間電路的連接,因此,硬件電路的設(shè)計(jì)及實(shí)現(xiàn)相對簡單

5、。完 整系統(tǒng)的硬件連接如圖 1所示。硬件電路由定時(shí)模塊、發(fā)光二極管模塊、 數(shù)碼管顯示模塊和緊急中斷模塊組成。定時(shí)模塊是由8253的計(jì)數(shù)器0來實(shí)現(xiàn)定時(shí)100ms。Clk0接實(shí)驗(yàn)平臺分頻電路輸出 Q6, f = 46875hz。GATE0接8255的PA0,由8255輸出來控制計(jì)數(shù)器的起停。 OUT0接8259的 IRQ2,定時(shí)完成申請中斷,進(jìn)入中斷效勞程序。發(fā)光二極管顯示模塊由 8255輸出來控制發(fā)光二極管的亮滅。 8255輸出為低電平時(shí),對 應(yīng)的發(fā)光二極管就點(diǎn)亮,否那么就熄滅。8255的接口電路如圖 2所示。交通燈的對應(yīng)關(guān)系如下:L7L6L5L2L1L0PC7PC6PC5PC2PC1PC013

6、紅燈13黃燈13綠燈24紅燈24黃燈24綠燈實(shí)驗(yàn)平臺上提供一組六個(gè) LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號的輸出選通。本設(shè)計(jì)用4個(gè)數(shù)碼管來倒計(jì)時(shí)。緊急中斷模塊是由單脈沖發(fā)生單元和8259中斷控制器,單脈沖發(fā)生單元主要用來請求中斷,然后做出緊急情況處理。PC BUS圖1系統(tǒng)硬件電路圖圖2 8255接口電路六、軟件設(shè)計(jì)根據(jù)交通燈的工作過程和電路連接情況,交通燈的工作狀況見下表所示。正常工作時(shí)交通燈在前4個(gè)狀態(tài)間運(yùn)行,出現(xiàn)緊急情況進(jìn)入狀態(tài)5,緊急情況結(jié)束后,恢復(fù)原狀態(tài)。序號交通燈工作情況PC輸出數(shù)據(jù)持續(xù)時(shí)間下個(gè)狀態(tài)113綠燈亮,24紅燈亮C3H20s2213黃

7、燈閃爍,24紅燈亮A3H, E3H5s3313紅燈亮,24綠燈亮66H20s4413紅燈亮,24黃燈閃爍65H,67H5s15所有紅燈亮緊急情況63H不確定恢復(fù)原狀態(tài)1.軟件設(shè)計(jì)思路本程序由主程序、定時(shí)中斷子程序和外部中斷子程序組成。主程序主要負(fù)責(zé)系統(tǒng)初始化和等待中斷。定時(shí)中斷子程序主要負(fù)責(zé)數(shù)碼管顯示刷新和紅綠黃燈各種狀態(tài)切換。外部中斷子程序負(fù)責(zé)緊急情況處理和處理完恢復(fù)。8253計(jì)數(shù)的起停由 8255的PAO控制,8255的PAO輸出1時(shí),8253開始計(jì)數(shù),交通燈 按正常狀態(tài)切換工作,PA0輸出0時(shí),計(jì)數(shù)器停止工作,交通燈不再按正常狀態(tài)切換。8253開始計(jì)數(shù)后每100ms發(fā)出一個(gè)中斷申請信號,

8、 在中斷子程序中先刷新數(shù)碼管,然后判斷當(dāng)前狀態(tài),進(jìn)入相應(yīng)的處理程序進(jìn)行處理。當(dāng)有緊急情況時(shí)進(jìn)入外部中斷效勞子程序,先讓8253停止計(jì)數(shù),然后點(diǎn)亮所有的紅燈,下一次外部中斷處理時(shí),恢復(fù)原來的交通燈狀況,啟動8253開始工作。2. 主程序設(shè)計(jì)主程序負(fù)責(zé)系統(tǒng)的初始化,然后數(shù)碼管數(shù)據(jù)輸出顯示,同時(shí)檢測PC鍵盤按鍵,有按鍵就退出程序。主程序的流程圖如圖3所示。系統(tǒng)初始化包括8253的初始化,8255的初始化,中斷向量初始化以及設(shè)置交通燈工作 的初始狀態(tài)。8253定時(shí)的時(shí)間是 100ms, clk0的輸入時(shí)鐘f = 46875hz,所以計(jì)數(shù)初值為 124FH3. 定時(shí)中斷子程序定時(shí)中斷子程序是本設(shè)計(jì)的重點(diǎn)

9、,負(fù)責(zé)完成數(shù)碼管輸出數(shù)據(jù)刷新和各個(gè)狀態(tài)的處理切 換。中斷子程序包括數(shù)碼管輸出數(shù)據(jù)刷新程序和各狀態(tài)處理程序。中斷程序的流程圖如圖 所示。開始數(shù)碼管輸出數(shù)據(jù)處理狀態(tài)比擬跳轉(zhuǎn)1rr11狀態(tài)1處理 程序狀態(tài)2處理 程序狀態(tài)3處理 程序狀態(tài)4處理 程序V中斷恢復(fù)中斷返回圖4定時(shí)中斷效勞子程序數(shù)碼管輸出數(shù)據(jù)刷新子程序是實(shí)現(xiàn)倒計(jì)時(shí) 25s,用LEDOU表示輸出的數(shù)據(jù),ent用來軟 件計(jì)時(shí)1s,就是計(jì)數(shù)10個(gè)100ms。LED輸出是要將輸出的數(shù)據(jù)轉(zhuǎn)化為段選碼。 LED數(shù)碼管倒 計(jì)時(shí)顯示子程序的流程圖如圖 5所示。圖5 LED倒計(jì)時(shí)顯示子程序根據(jù)當(dāng)前的狀態(tài)跳轉(zhuǎn)到相應(yīng)的處理程序,在處理程序中完成定時(shí)和狀態(tài)的切換。狀態(tài)和3的流程是一樣的,先點(diǎn)亮對應(yīng)的交通燈,再判斷定時(shí)到了就可以切換了。狀態(tài)2和4要實(shí)現(xiàn)黃燈的閃爍,間隔點(diǎn)亮和熄滅就可以了。狀態(tài)1和3處理程序的流程圖以狀態(tài) 1為例如圖6所示,其中NUM是狀態(tài)1對應(yīng)的PC 口輸出,見前面的表中介紹。狀態(tài)2和4處理程序以狀態(tài) 1為例的流程圖如圖 7所示,其中NUM1和NUM2是狀態(tài)1對應(yīng)的PC 口輸出。State1處理程序YVCNP? 一8255PC 口輸 出數(shù)據(jù)NUMn rCNT+CNT=200?N辛State= 2CNT = 0|退出圖6狀態(tài)1處理程序流程圖4. 外部中斷效勞子程序外部中斷效勞子程序主要用來處理緊急情況,將2個(gè)方向的車都停

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論