交通燈控制系統(tǒng)的設(shè)計(jì)_第1頁(yè)
交通燈控制系統(tǒng)的設(shè)計(jì)_第2頁(yè)
交通燈控制系統(tǒng)的設(shè)計(jì)_第3頁(yè)
交通燈控制系統(tǒng)的設(shè)計(jì)_第4頁(yè)
交通燈控制系統(tǒng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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)介

word文檔可自由復(fù)制編輯word文檔可自由復(fù)制編輯學(xué)號(hào):課程設(shè)計(jì)題目交通燈控制系統(tǒng)設(shè)計(jì)學(xué)院自動(dòng)化學(xué)院專業(yè)電氣工程及其自動(dòng)化班級(jí)姓名階級(jí)唐智指導(dǎo)教師2014年1月9日課程設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名:專業(yè)班級(jí):指導(dǎo)教師:工作單位:自動(dòng)化學(xué)院題目:交通燈控制系統(tǒng)的設(shè)計(jì)初始條件:8086CPU、8255A并行通信接口、8253定時(shí)器/計(jì)數(shù)器接口(可選)、七段LED數(shù)碼管接口、外圍電路芯片及元器件。要求完成的主要任務(wù):(包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說(shuō)明書(shū)撰寫(xiě)等具體要求)1.設(shè)有一個(gè)十字路口,1、3分別為南北方向,2、4分別為東西方向。初始態(tài)為4個(gè)路口的紅燈全亮。2.交通燈亮滅規(guī)律:(1)按下“開(kāi)始”按鈕,數(shù)碼管清零后開(kāi)始每秒刷新,延遲2秒后,1、3路口的綠燈亮,2、4路口的紅燈亮,南北方向通車;(2)南北通車60秒后,綠燈熄滅,期間LED數(shù)碼管進(jìn)行時(shí)間顯示;(3)1、3路口的黃燈開(kāi)始閃爍5次(間隔1秒)后,期間LED數(shù)碼管進(jìn)行時(shí)間顯示,1、3路口紅燈亮,2、4路口的紅燈滅、綠燈亮,東西方向開(kāi)始通車;(4)東西通車60秒后,2、4路口的綠燈熄滅,期間LED數(shù)碼管進(jìn)行時(shí)間顯示(5)黃燈閃爍5次(間隔1秒)后,期間LED數(shù)碼管進(jìn)行時(shí)間顯示,再切換到1、3路口。重復(fù)上述過(guò)程。3.任意時(shí)刻按“停止”鍵,整個(gè)模擬過(guò)程結(jié)束。4.撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū)。內(nèi)容包括:摘要、目錄、正文、參考文獻(xiàn)、附錄(程序清單)。正文部分包括:設(shè)計(jì)任務(wù)及要求、方案比較及論證、軟件設(shè)計(jì)說(shuō)明(軟件思想,流程,源程序設(shè)計(jì)及說(shuō)明等)、程序調(diào)試說(shuō)明和結(jié)果分析、課程設(shè)計(jì)收獲及心得體會(huì)。時(shí)間安排: 12月26日12月28日查閱資料及方案設(shè)計(jì)12月29日1月2日 編程1月3日1月7日 調(diào)試程序1月8日1月9日 撰寫(xiě)課程設(shè)計(jì)報(bào)告指導(dǎo)教師簽名:年月日系主任(或責(zé)任教師)簽名:年月日

