8255,8253交通燈模擬實驗報告

2022-09-19 23:36:06 字數 4637 閱讀 1119

(一) 課題簡介2

(二) 設計方案2

(三) 具體設計4

1. 電路原理4

2. 程式原理6

3. 系統原理8

1) 8259,8255a,8254工作原理8

4. 關鍵技術分析13

1) 實時控制和管理設計13

2) 發光二極體閃爍程式14

3) 源程式15

(四) 測試21

1. 在測試中遇到的問題記錄21

2. 測試結果22

(五)總結22

(六)設計體會23

(七)參考文獻24

(一課題簡介

十字道口的紅綠燈是交通法規的無聲命令,是司機和行人的行為準則。十字道口的交通紅綠燈控制是保證交通安全和道路暢通的關鍵。當前,國內大多數城市正在採用「自動」紅綠交通燈,它具有固定的「紅燈—綠燈」轉換間隔,並自動切換。

它們一般由「通行與禁止時間控制顯示、紅黃綠三色訊號燈和方向指示燈」三部分組成。在交通燈的通行與禁止時間控制顯示中,通常要麼東西、南北兩方向各50秒;要麼根據交通規律,東西方向60秒,南北方向40秒,時間控制都是固定的。交通燈的時間控制顯示,以固定時間值預先「固化」在微控制器中,每次只是以一定週期交替變化。

但是,實際上不同時刻的車輛流通狀況是十分複雜的,是高度非線性的、隨機的,還經常受認為因素的影響。採用定時控制經常造成道路有效應用時間的浪費,出現綠燈方向車輛較少,紅燈方向車輛積壓。它不顧當前道路上交通車輛數的實際情況變化,其最大的缺陷就在於當路況發生變化時,不能滿足司機與路人的實際需要,輕者造成時間上的浪費,重者直接導致交通堵塞,導致城市交通效率的下降。

目前,有一種使用「模糊控制」技術控制交通燈的方法。能夠根據十字路口兩個方向上車輛動態狀況,自動判斷紅綠燈時間間隔,以保證最大車流量,減少道口的交通堵塞。但是卻不像定時控制,能用數字顯示器顯示當前燈色剩餘時間,以便於駕駛員隨時掌握自己的駕駛動作,及時停車或啟動。

(二設計方案

使用了8259a中斷控制器、8254計數器、8255可程式設計並行介面實現了,對南北、東西方向交通的分別計時、分別控制,設計採用定時加中斷控制的方式進行,對兩個方向車輛的通行時間分別計時,可隨意進行更改雙向的通行時間。

城市十字交叉路口紅綠燈控制系統主要負責控制東西走向和南北走向的紅綠燈的狀態和轉換順序,關鍵是各個狀態之間的轉換和進行適當的時間延時,正是基於以上考慮,採用如下設計:

l1.即東西方向的綠燈和南北方向的紅燈同時點亮1分鐘;

2.1分鐘後,東西方向的黃燈閃爍5秒鐘,。此時南北方向仍維持紅燈點亮。

3.東西方向的黃燈閃爍5秒鐘後,轉為東西方向的紅燈和南北方向的綠燈同時點亮20秒鐘;

4. 20秒鐘後,轉為南北方向的黃燈閃爍5秒鐘,此時東西方向仍維持紅燈點亮。

5.南北方向的黃燈閃爍5秒鐘後,東西方向的綠燈和南北方向的紅燈同時點亮1分鐘。如此迴圈重複。

基於以上設計,在表1中給出了交通燈控制器的4種狀態,對應的狀態遷移過程見表(1)和圖(1)。

東西走向

南北走向

狀態0紅、黃、綠 001

紅、黃、綠 100

狀態1紅、黃、綠 011

紅、黃、綠 100

狀態2紅、黃、綠 100

紅、黃、綠 001

狀態3紅、黃、綠 100

紅、黃、綠 011

表(1)交通燈控制器的4種狀態

狀態2狀態3狀態0狀態1圖(1)

(三具體設計

1. 電路原理

本課題的設計可通過實驗平台上的一些功能模組電路組成,由於各模組電路內部已經連線,使用者在使用時只要設計模組間電路的連線,因此,硬體電路的設計及實現相對簡單。完整系統的硬體連線如圖1所示。硬體電路由定時模組、發光二極體模組、數碼管顯示模組和緊急中斷模組組成。

定時模組是由8254的計數器0來實現定時100ms。clk0接實驗平台分頻電路輸出q6,f=46875hz。gate0接8255的pa0,由8255輸出來控制計數器的起停。

out0接8259的irq2,定時完成申請中斷,進入中斷服務程式。

發光二極體顯示模組由8255輸出來控制發光二極體的亮滅。8255輸出為低電平時,對應的發光二極體就點亮,否則就熄滅。8255的介面電路如圖2所示。交通燈的對應關係如下: l7

l6 l5

l2 l1

l0pc7 pc6

pc5pc2pc1pc013紅燈

13黃燈

13綠燈

24紅燈

24黃燈

24綠燈

實驗平台上提供一組六個led數碼管。插孔cs1用於數碼管段選的輸出選通,插孔cs2用於數碼管位選訊號的輸出選通。本設計用4個數碼管來倒計時。

緊急中斷模組是由單脈衝發生單元和8259中斷控制器,單脈衝發生單元主要用來請求中斷,然後做出緊急情況處理。

圖2 8255介面電路

2. 程式原理:

設計數器0的計數初值為25000,由於clk0接脈衝訊號,頻率為2.5mhz,所以每10ms中斷一次。利用cx對不同的狀態時間計數,用來實現計數器0對1分鐘,20秒鐘,5秒鐘的定時。

中斷子程式分為數碼顯示重新整理部分和紅綠黃燈各種狀態切換部分。每進入中斷即重新整理led顯示。用對於東西車道和南北車道黃燈閃爍利用標誌位判斷實現,滿足比較條件就暗,不滿足條件就亮。

8254計數的起停由8255的pa0控制,8255的pa0輸出1時,8254開始計數,交通燈按正常狀態切換工作,pa0輸出0時,計數器停止工作,交通燈不再按正常狀態切換。8254開始計數後每100ms發出乙個中斷申請訊號,在中斷子程式中先重新整理數碼管,然後判斷當前狀態,進入相應的處理程式進行處理。

主程式負責系統的初始化,然後數碼管資料輸出顯示,同時檢測pc鍵盤按鍵,有按鍵就退出程式。主程式的流程圖如圖3所示。

定時中斷子程式是本設計的重點,負責完成數碼管輸出資料重新整理和各個狀態的處理切換。中斷子程式包括數碼管輸出資料重新整理程式和各狀態處理程式。數碼管輸出資料重新整理子程式是實現倒計時25s,用ledout表示輸出的資料,cnt用來軟體計時1s,就是計數10個100ms。

led輸出是要將輸出的資料轉化為段選碼。根據當前的狀態跳轉到相應的處理程式,在處理程式中完成定時和狀態的切換。狀態1和3的流程是一樣的,先點亮對應的交通燈,再判斷定時到了就可以切換了。

狀態2和4要實現黃燈的閃爍,間隔點亮和熄滅就可以了。狀態1和3處理程式的流程圖(以狀態1為例)如圖6所示,其中num是狀態1對應的pc口輸出。

外部中斷服務子程式主要用來處理緊急情況,將2個方向的車都停止執行,點亮所有紅燈。下次中斷來時恢復以前的狀態。用乙個標誌位flag判斷是第一次進入還是恢復狀態。

3. 系統原理

1) 8259,8255a,8254工作原理:

i. 8259的工作原理

1、資料匯流排緩衝器:8259a與系統資料匯流排的介面,是8位雙向三態緩衝器。cpu與8259a之間的控制命令資訊、狀態資訊以及中斷型別資訊,都是通過緩衝器傳送的。

2、讀/寫控制邏輯:cpu通過它實現對8259a的讀/寫操作。

3、級連緩衝器:用以實現8259a晶元之間的級連,使得中斷源可以由8級擴充套件至64級。

4、控制邏輯電路:對整個晶元內部各部件的工作進行協調和控制。

5、中斷請求暫存器irr:8位,用以分別儲存8個中斷請求訊號,當響應的中斷請求輸入腳有中斷請求時,該暫存器的相應位置1。

6、中斷遮蔽暫存器imr:8位,相應位用以對8個中斷源的中斷請求訊號進行遮蔽控制。當其中某位置「0「時,則相應的中斷請求可以向cpu提出;否則,相應的中斷請求被遮蔽,即不允許向cpu提出中斷請求。

該暫存器的內容為8259a的操作命令字ocw1,可以由程式設定或改變。

7、中斷服務暫存器isr:8位,當cpu正在處理某個中斷源的中斷請求時,isr暫存器中的相應位置1。

8、用以比較正在處理的中斷和剛剛進入的中斷請求之間的優先級別,以決定是否產生多重中斷或中斷巢狀。

ii. 8255a的工作原理

1、8255a的內部結構:

1) 資料匯流排緩衝器:這是乙個雙向三態的8位資料緩衝器,它是8255a與微機系統資料匯流排的介面。輸入輸出的資料、cpu輸出的控制字以及cpu輸入的狀態資訊都是通過這個緩衝器傳送的。

2) 三個埠a,b和c:a埠包含乙個8位資料輸出鎖存器和緩衝器,乙個8位資料輸入鎖存器。b埠包含乙個8位資料輸入/輸出鎖存器和緩衝器,乙個8位資料輸入緩衝器。

