微機課程設(shè)計 帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計.doc_第1頁
微機課程設(shè)計 帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計.doc_第2頁
微機課程設(shè)計 帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計.doc_第3頁
微機課程設(shè)計 帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計.doc_第4頁
微機課程設(shè)計 帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計.doc_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1微機課程設(shè)計題目帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計課程名稱微機原理及應(yīng)用A院系物理與電氣工程學(xué)院專業(yè)自動化班級08級(2)班學(xué)生姓名學(xué)號指導(dǎo)教師2課題名稱帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計一、概述在STARES598PCI實驗系統(tǒng)的基礎(chǔ)上,應(yīng)用可編程并行接口8255、定時/計數(shù)器8253、可編程中斷控制器8259等I/O接口芯片,設(shè)計一個十字路口交通信號燈模擬控制系統(tǒng)。二、設(shè)計目的通過設(shè)計一個十字路口交通燈系統(tǒng)掌握8255、8253、8259等接口芯片的編程和應(yīng)用方法,做到理論聯(lián)系實際。三、設(shè)計要求要求繪制流程圖、編寫源程序,并在實驗系統(tǒng)上調(diào)試通過程序。四、設(shè)計內(nèi)容1、十字路口交通信號燈設(shè)置某十字路口交通信號燈系統(tǒng)在4個路口均裝設(shè)紅、綠2個燈,并裝設(shè)數(shù)碼管顯示倒計時。東南西北紅綠紅綠紅綠紅綠圖1交通信號燈設(shè)置實驗時用LED(發(fā)光二極管)代替十字路口的紅綠燈。2、交通信號燈亮滅規(guī)律交通信號燈系統(tǒng)初始狀態(tài)為所有紅燈閃爍N1秒鐘(不必在數(shù)碼管顯示);之后東西向車行道綠燈亮,車輛放行N秒鐘,此時南北向車行道紅燈亮,之后轉(zhuǎn)為南北向車行道放行N秒鐘,如此循環(huán)重復(fù)。要求數(shù)碼管能夠顯示倒計時。參數(shù)選擇:N=20s/25s85s/90s(每隔5s取一個秒數(shù))N110s,閃爍次數(shù)為38次每組自行選擇N、N1(及閃爍次數(shù))。3、參考方案采用8255、8253、8259組成系統(tǒng),采用8253產(chǎn)生定時,運用8259采用中斷法編寫程序。3如果加入緊急車輛通過功能或其他任何先進功能,可根據(jù)具體情況加創(chuàng)新分。五、設(shè)計報告要求要求在報告中詳細敘述所選方案的原理、特點及評價,給出硬件原理圖、程序流程、源程序、調(diào)試結(jié)果描述(需安排實驗系統(tǒng)運行照片)。報告采用電力工程學(xué)院統(tǒng)一的標準格式書寫。最終上交的報告內(nèi)容包括:1、任務(wù)書、2設(shè)計內(nèi)容(正文)、3、心得體會一、設(shè)計說明硬件方面:8253產(chǎn)生1HZ的方波,脈沖到8259的IR1端,產(chǎn)生中斷,調(diào)中斷服務(wù)子程序。在加入緊急車道后,單脈沖()連到8259的IRO端,產(chǎn)生一個高級的中斷請求信號。軟件方面:主程序先對各個硬件初始化,在開CPU中斷,然后空操作,等待中斷。執(zhí)行低級中斷(IR1)時,8255的PA口負責(zé)選數(shù)碼管,PB口負責(zé)顯示數(shù)字,用查表法可查到09的數(shù)碼管編碼。采用循環(huán)掃描方法,人眼即可看到連續(xù)的二位數(shù)。當(dāng)?shù)褂嫊r減到零時,對紅綠燈取反。若手動上下?lián)軇訂蚊}沖()一次,則產(chǎn)生一個高級中斷(IR0),程序轉(zhuǎn)而執(zhí)行此中斷處理程序,處理完后返回繼續(xù)執(zhí)行低級中斷(IR1)。1、硬件設(shè)計1.1、硬件接線圖4二.源程序清單IO8259_0EQU0E000H;8259地址偶地址端IO8259_1EQU0E001H;8259地址奇地址端K8255AEQU0F000H;8255的A口、B口、C口地址K8255BEQU0F001HK8255CEQU0F002HK8255KEQU0F003HADD8253_0EQU0D000H;8253計數(shù)通道1#、2#、3#和控制口地址ADD8253_1EQU0D001HADD8253_2EQU0D002HADD8253_CEQU0D003HCOUNTEREQU60H;倒計時數(shù)RED_ONEQU0CCH;紅燈亮RED_OFFEQU0FFH;紅燈滅E_WEQU0C3H;東西方向通行DATASEGMENTTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHCOUNTDB?SCANDW485;掃描次數(shù)DATAENDSSTCKSEGMENTSTACKDW64DUP(?)STCKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STCKSTART:MOVAX,DATAMOVDS,AXMOVES,AXNOPMOVDX,K8255K;寫8255控制字,A,B,C均為輸出,方式0MOVAL,80HOUTDX,ALSTART1:MOVDX,K8255C;C口輸出,控制燈MOVCX,4FLASH:MOVAL,RED_ON;紅燈亮OUTDX,ALCALLDELAY;調(diào)延時MOVAL,RED_OFF;紅燈滅OUTDX,ALCALLDELAYLOOPFLASHSTART2:MOVDX,ADD8253_C;寫8253控制字MOVAL,37H;0#計數(shù)器,讀寫16位低高字節(jié),方式三,BCD碼5OUTDX,ALMOVAX,1000H;寫0#的計數(shù)初值1000H,根據(jù)輸入設(shè)定2M=1000H*2000MOVDX,ADD8253_0OUTDX,ALMOVAL,AHOUTDX,ALMOVDX,ADD8253_C;寫8253控制字MOVAL,77H;1#計數(shù)器,讀寫16位低高字節(jié),方式三,BCD碼OUTDX,ALMOVAX,2000H;寫1#計數(shù)初值2000H,根據(jù)輸入設(shè)定,方波頻率1HZMOVDX,ADD8253_1OUTDX,ALMOVAL,AHOUTDX,ALMOVCOUNT,COUNTER;寫計數(shù)值(紅綠燈變換的間隔時間)CALLInit8259;調(diào)8259初始化子程序CALLWriIntver_8;調(diào)寫中斷向量表子程序CALLWriIntver_9;調(diào)寫中斷向量表子程序MOVCL,E_WMOVAL,CLMOVDX,K8255COUTDX,ALSTINOPSTART3:JMP$;給出中斷以外CPU的工作Init8259PROCNEAR;8259初始化子程序MOVDX,IO8259_0;寫ICW1,邊沿觸發(fā),單片,需寫ICW4MOVAL,13HOUTDX,ALMOVDX,IO8259_1;寫ICW2,確定中斷類型號MOVAL,08HOUTDX,ALMOVAL,09H;寫ICW4OUTDX,ALMOVAL,0FCH;寫OCW1,除IR0、IR1全屏蔽OUTDX,ALRETInit8259ENDPWriIntver_9PROCNEAR;寫中斷向量表子程序PUSHESMOVAX,0MOVES,AXMOVDI,24H;中斷類型號9,對應(yīng)24H,25H,26H,27H四個單元6LEAAX,INT_9;取中斷服務(wù)程序IPSTOSWMOVAX,CS;取中段服務(wù)程序CSSTOSWPOPESRETWriIntver_9ENDPWriIntver_8PROCNEAR;寫中斷向量表子程序PUSHESMOVAX,0MOVES,AXMOVDI,20H;中斷類型號8,對應(yīng)20H,21H,22H,23H四個單元LEAAX,INT_8;取中斷服務(wù)程序IPSTOSWMOVAX,CS;取中段服務(wù)程序CSSTOSWPOPESRETWriIntver_8ENDPINT_9:MOVAL,COUNTSUBAL,01HDASMOVCOUNT,AL;中斷服務(wù)程序PUSHAXPUSHDXPUSHBXPUSHCXPUSHSCAN;保護循環(huán)值,否則取數(shù)碼管顯示會破壞LOO:MOVAL,55HMOVDX,K8255AOUTDX,ALMOVAL,COUNT;選高位數(shù)碼管MOVAH,AL;暫存AHMOVCL,4SHRAL,CLLEABX,TABXLAT;十進制轉(zhuǎn)數(shù)碼管編碼MOVDX,K8255BOUTDX,AL;顯數(shù)CALLDL1ms;調(diào)延時MOVAL,0OUTDX,AL;清除MOVAL,0AAHMOVDX,K8255A7OUTDX,AL;選低位數(shù)碼管MOVAL,AHSHLAL,CLSHRAL,CLXLAT;十進制轉(zhuǎn)數(shù)碼管編碼MOVDX,K8255BOUTDX,AL;顯數(shù)CALLDL1msMOVAL,0OUTDX,AL;清除DECSCANCMPSCAN,0JNZLOO;循環(huán)掃描POPSCANPOPCXCMPCOUNT,0JNZSTOP;計數(shù)到零則重新置數(shù),并將燈取反,未到零則直接結(jié)束中斷子程序MOVCOUNT,COUNTERNOTCLMOVAL,CLMOVDX,K8255COUTDX,ALSTOP:MOVDX,IO8259_0;結(jié)束中斷服務(wù),寫OCW2,給8259送EOI命令,LSR1清零MOVAL,20HOUTDX,ALPOPBXPOPDXPOPAXIRETINT_8:PUSHDXPUSHAXPUSHCXMOVDX,K8255C;C口輸出,控制燈MOVCX,4A:MOVAL,RED_ON;紅燈亮OUTDX,ALCALLDELAY;調(diào)延時MOVAL,RED_OFF;紅燈滅OUTDX,ALCALLDELAYLOOPAMOVDX,IO8259_0;結(jié)束中斷服務(wù),寫OCW2,給8259送EOI命令,LSR1清零MOVAL,20HOUTDX,AL8POPCXMOVDX,K8255CMOVAL,CLOUTDX,ALPOPAXPOPDXIRETDELAYPROC;延時子程序PUSHBXPUSHCXMOVBX,04HDELAY1:MOVCX,0FFFFHLOOP$DECBXJNZDELAY1POPCXPOPBXRETDELAYENDPDL1msPROCNEARPUSHAXPUSHCXMOVAX,0100HMOVCX,AXLOOP$POPCXPOPAXRETDL1msENDPCODEENDSENDSTART三、調(diào)試現(xiàn)象1、程序截圖92調(diào)試現(xiàn)象程序調(diào)試時,交通信號燈系統(tǒng)初始狀態(tài)為所有紅燈閃爍4次,數(shù)碼管此時不顯示;系統(tǒng)初始狀態(tài)之后東西向車行道綠燈亮,南北向車道紅燈亮,此時數(shù)碼管從60秒倒計時;當(dāng)數(shù)碼管數(shù)字減為0時,東西向、南北向紅綠燈交換亮,即南北向車行道綠燈亮,東西向車道紅燈亮,此時數(shù)碼管重新從60秒開始計數(shù),數(shù)碼管數(shù)字減為0秒后,紅綠燈再次交換,如此循環(huán)重復(fù)。當(dāng)?shù)缆钒l(fā)生緊急狀況時,可撥單脈沖,使調(diào)試狀態(tài)重新進入初始化,此時數(shù)碼管停止計時(滅),初始化狀態(tài)結(jié)束后,繼續(xù)從剛剛被停止時刻開始計時,紅綠燈狀態(tài)仍為停止時刻的

溫馨提示

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

評論

0/150

提交評論