目錄摘要 11系統(tǒng)設(shè)計(jì) 21.1交通燈控制系統(tǒng)介紹 21.1.1主要內(nèi)容 21.1.2工作原理 21.2芯片選擇 31.3系統(tǒng)原理 42詳細(xì)設(shè)計(jì) 42.1硬件設(shè)計(jì) 42.1.1.8255A并行接口 52.1.28259A可編程中斷控制器 72.2軟件設(shè)計(jì) 102.3程序流程 143程序設(shè)計(jì) 164調(diào)試結(jié)果 184.1實(shí)驗(yàn)步驟 184.2調(diào)試記錄與分析 185總結(jié)與分析 20參考文獻(xiàn) 21附錄 22本科生課程設(shè)計(jì)成績(jī)?cè)u(píng)定word文檔可自由復(fù)制編輯摘要隨著計(jì)算機(jī)科學(xué)技術(shù)的不斷發(fā)展,微型計(jì)算機(jī)得到了廣泛的應(yīng)用,是人們利用計(jì)算機(jī)設(shè)計(jì)和開(kāi)發(fā)各種應(yīng)用系統(tǒng)的基礎(chǔ)。同時(shí)微型計(jì)算機(jī)接口技術(shù)也是一門實(shí)踐性較強(qiáng)的課程,理論與實(shí)踐相結(jié)合可以更好的掌握知識(shí),這也是這次交通燈系統(tǒng)控制的設(shè)計(jì)目的。交通燈是交通安全的關(guān)鍵,已廣泛應(yīng)用于城鄉(xiāng)的十字路口,它的有無(wú)作為交通安全檢查的重要依據(jù),是交通秩序正常進(jìn)行的有力保障。本次的交通燈控制系統(tǒng)主要由8255A并行口、8253定時(shí)/計(jì)算器、8259單極中斷控制器以及74LS139譯碼器實(shí)驗(yàn)等芯片組成。整個(gè)課程設(shè)計(jì)主要使用8255A的A口和B口模擬十字路口交通燈的閃爍情況。主要包括以下五個(gè)方面:1.課程設(shè)計(jì)題目名稱;2.課程設(shè)計(jì)要求完成的任務(wù);3.系統(tǒng)設(shè)計(jì)文檔(包括了總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及程序設(shè)計(jì)等文檔);4、課程設(shè)計(jì)總結(jié);5.參考文獻(xiàn)本次課程設(shè)計(jì)以固定的程序?qū)崿F(xiàn)對(duì)交通燈實(shí)行控制,沒(méi)有實(shí)現(xiàn)智能化,但智能化是交通控制系統(tǒng)是交通控制系統(tǒng)發(fā)展的必然趨勢(shì),也是滿足日益發(fā)展的社會(huì)需要。通過(guò)本次的課程設(shè)計(jì),更好的學(xué)習(xí)微機(jī)接口的應(yīng)用技術(shù),使我們將課堂所學(xué)到的知識(shí)和實(shí)踐有機(jī)結(jié)合起來(lái),初步掌握計(jì)算機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的步驟和接口設(shè)計(jì)的方法,提高分析和解決實(shí)際問(wèn)題的能力。由于時(shí)間倉(cāng)促和水平所限,本次課程設(shè)計(jì)難免有欠妥之處,請(qǐng)老師諒解。關(guān)鍵詞:計(jì)算機(jī)可編程并行接口芯片交通燈8255A1系統(tǒng)設(shè)計(jì)1.1交通燈控制系統(tǒng)介紹十字道口的紅綠燈是交通法規(guī)的無(wú)聲命令,是司機(jī)和行人的行為準(zhǔn)則。十字道口的交通紅綠燈控制是保證交通安全和道路暢通的關(guān)鍵。當(dāng)前,國(guó)內(nèi)大多數(shù)城市正在采用“自動(dòng)”紅綠交通燈,它具有固定的“紅燈—綠燈”轉(zhuǎn)換間隔,并自動(dòng)切換。它們一般由“通行與禁止時(shí)間控制顯示、紅黃綠三色信號(hào)燈和方向指示燈”三部分組成。假設(shè)為某個(gè)十字路口設(shè)計(jì)一個(gè)交通燈控制系統(tǒng),1、3為東,南方向,2、4為西,北方向,初始態(tài)為4個(gè)路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車。延遲一段時(shí)間后,1、3路口的綠燈熄滅,而1、3路口的黃燈開(kāi)始閃爍。閃爍若干次后,1、3路口的紅燈亮,同時(shí)2、4路口的綠燈亮,2、4路口方向開(kāi)始通車。延遲一段時(shí)間后,2、4路口的綠燈熄滅,而黃燈開(kāi)始閃爍。閃爍若干次后,再切換到1、3路口方向。之后,重復(fù)上述過(guò)程。1.1.1主要內(nèi)容在十字路口的東西和南北兩個(gè)方向都各有紅、黃、綠三個(gè)信號(hào)燈。紅、黃、綠交通燈的變化規(guī)律為:

1)南北方向的綠燈、東西方向的紅燈同時(shí)亮20秒。

2)南北方向的綠燈滅、黃燈亮5秒,同時(shí)東西方向的紅燈繼續(xù)亮。

3)南北方向的黃燈滅、紅燈亮,同時(shí)東西方向的紅燈滅、綠燈亮,持續(xù)20秒。

4)南北方向的紅燈繼續(xù)亮,同時(shí)東西方向的綠燈滅、黃燈亮5秒。