c埠包含乙個8位資料輸出鎖存器和緩衝器,乙個8位資料輸入緩衝器(輸入沒有鎖存器)。

3) a組和b組控制電路:這是兩組根據cpu輸出的控制字控制8255工作方式的電路,它們對於cpu而言,共用乙個埠位址相同的控制字暫存器,接收cpu輸出的一位元組方式控制字或對c口按位復位字命令。方式控制字的高5位決定a組的工作方式,低3位決定b組的工作方式。

對c口按位復位命令字可對c口的每一位實現置位或復位。a組控制電路控制a口和c口上半部,b組控制電路控制b口和c口下半部。

4) 讀寫控制邏輯:用來控制把cpu輸出的控制字或資料送至相應埠,也由它來控制把狀態資訊或輸入資料通過相應的埠送到cpu。

2、8255a的工作方式:

方式0---基本輸入輸出方式;方式1---選通輸入輸出方式;

方式2---雙向選通輸入輸出方式。

3、引腳訊號

8255a的引腳如圖7.5所示,分為資料線、位址線、讀/寫控制線、輸入/輸出埠線和電源線。

d7~d0(data bus):三態、雙向資料線,與cpu資料匯流排連線,用來傳送資料。

(chip select):片選訊號線,低電平有效時,晶元被選中。

實驗六交通燈實驗

資訊工程學院實驗報告 課程名稱 微機原理與接 術 實驗專案名稱 實驗六交通燈實驗實驗時間 2013.12.4 t span cr r 10 實驗目的 強化對8255a和8253a晶元的使用,實現簡單的交通燈 實驗環境 windows xp 湖北眾友軟體 實驗內容及過程 1 首先在微機原理及介面實驗箱...

交通燈模擬控制系統

課程設計說明書 課程設計名稱專業課程設計 課程設計題目 交通燈模擬控制系統 學院名稱資訊工程學院 專業 電子資訊工程班級 學號姓名 評分教師 20 15 年 7 月 3 日 電子資訊工程專業課程設計任務書 20 14 20 15學年第 2 學期分散1週第 17 周 19 周集中 注 1 此表一組一表...

交通燈設計實驗報告

電子技術綜合設計報告 目錄一 設計背景3 二 設計任務及要求3 三 設計原理3 四 實物圖9 五 主要儀器和除錯方法9 六 實驗過程中的問題以及心得10 七 附錄11 交通燈定時控制系統的設計 製作報告 一 設計背景 在城鎮街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅 ...