版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 前 言</b></p><p> 隨著計算機科學(xué)技術(shù)的不斷發(fā)展,微型計算機得到了廣泛的應(yīng)用,是人們利用計算機設(shè)計和開發(fā)各種應(yīng)用系統(tǒng)的基礎(chǔ)。同時微型計算機接口技術(shù)也是一門實踐性較強的課程, 理論與實踐相結(jié)合可以更好的掌握知識,這也是這次交通燈系統(tǒng)控制的設(shè)計目的。交通燈是交通安全的關(guān)鍵,已廣泛應(yīng)用于城鄉(xiāng)的十字路口,它的有無作為交通安全檢查的重要依據(jù),是交通秩序正常
2、進(jìn)行的有力保障。</p><p> 十字道口的紅綠燈是交通法規(guī)的無聲命令,是司機和行人的行為準(zhǔn)則。十字道口的交通紅綠燈控制是保證交通安全和道路暢通的關(guān)鍵。當(dāng)前,國內(nèi)大多數(shù)城市正在采用“自動”紅綠交通燈,它具有固定的“紅燈—綠燈”轉(zhuǎn)換間隔,并自動切換。它們一般由“通行與禁止時間控制顯示、紅黃綠三色信號燈和方向指示燈”三部分組成。交通燈的時間控制顯示,以固定時間值預(yù)先“固化”在單片機中,每次只是以一定周期交替變化。
3、但是,實際上不同時刻的車輛流通狀況是十分復(fù)雜的,是高度非線性的、隨機的,還經(jīng)常受認(rèn)為因素的影響。采用定時控制經(jīng)常造成道路有效應(yīng)用時間的浪費,出現(xiàn)綠燈方向車輛較少,紅燈方向車輛積壓。它不顧當(dāng)前道路上交通車輛數(shù)的實際情況變化,其最大的缺陷就在于當(dāng)路況發(fā)生變化時,不能滿足司機與路人的實際需要,輕者造成時間上的浪費,重者直接導(dǎo)致交通堵塞,導(dǎo)致城市交通效率的下降。目前,有一種使用“模糊控制”技術(shù)控制交通燈的方法。能夠根據(jù)十字路口兩個方向上車輛動態(tài)
4、狀況,自動判斷紅綠燈時間間隔,以保證最大車流量,減少道口的交通堵塞。但是卻不像定時控制,能用數(shù)字顯示器顯示當(dāng)前燈色剩余時間,以便于駕駛員隨時掌握自己的駕駛動作,及時停車或啟動。 </p><p> 本次課程設(shè)計以固定的程序?qū)崿F(xiàn)對交通燈實行控制,沒有實現(xiàn)智能化,但智能化是交通控制系統(tǒng)是交通控制系統(tǒng)發(fā)展的必然趨勢,也是滿足日益發(fā)展的社會需要。通過本次的課程設(shè)計,更好的學(xué)習(xí)微機接口的應(yīng)用技術(shù),使我們將課堂所學(xué)到的
5、知識和實踐有機結(jié)合起來,初步掌握計算機應(yīng)用系統(tǒng)設(shè)計的步驟和接口設(shè)計的方法,提高分析和解決實際問題的能力。</p><p> 由于時間倉促和水平所限,本次課程設(shè)計難免有欠妥之處,請不吝批評指正。</p><p> 摘要:本文介紹了以計算機為核心.利用可編程并行接口芯片8255A的軟硬件功能,實現(xiàn)對交通燈控制</p><p> 關(guān)鍵詞: 計算機 可編程并行接日
6、芯片 交通燈 8255A</p><p><b> 目錄</b></p><p> 封 面 ——————————————————————— 1</p><p> 前 言 ————————————————————————2</p><p> 目 錄 ———————————————————
7、—————3</p><p> 課程設(shè)計任務(wù)書 —————————————————————4</p><p> 課程設(shè)計題目及要求———————————————5</p><p> 系統(tǒng)設(shè)計————————————————————6</p><p> 2.1 交通燈控制系統(tǒng)介紹</p><p> 2.2
8、芯片選擇 </p><p><b> 2.3 系統(tǒng)原理</b></p><p> 第三章 詳細(xì)設(shè)計————————————————————9</p><p><b> 3.1 硬件設(shè)計</b></p><p> 3.1.1 8255A并行接口————————————————10<
9、;/p><p> 3.1.2 8259A可編程中斷控制器————————————12</p><p> 3.1.3 8253可編程定時器/計數(shù)器———————————13</p><p> 3.2 軟件設(shè)計 —————————————————————15</p><p> 3.3 程序流程圖———————————————————
10、——21</p><p> 第四章 程序設(shè)計 ————————————————————22</p><p> 第五章 調(diào)試結(jié)果 ————————————————————24</p><p> 5.1 實驗步驟</p><p> 5.2 調(diào)試記錄與分析</p><p> 第六章 小結(jié) ———
11、—————————————————25</p><p> 第七章 參考文獻(xiàn)————————————————————26</p><p> 第八章 附錄——————————————————————27</p><p> ?、?課程設(shè)計題目:交通燈</p><p><b> ?、?原始資料</b></p&g
12、t;<p> 1、《微型計算機及接口》實驗指導(dǎo)書</p><p> 2、《微型計算機接口技術(shù)及應(yīng)用》教材</p><p> 3、交通燈的工作原理(圖書館借、網(wǎng)上搜索、下載)</p><p> ?、?課程設(shè)計任務(wù)內(nèi)容</p><p> 課程設(shè)計的目的意義:</p><p> 通過課程設(shè)計培養(yǎng)同學(xué)
13、們的系統(tǒng)設(shè)計能力,使同學(xué)們達(dá)到以下能力訓(xùn)練:</p><p> ⑴、調(diào)查研究、分析問題的能力;</p><p> ?、?、使用設(shè)計手冊、技術(shù)規(guī)范的能力;</p><p> ?、恰⒉殚喼型馕墨I(xiàn)的能力;</p><p> ?、?、制定設(shè)計方案的能力;</p><p> ⑸、計算機應(yīng)用的能力;</p><
14、p> ?、?、設(shè)計計算和繪圖的能力;</p><p> ⑺、技術(shù)經(jīng)濟指標(biāo)的分析能力;</p><p> ⑻、語言文字表達(dá)的能力。</p><p> 本課題研究的主要內(nèi)容:</p><p> 使用 8255A的A口和B口模擬十字路口交通燈的閃爍情況。</p><p><b> 基本要求:</
15、b></p><p> ⑴、設(shè)計實驗電路(要求利用FD-88實驗儀的硬件資源)</p><p><b> ⑵、分析實驗原理</b></p><p><b> ?、恰⒘谐鰧嶒灲泳€表</b></p><p> ?、取⒉捎脜R編語言編寫實驗程序</p><p> ?、?、通過
16、實驗驗證功能的實現(xiàn)</p><p> ?、?、編寫課程設(shè)計說明書</p><p> 第一章 課程設(shè)計題目以及要求</p><p> 一、 課程設(shè)計題目:交通燈 </p><p> 使用8255A的A口和B口模擬十字路口交通燈的閃爍情況</p><p><b> 二、基本要求:</b>&
17、lt;/p><p> 1、設(shè)計實驗電路(要求利用FD-88試驗儀的硬件資源)</p><p><b> 2、分析實驗原理</b></p><p><b> 3、列出實驗接線表</b></p><p> 4、采用匯編語言編寫實驗程序</p><p> 5、通過實驗驗證功能
18、的實現(xiàn)</p><p> 6、編寫課程設(shè)計說明書。</p><p> 第二章 系統(tǒng)設(shè)計</p><p> 2.1交通燈控制系統(tǒng)介紹</p><p> 十字道口的紅綠燈是交通法規(guī)的無聲命令,是司機和行人的行為準(zhǔn)則。十字道口的交通紅綠燈控制是保證交通安全和道路暢通的關(guān)鍵。當(dāng)前,國內(nèi)大多數(shù)城市正在采用“自動”紅綠交通燈,它具有固定的“紅
19、燈—綠燈”轉(zhuǎn)換間隔,并自動切換。它們一般由“通行與禁止時間控制顯示、紅黃綠三色信號燈和方向指示燈”三部分組成。假設(shè)為某個十字路口設(shè)計一個交通燈控制系統(tǒng),1、3為東,南方向, 2、4為西,北方向,初始態(tài)為4個路口的紅燈全亮。 之后, 1、3路口的綠燈亮, 2、4路口的紅燈亮, 1、3路口方向通車。 延遲一段時間后, 1、3路口的綠燈熄滅,而1、3路口的黃燈開始閃爍。閃爍若干次后, 1、3路口的紅燈亮, 同時2、4路口的綠燈亮, 2、4路口
20、方向開始通車。 延遲一段時間后, 2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍若干次后,再切換到1、3路口方向。 之后,重復(fù)上述過程。</p><p><b> 2.1.1主要內(nèi)容</b></p><p> 在十字路口的東西和南北兩個方向都各有紅、黃、綠三個信號燈。紅、黃、綠交通燈的變化規(guī)律為: 1)南北方向的綠燈、東西方向的紅燈同時亮20秒。 2)南北方向的綠
21、燈滅、黃燈亮5秒,同時東西方向的紅燈繼續(xù)亮。 3)南北方向的黃燈滅、紅燈亮,同時東西方向的紅燈滅、綠燈亮,持續(xù)20秒。 4)南北方向的紅燈繼續(xù)亮,同時東西方向的綠燈滅、黃燈亮5秒。 5)轉(zhuǎn)1)重復(fù)。 </p><p><b> 2.1.2工作原理</b></p><p> 交通燈的工作過程如下:設(shè)十字路口的1、3為南,北方向,2、4為東西方向,初始態(tài)為4個
22、路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車,2個路口的LED數(shù)碼管開始倒計時25秒。延遲20秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開始閃爍(1HZ)。閃爍5次后,1、3路口的紅燈亮,同時2、4路口的綠燈亮,2、4路口方向開始通車,2個路口的LED數(shù)碼管重新開始倒計時25秒。延遲20秒時間后,2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復(fù)上述過程。當(dāng)有緊急
23、情況時,2個方向都紅燈亮,倒計時停止,車輛禁止通行,當(dāng)緊急情況結(jié)束后,控制器恢復(fù)以前的狀態(tài)繼續(xù)工作。</p><p> 在設(shè)計中采用6個發(fā)光二極管來模擬2個路口的黃紅綠燈,每個路口用2個數(shù)碼管來顯示通行或禁止剩余的時間。緊急情況用一個單脈沖發(fā)生單元申請中斷來模擬,緊急情況結(jié)束后,再發(fā)一個中斷來恢復(fù)以前的狀態(tài)。</p><p> 根據(jù)前面的介紹,本設(shè)計硬件由定時模塊、發(fā)光二極管模塊、數(shù)碼
24、管顯示模塊和緊急中斷模塊組成。定時模塊采用硬件定時和軟件定時相結(jié)合的方法,用8253定時/計數(shù)器定時100ms,再用軟件計時實現(xiàn)所需的定時。發(fā)光二極管模塊由8255控制發(fā)光二極管來實現(xiàn)。數(shù)碼管顯示模塊由實驗平臺上的LED顯示模塊實現(xiàn)。緊急中斷模塊是由單脈沖發(fā)生單元和8279中斷控制器組成。</p><p> 程序主要是由定時子程序、發(fā)光二極管顯示子程序、數(shù)碼管顯示子程序和中斷服務(wù)程序組成。包括對8253、825
25、5以及8259等可編程器件的編程。</p><p><b> 交通燈顯示模塊</b></p><p> 2.2、 芯片選擇 1.用實驗系統(tǒng)8255A實現(xiàn)對信號燈的控制(所用端口自定);2位數(shù)碼顯示用 8255A實現(xiàn)控制。 2. 用實驗系統(tǒng)8253的計數(shù)器2定時向?qū)嶒炏到y(tǒng)主片8259A的IRQ7請求中斷,
26、 以實現(xiàn)定時;實驗系統(tǒng)8253的計數(shù)器2的CLK2接OPCLK,頻率為1.19318MHZ;GATE2已接 +5V;定時采用軟硬件相結(jié)合的方式實現(xiàn)。 ⒊ 用實驗系統(tǒng)的發(fā)光二極管模擬紅綠燈</p><p><b> 2.3 系統(tǒng)原理</b></p><p> 本次系統(tǒng)利用8253定時,8259中斷、8255A并口輸出實現(xiàn)交通燈模擬控制的硬件電路,利用匯編
27、語言程序編寫源程序代碼實現(xiàn)軟件部分;能自動控制和手動控制,可以調(diào)整自動模式的綠燈和紅燈時間。通過接口芯片8255構(gòu)成并行接口電路,用它的A口和B口模擬交通燈的閃爍情況,A口表示東、南方向,B口表示西、北方向,綠燈和紅燈共同表示黃燈。首先片選對應(yīng)的端口地址,定義8255A的工作方式位0;然后對端口A和B進(jìn)行不同的數(shù)據(jù)寫入,控制交通燈的亮度以及閃爍情況,采用延時子系統(tǒng)。</p><p><b> 第三章
28、詳細(xì)設(shè)計</b></p><p><b> 3.1硬件設(shè)計</b></p><p> 本課題的設(shè)計可通過實驗平臺上的一些功能模塊電路組成,由于各模塊電路內(nèi)部已經(jīng)連接,用戶在使用時只要設(shè)計模塊間電路的連接,因此,硬件電路的設(shè)計及實現(xiàn)相對簡單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由定時模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。</p&
29、gt;<p> 定時模塊是由8253的計數(shù)器0來實現(xiàn)定時100ms。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255輸出來控制計數(shù)器的起停。OUT0接8259的IRQ2,定時完成申請中斷,進(jìn)入中斷服務(wù)程序。</p><p> 3.1.1.8255A并行接口</p><p> 一. 8255A的引腳及功能 </p>
30、;<p> 8255A是一個采用NMOS工藝制造的40個引腳的雙列直插式組建, 其外部引腳如下圖所示:</p><p> 功能:8255A具有面向主機系統(tǒng)總線和面向外設(shè)兩個方向的連接能力,即通過8255A,CPU可直接同外設(shè)相連接,負(fù)責(zé)CPU和外設(shè)之間的數(shù)據(jù)傳送。</p><p> 1、面向系統(tǒng)總線的信號線</p><p> D0~~D7:雙向
31、數(shù)據(jù)線;CPU通過它向8255A發(fā)送命令、數(shù)據(jù);8255A通過它向CPU回送狀態(tài)、數(shù)據(jù)</p><p> /CS:選片信號線,該信號線低電平有效,由系統(tǒng)總線經(jīng)I/O地址譯碼器產(chǎn)生</p><p> A1、A0:芯片內(nèi)部端口地址信號線,與系統(tǒng)地址總線地位相連</p><p> /RD:讀信號線,該信號低電平有效,CPU通過執(zhí)行IN指令,發(fā)讀信號將數(shù)據(jù)或狀態(tài)信號從
32、8255A讀至CPU</p><p> /WR:寫信號線,該信號低電平有效,CPU通過執(zhí)行OUT指令,發(fā)寫信號,將命令或數(shù)據(jù)寫入8255A</p><p> RESET:復(fù)位信號線,該信號高電平有效。</p><p> 2、面向I/O設(shè)備的信號線</p><p> PA0~~PA1:端口A的輸入/輸出線</p><
33、p> PBO~~PB7:端口B的輸入/輸出線</p><p> PC0~~PC7:端口C的輸入/輸出線</p><p> 這24根信號線均可用來連接I/O設(shè)備,通過它們傳送數(shù)字量信息或開關(guān)量信息</p><p><b> 二、內(nèi)部結(jié)構(gòu)</b></p><p><b> 1、數(shù)據(jù)總線緩沖器<
34、/b></p><p><b> 2、讀/寫控制邏輯</b></p><p> 3、A組和B組控制電路</p><p> 4、數(shù)據(jù)端口A、B、C</p><p> 三、8255的工作方式</p><p> 1、方式0——基本輸入/輸出方式</p><p>
35、 8255工作在方式0時,三個端口分成彼此的兩個8位口,即A口和B口,兩個4位口,這4個并行口都能設(shè)定為輸入或輸出。方式0常用于無條件查詢傳送</p><p> 2、方式1——選通輸入/輸出方式</p><p> 3、方式2——雙向輸入/輸出方式</p><p> 3.1.2 8259A可編程中斷控制器</p><p> 一、8259
36、A的引腳及功能</p><p> 8259A的引線分為3部分,即與CPU的接口引線,與外設(shè)的引線和用于級聯(lián)的接口引線,如下圖所示</p><p> 1、8259A與CPU的接口引線</p><p> D7~D0:數(shù)據(jù)線,雙向,三態(tài)。與CPU數(shù)據(jù)總線直接相連</p><p> /WR: 寫信號,輸入,低電平有效</p>
37、<p> /RD: 讀信號,輸入,低電平有效</p><p> A0: 地址線,輸入,用于尋址8259A內(nèi)部的兩個端口,此引腳連接CPU系統(tǒng)地址線</p><p> /CS: 片選信號,輸入,低電平有效。此引腳連接譯碼電路輸出端</p><p> INT:中斷請求信號,輸出,高電平有效,連接CPU的可屏蔽中斷請求輸入端INTR</p
38、><p> /INTA; 中斷響應(yīng)信號,低電平有效,用于接收CPU送回的中斷響應(yīng)負(fù)脈沖</p><p><b> 二、內(nèi)部結(jié)構(gòu)</b></p><p><b> 1、數(shù)據(jù)總線緩沖器</b></p><p><b> 2、讀/寫邏輯</b></p><p&
39、gt; 3、級聯(lián)緩沖/比較器</p><p><b> 4、中斷請求寄存器</b></p><p><b> 5、終端屏蔽寄存器</b></p><p><b> 6、優(yōu)先權(quán)分析器</b></p><p><b> 7、中斷服務(wù)寄存器</b>&l
40、t;/p><p><b> 8、控制邏輯</b></p><p><b> 三、工作方式</b></p><p><b> 1、屏蔽中斷源方式</b></p><p> 2、設(shè)置優(yōu)先級的方式</p><p><b> 3、中斷結(jié)束方式&l
41、t;/b></p><p><b> 4、查詢中斷方式</b></p><p><b> 5、讀取狀態(tài)方式</b></p><p><b> 6、級聯(lián)方式</b></p><p> 7、連接系統(tǒng)總線方式</p><p> 3.1.3、82
42、53可編程定時器/計數(shù)器</p><p> 一、8253定時/計數(shù)器的引腳及功能</p><p> 8253是NMOS工藝制成,采用單一+5V電源,24引腳雙列直插式封裝,外部引腳如下所示</p><p> 1、8253與CPU的接口引線</p><p> D7~D0:雙向數(shù)據(jù)線:可直接與數(shù)據(jù)總線相連,用于傳遞各種數(shù)據(jù)信息</p
43、><p> /WR:寫信號,輸入,低電平有效,用于控制CPU對8253的寫操作</p><p> /RD:讀信號,輸入低電平有效。用于控制CPU對8253的讀操作</p><p> A1、A0:地址線,輸入信號</p><p> /CS:片選信號,輸入信號,低電平有效。當(dāng)/CS為0時,8253被選中,允許CPU對其進(jìn)行讀/寫操作</
44、p><p> 2、8253與外設(shè)的接口引線</p><p> CLKO~CLK2:時鐘輸入信號;GATE0~GATE2:門控輸入信號;OUT0~OUT2:計數(shù)輸出端</p><p><b> 3、定時與計數(shù)方式</b></p><p><b> 二、內(nèi)部結(jié)構(gòu)</b></p><
45、;p><b> 1、數(shù)據(jù)總線緩沖器</b></p><p><b> 2、讀/寫邏輯電路</b></p><p><b> 3、控制字寄存器</b></p><p><b> 4、計數(shù)器</b></p><p> 三、8253方式控制字&l
46、t;/p><p> 定時/計數(shù)器8253的每個計數(shù)通道根據(jù)CPU發(fā)命令寫入控制寄存器的控制字確定工作方式和計數(shù)格式。8253控制字的格式如下所示:</p><p> D7、D6:計數(shù)器選擇位SC1、SC0。8253的3個計數(shù)器相互獨立,并且都有一個控制寄存器。但這三個控制寄存器占用同一個端口地址,即A1A0=11</p><p> D5、D4:讀/寫指示位RW1、
47、RW0。CPU向某個計數(shù)器寫入初值和讀取它們的當(dāng)前值時不同的格式</p><p> D3、D2、D1:工作方式選擇位M2、M1、M0。8253有6種工作方式,選擇哪種工作方式由M2、M1、M0編碼確定</p><p> DO:數(shù)值計數(shù)格式,用來選擇計數(shù)格式。DO=O,計數(shù)器按二進(jìn)制格式計數(shù);D0=1,計數(shù)器按BCD碼格式計數(shù)</p><p> 四、8253工作
48、方式</p><p> 1、方式0——計數(shù)結(jié)束中斷方式</p><p> 2、方式1——可編程單穩(wěn)態(tài)輸出方式</p><p> 3、方式2——分頻器</p><p> 4、方式3——方波發(fā)生器</p><p> 5、方式4——軟件觸發(fā)選通</p><p><b> 3.2軟
49、件設(shè)計</b></p><p><b> 1. 軟件設(shè)計思路</b></p><p> 本程序由主程序、定時中斷子程序和外部中斷子程序組成。主程序主要負(fù)責(zé)系統(tǒng)初始化和等待中斷。定時中斷子程序主要負(fù)責(zé)數(shù)碼管顯示刷新和紅綠黃燈各種狀態(tài)切換。外部中斷子程序負(fù)責(zé)緊急情況處理和處理完恢復(fù)。</p><p> 8253計數(shù)的起停由8255
50、的PA0控制,8255的PA0輸出1時,8253開始計數(shù),交通燈按正常狀態(tài)切換工作,PA0輸出0時,計數(shù)器停止工作,交通燈不再按正常狀態(tài)切換。8253開始計數(shù)后每100ms發(fā)出一個中斷申請信號,在中斷子程序中先刷新數(shù)碼管,然后判斷當(dāng)前狀態(tài),進(jìn)入相應(yīng)的處理程序進(jìn)行處理。當(dāng)有緊急情況時進(jìn)入外部中斷服務(wù)子程序,先讓8253停止計數(shù),然后點亮所有的紅燈,下一次外部中斷處理時,恢復(fù)原來的交通燈狀況,啟動8253開始工作。</p>&
51、lt;p><b> 2. 主程序設(shè)計</b></p><p> 主程序負(fù)責(zé)系統(tǒng)的初始化,然后數(shù)碼管數(shù)據(jù)輸出顯示,同時檢測PC鍵盤按鍵,有按鍵就退出程序。主程序的流程圖如圖3所示。</p><p> 系統(tǒng)初始化包括8253的初始化,8255的初始化,中斷向量初始化以及設(shè)置交通燈工作的初始狀態(tài)。8253定時的時間是100ms,clk0的輸入時鐘f=46875h
52、z,所以計數(shù)初值為124FH。</p><p><b> 主程序的流程圖:</b></p><p> 3. 定時中斷子程序</p><p> 定時中斷子程序是本設(shè)計的重點,負(fù)責(zé)完成數(shù)碼管輸出數(shù)據(jù)刷新和各個狀態(tài)的處理切換。中斷子程序包括數(shù)碼管輸出數(shù)據(jù)刷新程序和各狀態(tài)處理程序。中斷程序的流程圖如圖4所示。</p><p&g
53、t; 數(shù)碼管輸出數(shù)據(jù)刷新子程序是實現(xiàn)倒計時25s,用LEDOUT表示輸出的數(shù)據(jù),cnt用來軟件計時1s,就是計數(shù)10個100ms。LED輸出是要將輸出的數(shù)據(jù)轉(zhuǎn)化為段選碼。LED數(shù)碼管倒計時顯示子程序的流程圖如圖5所示。</p><p> 根據(jù)當(dāng)前的狀態(tài)跳轉(zhuǎn)到相應(yīng)的處理程序,在處理程序中完成定時和狀態(tài)的切換。狀態(tài)1和3的流程是一樣的,先點亮對應(yīng)的交通燈,再判斷定時到了就可以切換了。狀態(tài)2和4要實現(xiàn)黃燈的閃爍,間
54、隔點亮和熄滅就可以了。狀態(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口輸出。</p><p> 4. 外部中斷服務(wù)子程序</p><p> 外部中斷服務(wù)子程序主要用來處理緊急情況,將2個方向的車都停止運行,點亮所有紅燈。下次中斷來時
55、恢復(fù)以前的狀態(tài)。用一個標(biāo)志位FLAG判斷是第一次進(jìn)入還是恢復(fù)狀態(tài)。外部中斷服務(wù)子程序的流程圖見圖8所示。</p><p> 5.FD88調(diào)試軟件</p><p><b> §1、功能特點</b></p><p> FD88 Debug(文件名FD88.EXE)是IBM-PC上( 286, 386。 486或兼容機)為FD8088
56、A實驗儀配置的調(diào)試軟件。它具有功能強、使用靈活方便、人- 機界面友善、穩(wěn)定可靠等特點,能支持各種應(yīng)用系統(tǒng)的調(diào)試。在FD8088A實驗儀和Debug軟件支持下、使用戶得心應(yīng)手地完成實驗過程中各個階段的工作(包括源程序編輯、存盤、讀盤、程序調(diào)試等),大大提高工作效率,縮短調(diào)試周期。</p><p> FD88 調(diào)試軟件允許用戶使用兩種操作方式:窗口方式和命令方式.窗口方式顯示的信息量大,各個窗口都是活動的,用戶可在
57、窗口中進(jìn)行修改數(shù)據(jù)等操作。窗口方式具有系統(tǒng)初始化、文件管理、運行控制、窗口管理等多種操作命令。用戶既可以根據(jù)菜單操作也可以使用一些功能鍵進(jìn)行操作.窗口方式特別適用于程序的調(diào)試,便于觀察程序運行后的結(jié)果。命令方式操作快捷;對于熟練用戶比較合適。</p><p><b> §2、啟動方法</b></p><p> 將FD8088A實驗儀和 IBM-PC( 2
58、86, 386, 486或兼容機)通過 RS232電纜相連;打開FD8088A實驗儀電源. PC機開機以后運行FD88調(diào)試軟件( FD88調(diào)試軟件可以復(fù)制到PC機的硬盤上)。FD88調(diào)試軟件有四個參數(shù)。用戶可使用其中任意一個,其功能如下:</p><p> /n 啟動調(diào)試軟件,但不和實驗系統(tǒng)進(jìn)行通訊連接,用戶可在軟件中在進(jìn)行連接:</p><p> /1 啟動調(diào)試軟件,使用
59、串行口1, 19600波持率和實驗系統(tǒng)連接;</p><p> /2 啟動調(diào)試軟件,使用單行口2;19600波特率和實驗系統(tǒng)連接;</p><p> /? 顯示FD88調(diào)試軟件的參數(shù)幫助信息.</p><p><b> ⑴、異常情況</b></p><p> 如果調(diào)試軟件和實驗系統(tǒng)連接失敗,則在屏幕上彈
60、出提示窗口:</p><p> 這時輸入回車鍵;進(jìn)入調(diào)試軟件.用戶應(yīng)檢查串行口設(shè)置,還應(yīng)檢查FD-SJ8088A實驗系統(tǒng)電源是否開放。若電源已開啟,按一下復(fù)位按鈕使之處于初始狀態(tài)。如果聯(lián)接錯誤是因為串行口設(shè)置錯誤,則應(yīng)按ALT+X鍵退出調(diào)試軟件,使用正確的參數(shù)重新啟動。如是其他原因,糾正錯誤后使用菜單命令中Reconnect命令重新進(jìn)行連接即可。</p><p><b> ?、?/p>
61、、正常情況</b></p><p> 如果連接和操作正確,則在屏幕上出現(xiàn)六個窗口,系統(tǒng)現(xiàn)場信息分別顯示在各窗口內(nèi)。</p><p><b> 3.3 程序流程圖</b></p><p> 第四章 程序設(shè)計</p><p><b> 部分程序清單如下:</b></p>
62、;<p> MY8255_A EQU IOY0+00H*4 ;8255的A口地址</p><p> MY8255_B EQU IOY0+01H*4 ;8255的B口地址</p><p> MY8255_C EQU IOY0+02H*4 ;8255的C口地址</p><p> MY825
63、5_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址</p><p> STACK1 SEGMENT STACK</p><p> DW 256 DUP(?)</p><p> STACK1 ENDS</p><p> DATA SEGMENT </p><p> LA
64、 DB ? ;定義數(shù)據(jù)變量</p><p> LB DB ?</p><p><b> DATA ENDS</b></p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,DS:DATA</p><p&
65、gt; START: MOV AX,DATA</p><p><b> MOV DS,AX</b></p><p> MOV DX,MY8255_MODE ;定義8255工作方式 </p><p> MOV AL,80H ;工作方式0,A口和B口為輸出</p><
66、p><b> OUT DX,AL</b></p><p> LOOP1: MOV DX,MY8255_A ;寫A口發(fā)出的數(shù)據(jù),東方向綠燈亮,南方向</p><p><b> 紅燈亮</b></p><p> MOV AL,3CH</p><p><b> OUT DX,A
67、L</b></p><p> MOV DX,MY8255_B ;寫B(tài)口發(fā)出的數(shù)據(jù),西方向綠燈亮,北方向</p><p><b> 紅燈亮</b></p><p> MOV AL,3CH</p><p><b> OUT DX,AL</b></p><p>
68、; CALL DALLY1</p><p> DALLY PROC NEAR ;軟件延時子程序 </p><p><b> PUSH CX</b></p><p><b> PUSH AX</b></p><p> MOV CX,0FFFH<
69、/p><p> D1: MOV AX,0FFFFH</p><p> D2: DEC AX</p><p><b> JNZ D2</b></p><p><b> LOOP D1</b></p><p><b> POP AX</b
70、></p><p><b> POP CX</b></p><p><b> RET</b></p><p> DALLY ENDP</p><p> DALLY1 PROC NEAR ;軟件延時子程序,東西方向紅燈亮,南北方向綠燈亮</p><p>
71、;<b> PUSH CX</b></p><p><b> PUSH AX</b></p><p> MOV CX,1EH</p><p> D3: CALL DALLY</p><p><b> LOOP D3 </b></p><p
72、><b> POP AX</b></p><p><b> POP CX</b></p><p><b> RET</b></p><p> DALLY1 ENDP</p><p> DALLY2 PROC NEAR ;軟件延時子程序,黃燈閃爍(
73、即亮與滅)的時間間隔,</p><p><b> PUSH CX</b></p><p> PUSH AX </p><p> MOV CX,02H</p><p> D4: CALL DALLY </p><p> LOOP D3 </p
74、><p><b> POP AX</b></p><p><b> POP CX</b></p><p><b> RET</b></p><p> DALLY2 ENP</p><p><b> 第五章 調(diào)試結(jié)果</b>
75、;</p><p><b> 5.1 實驗步驟</b></p><p> ?。?) 連接8255并行口控制交通燈實驗電路</p><p> 運行并使其能通過軟件控制其交通燈控制系統(tǒng)。</p><p> ?。?) 連接8259單極中斷控制器實驗電路</p><p> 運行并使其能成功完成中斷控
76、制。</p><p> ?。?) 連接8253定時/計數(shù)器實驗電路</p><p> 運行并使其能定時/計數(shù)器功能,并產(chǎn)生方波。</p><p> ?。?) 用導(dǎo)線將以上實驗電路模塊連接起來,就是硬件控制的交通燈控制系統(tǒng)。</p><p> ?。?) 編寫程序代碼,8255交通燈顯示實驗,A口表示東、南方向,B口表示西、北方向,綠燈和紅燈共
77、同表示黃燈</p><p> (6) 將匯編好的實驗程序裝入</p><p><b> ?。?) 匯編調(diào)試</b></p><p> ?。?) 記錄運行結(jié)果,以及調(diào)試中遇到的問題</p><p> 5.2調(diào)試記錄與分析</p><p> 在調(diào)試中,剛開始由于對一些芯片不是很了解以及匯編語言用
78、的不是很熟練,所以起初錯誤比較多,要么燈都不顯示,要么燈顯示不全,再要么紅燈綠燈時間分配不合理。總之是一頭霧水,通過翻閱接口方面的書以及在網(wǎng)上查閱資料,有點了初步的進(jìn)展。諸如像燈不顯示或顯示不全,一方面可能由于電路連接出錯或者可能程序沒寫正確都會導(dǎo)致這些錯誤。而紅黃綠時間分配不合理,比方說黃燈時間很久而綠燈時間很短,這都是時間設(shè)置問題,這些都要通過代碼更改才能實現(xiàn)。其中8255A的A口表示東、南方向,B口表示西、北方向,綠燈和紅燈共同表
79、示黃燈,由于能力有限以及代碼存在的一些錯誤,沒能正確的調(diào)試出預(yù)期實驗結(jié)果,希望通過以后不斷的學(xué)習(xí),提高自身能力。</p><p><b> 第六章 小結(jié)</b></p><p> 本次課程設(shè)計是要設(shè)計一個交通燈系統(tǒng),主要通過8255A的A口和B口模擬十字路口交通燈的閃爍情況。在本次對交通燈的設(shè)計過程中以此來加深對微機接口技術(shù)的理解,提高了自己的動手能力。<
80、/p><p> 首先著手對硬件電路的設(shè)計,本次課程設(shè)計主要采用了8255A接口電路、8253定時/計數(shù)器和8259中斷控制器這三個芯片電路。由于對各個芯片不熟悉,通過課本了解到了它們的引腳及功能、工作方式、內(nèi)部結(jié)構(gòu)和控制字。對各個功能的熟悉便于了硬件電路的設(shè)計</p><p> 然后就是對程序的設(shè)計,想要設(shè)計出一個實用的控制系統(tǒng)需要了解程序流程,先畫出了流程圖,然后對代碼進(jìn)行編寫,主要采用
81、匯編語言</p><p> 最后對程序,硬件電路進(jìn)行調(diào)試。在調(diào)試過程中遇到了很多問題,要么燈都不顯示,要么燈顯示不全,再要么紅燈綠燈時間分配不合理,對系統(tǒng)功能以及軟件延時子程序的調(diào)用等等,有些問題在同學(xué)和老師的幫助下得以解決,但有些卻依然存在??赡苁歉陨淼拇a編寫,電路的連接有問題~~所以最好導(dǎo)致無法運行出預(yù)期的正確實驗結(jié)果</p><p> 經(jīng)過為期一個星期的課程設(shè)計,我獲益頗多。
82、將微機接口技術(shù)中的理論與實踐相結(jié)合起來,對芯片的功能也有了進(jìn)一步認(rèn)識理解,重溫了匯編語言的編程,還將單片機的原理結(jié)合起來了。在實驗調(diào)試過程中發(fā)現(xiàn)問題,分析問題,如何解決問題的能力都有所提高。還有一點讓我很感動,遇到問題時,同學(xué)不厭其煩的幫忙解決問題舉動,意識了一個團(tuán)體力量的偉大。</p><p> 最后希望通過以后的學(xué)習(xí),不斷提升自身各方面的能力,如對專業(yè)知識的掌握程度,動手實踐能力等。經(jīng)過此次的課程設(shè)計,我們
83、學(xué)會了合作。我們要形成自己的設(shè)計思想,以便在今后的專業(yè)課形成自己的風(fēng)格。同時在多多鍛煉自己的動手能力,以便在以后的工作能獨立完成一些設(shè)計項目。</p><p><b> 第七章 參考文獻(xiàn)</b></p><p> 1、《微型接口技術(shù)實用教程》(任向民 編著) </p><p><b> 清華大學(xué)出版社<
84、/b></p><p> 2、《微型計算機及接口實驗指導(dǎo)書》</p><p> 安徽工程科技學(xué)院計算機科學(xué)與工程系</p><p> 3、匯編語言程序設(shè)計(第2版) </p><p> 王成耀編著,高等教育出版社</p><p> 4、《MCS-51 系列單片機應(yīng)用及接口技術(shù)》</p>&
85、lt;p> 徐建軍編著,人民教育出社</p><p> 5、《51 系列單片機及 C51 程序設(shè)計》,</p><p> 王建校編著,科學(xué)出版社</p><p> 6、章忠全主編,電子技術(shù)基礎(chǔ)――實驗與課程設(shè)計,第一版。</p><p> 7、中國科技大學(xué)電子學(xué)教研室編 盧結(jié)成主編 電子電路實驗及應(yīng)用課題設(shè)計, 中國科技大學(xué)出
86、版社。</p><p> 8、華中理工大學(xué)電子學(xué)教研室編 康華光主編,電子技術(shù)基礎(chǔ)(數(shù)字部分),第四版,高等教育出版社。</p><p> 第八章 附 錄</p><p> ?。ㄒ唬〤ODE SEGMENT ASSUME CS:CODE ORG 1000H START:MOV DX,73H MOV AL,80H
87、 OUT DX,AL MOV DX,71H MOV AL,1110B OUT DX,AL MOV DX,72H MOV AL,01111001B OUT DX,AL CALL DELAYED1 MOV BX,5H L1: MOV DX,71H MOV AL,1110B OUT DX,A
88、L MOV DX,72H MOV AL,10111010B OUT DX,AL CALL DELAYED2 MOV DX,71H MOV AL,1110B OUT DX,AL MOV DX,72H MOV AL,11111011B OUT DX</p><p> DELAY
89、ED1: MOV AX,10 L3: MOV CX,0FFFFH LOOP $ DEC AX JNZ L3 RET DELAYED2: MOV CX,0FFFFH LOOP $ RET CODE ENDS END START </p><
90、;p> ?。ǘ㊣OY0 EQU 0DA00H *</p><p> MY8255_A EQU IOY0+00H*4 </p><p> MY8255_B EQU IOY0+01H*4 </p><p> MY8255_C EQU IOY0+02H*4 </p&
91、gt;<p> MY8255_MODE EQU IOY0+03H*4 </p><p> STACK1 SEGMENT STACK</p><p> DW 256 DUP(?)</p><p> STACK1 ENDS</p><p> DATA SEGMENT </p><p>
92、 LA DB ? </p><p> LB DB ?</p><p><b> DATA ENDS</b></p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,DS:DATA</p><p>
93、; START: MOV AX,DATA</p><p><b> MOV DS,AX</b></p><p> MOV DX,MY8255_MODE </p><p> MOV AL,80H </p><p><b> OUT DX,AL<
94、/b></p><p> LOOP1: MOV DX,MY8255_A ;</p><p> MOV AL,3CH</p><p><b> OUT DX,AL</b></p><p> MOV DX,MY8255_B </p><p> MOV AL,3CH</p>
95、;<p><b> OUT DX,AL</b></p><p> CALL DALLY1</p><p> MOV CX,08H</p><p> L1: MOV DX,MY8255_A </p><p> MOV AL,0FCH</p><p> OUT DX,
96、AL </p><p> MOV DX,MY8255_B </p><p> MOV AL,0FCH</p><p> OUT DX,AL </p><p> CALL DALLY2</p><p> MOV DX,MY8255_A </p><p> M
97、OV AL,30H</p><p><b> OUT DX,AL</b></p><p> MOV DX,MY8255_B </p><p> MOV AL,30H</p><p><b> OUT DX,AL</b></p><p> CALL DALLY2<
98、;/p><p><b> LOOP L1</b></p><p> MOV DX,MY8255_A </p><p> MOV AL,0C3H</p><p><b> OUT DX,AL</b></p><p> MOV DX,MY8255_B </p>
99、<p> MOV AL,0C3H</p><p><b> OUT DX,AL</b></p><p> CALL DALLY1</p><p> MOV CX,08H</p><p> L2: MOV DX,MY8255_A</p><p> MOV AL,0F3
100、H</p><p> OUT DX,AL </p><p> MOV DX,MY8255_B </p><p> MOV AL,0F3H</p><p><b> OUT DX,AL</b></p><p> CALL DALLY2</p><p>
101、 MOV DX,MY8255_A </p><p> MOV AL,0C0H</p><p> OUT DX,AL </p><p> MOV DX,MY8255_B </p><p> MOV AL,0C0H</p><p><b> OUT DX,AL</b><
102、/p><p> CALL DALLY2</p><p><b> LOOP L2</b></p><p> MOV AH,1 </p><p> INT 16H </p><p> JZ LOOP1
103、 </p><p> QUIT: MOV AX,4C00H </p><p> INT 21H </p><p> DALLY PROC NEAR </p><p><b> PUSH CX</b>&l
104、t;/p><p><b> PUSH AX</b></p><p> MOV CX,0FFFH</p><p> D1: MOV AX,0FFFFH</p><p> D2: DEC AX</p><p><b> JNZ D2</b></p&
105、gt;<p><b> LOOP D1</b></p><p><b> POP AX</b></p><p><b> POP CX</b></p><p><b> RET</b></p><p> DALLY ENDP&l
106、t;/p><p> DALLY1 PROC NEAR </p><p><b> PUSH CX</b></p><p><b> PUSH AX</b></p><p> MOV CX,1EH</p><p> D3: CALL DALLY</
107、p><p><b> LOOP D3 </b></p><p><b> POP AX</b></p><p><b> POP CX</b></p><p><b> RET</b></p><p> DALLY1 E
108、NDP</p><p> DALLY2 PROC NEAR </p><p><b> PUSH CX</b></p><p><b> PUSH AX</b></p><p> MOV CX,02H</p><p> D4: CALL DALLY
109、</p><p><b> LOOP D4</b></p><p><b> POP AX</b></p><p><b> POP CX</b></p><p><b> RET</b></p><p> DALLY
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機課程設(shè)計設(shè)計-應(yīng)用8255a實現(xiàn)交通燈控制
- 交通燈課程設(shè)計--plc實現(xiàn)交通燈控制設(shè)計
- 交通燈課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- 交通燈課程設(shè)計--交通燈控制器
- eda交通燈課程設(shè)計--cpld實現(xiàn)交通燈控制系統(tǒng)
- 交通燈課程設(shè)計報告---交通燈控制器
- 交通燈課程設(shè)計---簡易交通燈控制電路
- eda交通燈課程設(shè)計---交通燈控制系統(tǒng)
- 交通燈模擬控制課程設(shè)計
- eda交通燈課程設(shè)計---交通燈控制系統(tǒng)的設(shè)計
- eda課程設(shè)計--交通燈控制
- plc控制交通燈課程設(shè)計
- 交通燈課程設(shè)計
- 交通燈課程設(shè)計--- 全感應(yīng)交通燈信號控制
- 數(shù)電交通燈課程設(shè)計---交通燈控制電路
- 課程設(shè)計交通燈
- 課程設(shè)計—交通燈
- 交通燈課程設(shè)計
- 交通燈課程設(shè)計
- 交通燈課程設(shè)計
評論
0/150
提交評論