5)轉(zhuǎn)1)重復(fù)。1.1.2工作原理交通燈的工作過(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路口的綠燈熄滅,而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é)束后,再發(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等可編程器件的編程.1.2芯片選擇

1.用實(shí)驗(yàn)系統(tǒng)8255A實(shí)現(xiàn)對(duì)信號(hào)燈的控制(所用端口自定);2位數(shù)碼顯示用8255A實(shí)現(xiàn)控制。

2.用實(shí)驗(yàn)系統(tǒng)8253的計(jì)數(shù)器2定時(shí)向?qū)嶒?yàn)系統(tǒng)主片8259A的IRQ7請(qǐng)求中斷以實(shí)現(xiàn)定時(shí);實(shí)驗(yàn)系統(tǒng)8253的計(jì)數(shù)器2的CLK2接OPCLK,頻率為1.19318MHZ;GATE2已接+5V;定時(shí)采用軟硬件相結(jié)合的方式實(shí)現(xiàn)。

⒊用實(shí)驗(yàn)系統(tǒng)的發(fā)光二極管模擬紅綠燈1.3系統(tǒng)原理本次系統(tǒng)利用8253定時(shí),8259中斷、8255A并口輸出實(shí)現(xiàn)交通燈模擬控制的硬件電路,利用匯編語(yǔ)言程序編寫(xiě)源程序代碼實(shí)現(xiàn)軟件部分;能自動(dòng)控制和手動(dòng)控制,可以調(diào)整自動(dòng)模式的綠燈和紅燈時(shí)間。通過(guò)接口芯片8255構(gòu)成并行接口電路,用它的A口和B口模擬交通燈的閃爍情況,A口表示東、南方向,B口表示西、北方向,綠燈和紅燈共同表示黃燈。首先片選對(duì)應(yīng)的端口地址,定義8255A的工作方式位0;然后對(duì)端口A和B進(jìn)行不同的數(shù)據(jù)寫(xiě)入,控制交通燈的亮度以及閃爍情況,采用延時(shí)子系統(tǒng)。2詳細(xì)設(shè)計(jì)2.1硬件設(shè)計(jì)本課題的設(shè)計(jì)可通過(guò)實(shí)驗(yàn)平臺(tái)上的一些功能模塊電路組成,由于各模塊電路內(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ù)程序。Q6Q6 OUT08253GATE0Clk0 PA08255 PC地址CS1譯碼CS2電路CS3 CS4路數(shù)碼管顯示模塊 IRQ28259 IRQ3發(fā)光二極管電路單脈沖發(fā)生單元PCBUS圖1系統(tǒng)硬件電路圖2.1.1.8255A并行接口8255A是一個(gè)采用NMOS工藝制造的40個(gè)引腳的雙列直插式組建,其外部引腳如下圖2所示:(圖28255A引腳)功能:8255A具有面向主機(jī)系統(tǒng)總線和面向外設(shè)兩個(gè)方向的連接能力,即通過(guò)8255A,CPU可直接同外設(shè)相連接,負(fù)責(zé)CPU和外設(shè)之間的數(shù)據(jù)傳送。1、面向系統(tǒng)總線的信號(hào)線D0~~D7:雙向數(shù)據(jù)線;CPU通過(guò)它向8255A發(fā)送命令、數(shù)據(jù);8255A通過(guò)它向CPU回送狀態(tài)、數(shù)據(jù)/CS:選片信號(hào)線,該信號(hào)線低電平有效,由系統(tǒng)總線經(jīng)I/O地址譯碼器產(chǎn)生A1、A0:芯片內(nèi)部端口地址信號(hào)線,與系統(tǒng)地址總線地位相連/RD:讀信號(hào)線,該信號(hào)低電平有效,CPU通過(guò)執(zhí)行IN指令,發(fā)讀信號(hào)將數(shù)據(jù)或狀態(tài)信號(hào)從8255A讀至CPU/WR:寫(xiě)信號(hào)線,該信號(hào)低電平有效,CPU通過(guò)執(zhí)行OUT指令,發(fā)寫(xiě)信號(hào),將命令或數(shù)據(jù)寫(xiě)入8255ARESET:復(fù)位信號(hào)線,該信號(hào)高電平有效。2、面向I/O設(shè)備的信號(hào)線PA0~~PA1:端口A的輸入/輸出線PBO~~PB7:端口B的輸入/輸出線PC0~~PC7:端口C的輸入/輸出線這24根信號(hào)線均可用來(lái)連接I/O設(shè)備,通過(guò)它們傳送數(shù)字量信息或開(kāi)關(guān)量信息二內(nèi)部結(jié)構(gòu)1、數(shù)據(jù)總線緩沖器2、讀/寫(xiě)控制邏輯3、A組和B組控制電路4、數(shù)據(jù)端口A、B、C三8255的工作方式1、方式0——基本輸入/輸出方式8255工作在方式0時(shí),三個(gè)端口分成彼此的兩個(gè)8位口,即A口和B口,兩個(gè)4位口,這4個(gè)并行口都能設(shè)定為輸入或輸出。方式0常用于無(wú)條件查詢傳送2、方式1——選通輸入/輸出方式3、方式2——雙向輸入/輸出方式2.1.28259A可編程中斷控制器一8259A的引腳及功能8259A的引線分為3部分,即與CPU的接口引線,與外設(shè)的引線和用于級(jí)聯(lián)的接口引線,如下圖3所示(圖38259A引腳)1、8259A與CPU的接口引線D7~D0:數(shù)據(jù)線,雙向,三態(tài)。與CPU數(shù)據(jù)總線直接相連/WR:寫(xiě)信號(hào),輸入,低電平有效/RD:讀信號(hào),輸入,低電平有效A0:地址線,輸入,用于尋址8259A內(nèi)部的兩個(gè)端口,此引腳連接CPU系統(tǒng)地址線/CS:片選信號(hào),輸入,低電平有效。此引腳連接譯碼電路輸出端INT:中斷請(qǐng)求信號(hào),輸出,高電平有效,連接CPU的可屏蔽中斷請(qǐng)求輸入端INTR/INTA;中斷響應(yīng)信號(hào),低電平有效,用于接收CPU送回的中斷響應(yīng)負(fù)脈沖二內(nèi)部結(jié)構(gòu)1、數(shù)據(jù)總線緩沖器2、讀/寫(xiě)邏輯3、級(jí)聯(lián)緩沖/比較器4、中斷請(qǐng)求寄存器5、終端屏蔽寄存器6、優(yōu)先權(quán)分析器7、中斷服務(wù)寄存器8、控制邏輯三工作方式1、屏蔽中斷源方式2、設(shè)置優(yōu)先級(jí)的方式3、中斷結(jié)束方式4、查詢中斷方式5、讀取狀態(tài)方式6、級(jí)聯(lián)方式7、連接系統(tǒng)總線方式2.1.3,8253可編程定時(shí)器/計(jì)數(shù)器一8253定時(shí)/計(jì)數(shù)器的引腳及功能8253是NMOS工藝制成,采用單一+5V電源,24引腳雙列直插式封裝,外部引腳如下圖4所示(圖48253引腳)1、8253與CPU的接口引線D7~D0:雙向數(shù)據(jù)線:可直接與數(shù)據(jù)總線相連,用于傳遞各種數(shù)據(jù)信息/WR:寫(xiě)信號(hào),輸入,低電平有效,用于控制CPU對(duì)8253的寫(xiě)操作/RD:讀信號(hào),輸入低電平有效。用于控制CPU對(duì)8253的讀操作A1、A0:地址線,輸入信號(hào)/CS:片選信號(hào),輸入信號(hào),低電平有效。當(dāng)/CS為0時(shí),8253被選中,允許CPU對(duì)其進(jìn)行讀/寫(xiě)操作2、8253與外設(shè)的接口引線CLKO~CLK2:時(shí)鐘輸入信號(hào);GATE0~GATE2:門控輸入信號(hào);OUT0~OUT2:計(jì)數(shù)輸出端3、定時(shí)與計(jì)數(shù)方式二內(nèi)部結(jié)構(gòu)1、數(shù)據(jù)總線緩沖器2、讀/寫(xiě)邏輯電路3、控制字寄存器4、計(jì)數(shù)器三8253方式控制字定時(shí)/計(jì)數(shù)器8253的每個(gè)計(jì)數(shù)通道根據(jù)CPU發(fā)命令寫(xiě)入控制寄存器的控制字確定工作方式和計(jì)數(shù)格式。8253控制字的格式如下表1所示:D7D6D5D4D3D2D1D0SC1SC0RW1RW0M2M1M0BCD(表1)D7、D6:計(jì)數(shù)器選擇位SC1、SC0。8253的3個(gè)計(jì)數(shù)器相互獨(dú)立,并且都有一個(gè)控制寄存器。但這三個(gè)控制寄存器占用同一個(gè)端口地址,即A1A0=11D5、D4:讀/寫(xiě)指示位RW1、RW0。CPU向某個(gè)計(jì)數(shù)器寫(xiě)入初值和讀取它們的當(dāng)前值時(shí)不同的格式D3、D2、D1:工作方式選擇位M2、M1、M0。8253有6種工作方式,選擇哪種工作方式由M2、M1、M0編碼確定DO:數(shù)值計(jì)數(shù)格式,用來(lái)選擇計(jì)數(shù)格式。DO=O,計(jì)數(shù)器按二進(jìn)制格式計(jì)數(shù);D0=1,計(jì)數(shù)器按BCD碼格式計(jì)數(shù)四8253工作方式1、方式0——計(jì)數(shù)結(jié)束中斷方式2、方式1——可編程單穩(wěn)態(tài)輸出方式3、方式2——分頻器4、方式3——方波發(fā)生器5、方式4——軟件觸發(fā)選通2.2軟件設(shè)計(jì)1.軟件設(shè)計(jì)思路本程序由主程序、定時(shí)中斷子程序和外部中斷子程序組成。主程序主要負(fù)責(zé)系統(tǒng)初始化和等待中斷。定時(shí)中斷子程序主要負(fù)責(zé)數(shù)碼管顯示刷新和紅綠黃燈各種狀態(tài)切換。外部中斷子程序負(fù)責(zé)緊急情況處理和處理完恢復(fù)。8253計(jì)數(shù)的起停由8255的PA0控制,8255的PA0輸出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鍵盤按鍵,有按鍵就退出程序。主程序的流程圖如圖3所示。系統(tǒng)初始化包括8253的初始化,8255的初始化,中斷向量初始化以及設(shè)置交通燈工作的初始狀態(tài)。8253定時(shí)的時(shí)間是100ms,clk0的輸入時(shí)鐘f=46875hz,所以計(jì)數(shù)初值為124FH。主程序的流程圖如圖5YY初始化8253初始化8255設(shè)置中斷向量設(shè)置交通燈初態(tài)啟動(dòng)計(jì)數(shù)器數(shù)碼管數(shù)據(jù)輸出開(kāi)始有按鍵結(jié)束N(圖5)3.定時(shí)中斷子程序定時(shí)中斷子程序是本設(shè)計(jì)的重點(diǎn),負(fù)責(zé)完成數(shù)碼管輸出數(shù)據(jù)刷新和各個(gè)狀態(tài)的處理切換。中斷子程序包括數(shù)碼管輸出數(shù)據(jù)刷新程序和各狀態(tài)處理程序。數(shù)碼管輸出數(shù)據(jù)刷新子程序是實(shí)現(xiàn)倒計(jì)時(shí)25s,用LEDOUT表示輸出的數(shù)據(jù),cnt用來(lái)軟件計(jì)時(shí)1s,就是計(jì)數(shù)10個(gè)100ms。LED輸出是要將輸出的數(shù)據(jù)轉(zhuǎn)化為段選碼根據(jù)當(dāng)前的狀態(tài)跳轉(zhuǎn)到相應(yīng)的處理程序,在處理程序中完成定時(shí)和狀態(tài)的切換。狀態(tài)1和3的流程是一樣的,先點(diǎn)亮對(duì)應(yīng)的交通燈,再判斷定時(shí)到了就可以切換了。狀態(tài)2和4要實(shí)現(xiàn)黃燈的閃爍,間隔點(diǎn)亮和熄滅就可以了。其中NUM是狀態(tài)1對(duì)應(yīng)的PC口輸出,見(jiàn)前面的表中介紹。4.外部中斷服務(wù)子程序外部中斷服務(wù)子程序主要用來(lái)處理緊急情況,將2個(gè)方向的車都停止運(yùn)行,點(diǎn)亮所有紅燈。下次中斷來(lái)時(shí)恢復(fù)以前的狀態(tài)。用一個(gè)標(biāo)志位FLAG判斷是第一次進(jìn)入還是恢復(fù)狀態(tài)。5.FD88調(diào)試軟件1、功能特點(diǎn)FD88Debug(文件名FD88.EXE)是IBM-PC上(286,386。486或兼容機(jī))為FD8088A實(shí)驗(yàn)儀配置的調(diào)試軟件。它具有功能強(qiáng)、使用靈活方便、人-機(jī)界面友善、穩(wěn)定可靠等特點(diǎn),能支持各種應(yīng)用系統(tǒng)的調(diào)試。在FD8088A實(shí)驗(yàn)儀和Debug軟件支持下、使用戶得心應(yīng)手地完成實(shí)驗(yàn)過(guò)程中各個(gè)階段的工作(包括源程序編輯、存盤、讀盤、程序調(diào)試等),大大提高工作效率,縮短調(diào)試周期。FD88調(diào)試軟件允許用戶使用兩種操作方式:窗口方式和命令方式.窗口方式顯示的信息量大,各個(gè)窗口都是活動(dòng)的,用戶可在窗口中進(jìn)行修改數(shù)據(jù)等操作。窗口方式具有系統(tǒng)初始化、文件管理、運(yùn)行控制、窗口管理等多種操作命令。用戶既可以根據(jù)菜單操作也可以使用一些功能鍵進(jìn)行操作.窗口方式特別適用于程序的調(diào)試,便于觀察程序運(yùn)行后的結(jié)果。命令方式操作快捷;對(duì)于熟練用戶比較合適。2、啟動(dòng)方法將FD8088A實(shí)驗(yàn)儀和IBM-PC(286,386,486或兼容機(jī))通過(guò)RS232電纜相連;打開(kāi)FD8088A實(shí)驗(yàn)儀電源.PC機(jī)開(kāi)機(jī)以后運(yùn)行FD88調(diào)試軟件(FD88調(diào)試軟件可以復(fù)制到PC機(jī)的硬盤上)。FD88調(diào)試軟件有四個(gè)參數(shù)。用戶可使用其中任意一個(gè),其功能如下:/n啟動(dòng)調(diào)試軟件,但不和實(shí)驗(yàn)系統(tǒng)進(jìn)行通訊連接,用戶可在軟件中在進(jìn)行連接:/1啟動(dòng)調(diào)試軟件,使用串行口1,19600波持率和實(shí)驗(yàn)系統(tǒng)連接;/2啟動(dòng)調(diào)試軟件,使用單行口2;19600波特率和實(shí)驗(yàn)系統(tǒng)連接;/?顯示FD88調(diào)試軟件的參數(shù)幫助信息.⑴、異常情況如果調(diào)試軟件和實(shí)驗(yàn)系統(tǒng)連接失敗,則在屏幕上彈出提示窗口如圖6:(圖6)這時(shí)輸入回車鍵;進(jìn)入調(diào)試軟件.用戶應(yīng)檢查串行口設(shè)置,還應(yīng)檢查FD-SJ8088A實(shí)驗(yàn)系統(tǒng)電源是否開(kāi)放。若電源已開(kāi)啟,按一下復(fù)位按鈕使之處于初始狀態(tài)。如果聯(lián)接錯(cuò)誤是因?yàn)榇锌谠O(shè)置錯(cuò)誤,則應(yīng)按ALT+X鍵退出調(diào)試軟件,使用正確的參數(shù)重新啟動(dòng)。如是其他原因,糾正錯(cuò)誤后使用菜單命令中Reconnect命令重新進(jìn)行連接即可。⑵、正常情況如果連接和操作正確,則在屏幕上出現(xiàn)六個(gè)窗口,系統(tǒng)現(xiàn)場(chǎng)信息分別顯示在各窗口內(nèi),如下圖7所示(圖7)2.3程序流程開(kāi)始寫(xiě)A口的數(shù)據(jù),東方向綠燈亮,南方向紅燈亮寫(xiě)開(kāi)始寫(xiě)A口的數(shù)據(jù),東方向綠燈亮,南方向紅燈亮寫(xiě)A口發(fā)出的數(shù)據(jù),東方向黃燈亮,南方向紅燈亮寫(xiě)A口發(fā)出的數(shù)據(jù),東方向黃燈滅,南北方向紅燈亮寫(xiě)A口發(fā)出的數(shù)據(jù),東方向紅燈亮,南方向綠燈亮寫(xiě)A口發(fā)出的數(shù)據(jù),南方向黃燈亮,東方向紅燈亮DOS系統(tǒng)功能調(diào)用,軟件延時(shí)子程序東西方向紅燈亮,南北方向綠燈亮軟件延時(shí)子程序,黃燈閃爍(即亮與滅)的時(shí)間間隔初始化8255端口地址,定義數(shù)據(jù)變量,定義8255工作方式初始化8255端口地址,定義數(shù)據(jù)變量,定義8255工作方式是否按下停止鍵退出否是(圖8)3程序設(shè)計(jì)部分程序清單如下:MY8255_AEQUIOY0+00H*4;8255的A口地址MY8255_BEQUIOY0+01H*4;8255的B口地址MY8255_CEQUIOY0+02H*4;8255的C口地址MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTLADB?;定義數(shù)據(jù)變量LBDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,MY8255_MODE;定義8255工作方式MOVAL,80H;工作方式0,A口和B口為輸出OUTDX,ALLOOP1:MOVDX,MY8255_A;寫(xiě)A口發(fā)出的數(shù)據(jù),東方向綠燈亮,南方向紅燈亮MOVAL,3CHOUTDX,ALMOVDX,MY8255_B;寫(xiě)B(tài)口發(fā)出的數(shù)據(jù),西方向綠燈亮,北方向紅燈亮MOVAL,3CHOUTDX,ALCALLDALLY1DALLYPROCNEAR;軟件延時(shí)子程序PUSHCXPUSHAXMOVCX,0FFFHD1:MOVAX,0FFFFHD2:DECAXJNZD2LOOPD1POPAXPOPCXRETDALLYENDPDALLY1PROCNEAR;軟件延時(shí)子程序,東西方向紅燈亮,南北方向綠燈亮PUSHCXPUSHAXMOVCX,1EHD3:CALLDALLYLOOPD3POPAXPOPCXRETDALLY1ENDPDALLY2PROCNEAR;軟件延時(shí)子程序,黃燈閃爍(即亮與滅)的時(shí)間間隔,PUSHCXPUSHAXMOVCX,02HD4:CALLDALLYLOOPD3POPAXPOPCXRETDALLY2ENP4調(diào)試結(jié)果4.1實(shí)驗(yàn)步驟(1)連接8255并行口控制交通燈實(shí)驗(yàn)電路運(yùn)行并使其能通過(guò)軟件控制其交通燈控制系統(tǒng)。(2)連接8259單極中斷控制器實(shí)驗(yàn)電路運(yùn)行并使其能成功完成中斷控制。(3)連接8253定時(shí)/計(jì)數(shù)器實(shí)驗(yàn)電路

運(yùn)行并使其能定時(shí)/計(jì)數(shù)器功能,并產(chǎn)生方波。(4)用導(dǎo)線將以上實(shí)驗(yàn)電路模塊連接起來(lái),就是硬件控制的交通燈控制系統(tǒng)。(5)編寫(xiě)程序代碼,8255交通燈顯示實(shí)驗(yàn),A口表示東、南方向,B口表示西、北方向,綠燈和紅燈共同表示黃燈(6)將匯編好的實(shí)驗(yàn)程序裝入(7)匯編調(diào)試(8)記錄運(yùn)行結(jié)果,以及調(diào)試中遇到的問(wèn)題4.2調(diào)試記錄與分析在調(diào)試中,剛開(kāi)始由于對(duì)一些芯片不是很了解以及匯編語(yǔ)言用的不是很熟練,所以起初錯(cuò)誤比較多,要么燈都不顯示,要么燈顯示不全,再要么紅燈綠燈時(shí)間分配不合理??傊且活^霧水,通過(guò)翻閱接口方面的書(shū)以及在網(wǎng)上查閱資料,有點(diǎn)了初步的進(jìn)展。諸如像燈不顯示或顯示不全,一方面可能由于電路連接出錯(cuò)或者可能程序沒(méi)寫(xiě)正確都會(huì)導(dǎo)致這些錯(cuò)誤。而紅黃綠時(shí)間分配不合理,比方說(shuō)黃燈時(shí)間很久而綠燈時(shí)間很短,這都是時(shí)間設(shè)置問(wèn)題,這些都要通過(guò)代碼更改才能實(shí)現(xiàn)。其中8255A的A口表示東、南方向,B口表示西、北方向,綠燈和紅燈共同表示黃燈,由于能力有限以及代碼存在的一些錯(cuò)誤,沒(méi)能正確的調(diào)試出預(yù)期實(shí)驗(yàn)結(jié)果,希望通過(guò)以后不斷的學(xué)習(xí),提高自身能力。5總結(jié)與分析本次課程設(shè)計(jì)是要設(shè)計(jì)一個(gè)交通燈系統(tǒng),主要通過(guò)8255A的A口和B口模擬十字路口交通燈的閃爍情況。在本次對(duì)交通燈的設(shè)計(jì)過(guò)程中以此來(lái)加深對(duì)微機(jī)接口技術(shù)的理解,提高了自己的動(dòng)手能力。首先著手對(duì)硬件電路的設(shè)計(jì),本次課程設(shè)計(jì)主要采用了8255A接口電路、8253定時(shí)/計(jì)數(shù)器和8259中斷控制器這三個(gè)芯片電路。由于對(duì)各個(gè)芯片不熟悉,通過(guò)課本了解到了它們的引腳及功能、工作方式、內(nèi)部結(jié)構(gòu)和控制字。對(duì)各個(gè)功能的熟悉便于了硬件電路的設(shè)計(jì)然后就是對(duì)程序的設(shè)計(jì),想要設(shè)計(jì)出一個(gè)實(shí)用的控制系統(tǒng)需要了解程序流程,先畫(huà)出了流程圖,然后對(duì)代碼進(jìn)行編寫(xiě),主要采用匯編語(yǔ)言最后對(duì)程序,硬件電路進(jìn)行調(diào)試。在調(diào)試過(guò)程中遇到了很多問(wèn)題,要么燈都不顯示,要么燈顯示不全,再要么紅燈綠燈時(shí)間分配不合理,對(duì)系統(tǒng)功能以及軟件延時(shí)子程序的調(diào)用等等,有些問(wèn)題在同學(xué)和老師的幫助下得以解決,但有些卻依然存在。可能是跟自身的代碼編寫(xiě),電路的連接有問(wèn)題~~所以最好導(dǎo)致無(wú)法運(yùn)行出預(yù)期的正確實(shí)驗(yàn)結(jié)果經(jīng)過(guò)為期一個(gè)星期的課程設(shè)計(jì),我獲益頗多。將微機(jī)接口技術(shù)中的理論與實(shí)踐相結(jié)合起來(lái),對(duì)芯片的功能也有了進(jìn)一步認(rèn)識(shí)理解,重溫了匯編語(yǔ)言的編程,還將單片機(jī)的原理結(jié)合起來(lái)了。在實(shí)驗(yàn)調(diào)試過(guò)程中發(fā)現(xiàn)問(wèn)題,分析問(wèn)題,如何解決問(wèn)題的能力都有所提高。還有一點(diǎn)讓我很感動(dòng),遇到問(wèn)題時(shí),同學(xué)不厭其煩的幫忙解決問(wèn)題舉動(dòng),意識(shí)了一個(gè)團(tuán)體力量的偉大。最后希望通過(guò)以后的學(xué)習(xí),不斷提升自身各方面的能力,如對(duì)專業(yè)知識(shí)的掌握程度,動(dòng)手實(shí)踐能力等。同時(shí)在多多鍛煉自己的動(dòng)手能力,以便在以后的工作能獨(dú)立完成一些設(shè)計(jì)項(xiàng)目。參考文獻(xiàn)[1]任向民·微型接口技術(shù)實(shí)用教程·清華大學(xué)出版社[2]王成耀·匯編語(yǔ)言程序設(shè)計(jì)(第2版)·高等教育出版社[3]王建?!?1系列單片機(jī)及C51程序設(shè)計(jì)·科學(xué)出版社[4]康華光·數(shù)字電子技術(shù)基礎(chǔ)·華中科技大學(xué)出版社[5]彭虎,周佩玲·微機(jī)原理與接口技術(shù)·電子工業(yè)出版社附錄(一)CODESEGMENT

ASSUMECS:CODE

ORG1000H

START:MOVDX,73H

MOVAL,80H

OUTDX,AL

MOVDX,71H

MOVAL,1110B

OUTDX,AL

MOVDX,72H

MOVAL,01111001B

OUTDX,AL

CALLDELAYED1

MOVBX,5H

L1:MOVDX,71H

MOVAL,1110B

OUTDX,AL

MOVDX,72H

MOVAL,10111010B

OUTDX,AL

CALLDELAYED2

MOVDX,71H

MOVAL,1110B

OUTDX,AL

MOVDX,72H

MOVAL,11111011B

OUTDX,AL

CALLDELAYED2

DECBX

JNZL1

MOVDX,71H

MOVAL,0011B

OUTDX,AL

MOVDX,72H

MOVAL,11001111B

OUTDX,AL

CALLDELAYED1

MOVBX,5H

L2:MOVDX,71H

MOVAL,0101B

OUTDX,AL

MOVDX,72H

MOVAL,11010111B

OUTDX,AL

CALLDELAYED2

MOVDX,71H

MOVAL,0111B

OUTDX,AL

MOVDX,72H

MOVAL,11011111B

OUTDX,AL

CALLDELAYED2

DECBX

JNZL2

JMPSTARTDELAYED1:MOVAX,10

L3:MOVCX,0FFFFH

LOOP$

DECAX

JNZL3

RET

DELAYED2:MOVCX,0FFFFH

LOOP$

RET

CODEENDS

ENDSTART(二)IOY0EQU0DA00H*MY8255_AEQUIOY0+00H*4MY8255_BEQUIOY0+01H*4MY8255_CEQUIOY0+02H*4MY8255_MODEEQUIOY0+03H*4STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTLADB?LBDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,MY8255_MODEMOVAL,80HOUTDX,ALLOOP1:MOVDX,MY8255_A;MOVAL,3CHOUTDX,ALMOVDX,MY8255_BMOVAL,3CHOUTDX,ALCALLDALLY1MOVCX,08HL1:MOVDX,MY8255_AMOVAL,0FCHOUTDX,ALMOVDX,MY8255_BMOVAL,0FCHOUTDX,ALCALLDALLY2MOVDX,MY8255_A

溫馨提示

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