帶數(shù)字顯示的交通燈及微機課程設(shè)計-電子秒表_第1頁
帶數(shù)字顯示的交通燈及微機課程設(shè)計-電子秒表_第2頁
帶數(shù)字顯示的交通燈及微機課程設(shè)計-電子秒表_第3頁
帶數(shù)字顯示的交通燈及微機課程設(shè)計-電子秒表_第4頁
帶數(shù)字顯示的交通燈及微機課程設(shè)計-電子秒表_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

沈陽航空航天大學課程設(shè)計報告課程設(shè)計名稱:微機系統(tǒng)綜合課程設(shè)計課程設(shè)計題目:帶數(shù)字顯示的交通燈目錄第1章總體設(shè)計方案 11.1課程設(shè)計的內(nèi)容和要求 11.2課程設(shè)計原理 11.3課程設(shè)計思路 2第2章詳細設(shè)計方案 32.1實現(xiàn)方法 32.2 模塊設(shè)計 42.2.1主程序流程圖________________________________________________42.2.2中斷程序流程圖______________________________________________52.3 程序連線圖 6第3章調(diào)試及結(jié)果分析 73.1調(diào)試步驟及方法 73.2實驗結(jié)果 7參考文獻 8附錄(源程序) 9PAGEPAGE35接口技術(shù)課程設(shè)計PAGEPAGE35第1章總體設(shè)計方案1.1課程設(shè)計的內(nèi)容和要求一、課程設(shè)計內(nèi)容:1.通過調(diào)研,了解交通燈的工作過程;2.用實驗箱中的數(shù)碼管和紅綠發(fā)光二極管實現(xiàn)帶數(shù)字顯示的交通燈;3.兩個數(shù)碼管顯示干線等待時間,另兩個數(shù)碼管顯示支線等待時間;4.干線等待時間為30S,支線等待時間為60S。二、課程設(shè)計要求:1.認真查閱相關(guān)資料;2.獨立設(shè)計、調(diào)試并通過知道教師現(xiàn)場驗收;3.撰寫課程設(shè)計報告。1.2課程設(shè)計原理根據(jù)課設(shè)題目的要求,按照時間控制原則,利用8255A并行接口原則和8253定時器原則,采用8259時間中斷方式和8279數(shù)碼管顯示設(shè)計一套十字路口交通燈管理系統(tǒng),干線通行時間(或支線禁止時間)60秒,支線通行時間(或干線禁止時間)30秒,周而復始。1.3課程設(shè)計思路定時模塊是為8259提供中斷請求信號的。由一片8253實現(xiàn),選用定時器0#,工作在方式3,由于時鐘應(yīng)該1秒走動一次,所以輸出值應(yīng)為1S,其輸出信號可作為8259的中斷請求信號。中斷模塊實現(xiàn)動態(tài)顯示的,硬件為一片8259,由于中斷請求信號為每秒一次,中斷程序該為時間按秒增加,并顯示,只要開中斷,便可實現(xiàn)每秒顯示時間減少一秒,從而達到動態(tài)顯示的效果。顯示模塊是由一塊8255A芯片與LED紅綠顯示燈組成,由8255A來接收信號,從而控制紅綠燈亮滅的時間,實現(xiàn)交通燈控制。計時模塊是由8279實現(xiàn)的,通過計時器和中斷同時控制實現(xiàn)數(shù)碼管顯示。第2章詳細設(shè)計方案2.1實現(xiàn)方法本程序由主程序、定時中斷子程序和外部中斷子程序組成。主程序主要負責系統(tǒng)初始化和等待中斷。定時中斷子程序主要負責數(shù)碼管顯示刷新和紅綠燈各種狀態(tài)切換。8253計數(shù)的起由8255的PA0控制,8255的PA0輸出1時,8253開始計數(shù),通過8279顯示在數(shù)碼管上,交通燈按正常狀態(tài)切換工作,PA0輸出0時,計數(shù)器停止工作,交通燈不再按正常狀態(tài)切換。8253開始計數(shù)后每1s發(fā)出一個中斷申請信號,在中斷子程序中先刷新數(shù)碼管,然后判斷當前狀態(tài),進入相應(yīng)的處理程序進行處理。模塊設(shè)計2.2.1主程序流程圖圖2.1主程序流程圖2.2.2中斷程序流程圖圖2.2中斷程序流程圖程序連線圖82538253CLK0OUT0GATE0CS8259IR0CS8279CS8255PA0PA1CS210-217228-22F220-217200-207時鐘脈沖vcc紅綠燈圖2.3程序連線圖第3章調(diào)試及結(jié)果分析3.1調(diào)試步驟及方法程序編好輸入進電腦,將AEDK實驗箱的硬件連接好,再進行調(diào)試,分步進行調(diào)試,看看每部分是否完善,再進行改錯,主要檢查中斷是否產(chǎn)生,所有模塊都能正常工作為止,全速運行得出想要的結(jié)果。3.2實驗結(jié)果全速運行下,數(shù)碼管上顯示是60和00,LED燈顯示是東西是紅色的,南北是綠色的,并且60是遞減變化,每次減1操作,當變?yōu)?0時,紅燈變綠燈,綠燈變紅燈,這時00變成30,繼續(xù)遞減操作,每次減1,直到變成00為止,紅綠燈也變?yōu)橄喾矗芏鴱褪?。參考文獻[1]龔尚福.微機原理與接口技術(shù)[M].西安:西安電子科技大學出版社,2003[2]沈美明,溫冬蟬.IBM-PC匯編語言程序設(shè)計[M].北京:清華大學出版社,2001[3]鄭初華.匯編語言、微機原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2006[4]王忠民.微型計算機原理[M].西安:西安電子科技大學出版社,2003附錄(源程序)C8279EQU22AHD8279EQU228HC82590EQU220HC82591EQU221HSTACKSEGMENTSTACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKMAIN:JMPAAtabDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0~9NUMDB03H,05H,01H,02H,02H,07H,01H,09HOLDKEYDB00HFLAGDB00HNOWDB00HTIMEDB8DUP(0)AA:MOVAX,CSMOVDS,AXCLICALLINIT8255CALLINIT8259CALLINIT8253CALLi8279PUSHDILEADI,TIMEMOVBYTEPTR[DI+7],0MOVBYTEPTR[DI+6],3MOVBYTEPTR[DI+5],0MOVBYTEPTR[DI+4],0MOVBYTEPTR[DI+3],0MOVBYTEPTR[DI+2],0MOVBYTEPTR[DI+1],0MOVBYTEPTR[DI],0POPDICALLDIS_TIMESTIJMP$i8279:MOVDX,C8279MOVAL,0OUTDX,MOVAL,38HOUTDXRETINIT8255:MOVAL,82HMOVDX,213HOUTDXMOVDX,210HMOVAL,0FFHOUTDXRETINIT8259: MOVAL,13H MOVDX,220H OUTDX MOVDX,221H MOVAL,30H OUTDX MOVAL,03H OUTDX MOVAL,0FEH;OCW1 OUTDX INAL,DX MOVAX,0 MOVDS,AX MOVSI,30H*4 MOVAX,OFFSETINTR0 MOV[SI],AX MOVAX,CS MOV[SI+2],AX MOVAX,CS movds,ax RETINIT8253: MOVAL,36H MOVDX,203H OUTDX MOVAX,61440 MOVDX,200H OUTDX MOVAL,AH OUTDX RETRUN_TIME:PUSHAX PUSHDX PUSHCX PUSHBX PUSHDI LEADI,TIME CMPFLAG,1JEZHUGANMOVBL,BYTEPTR[DI+7]CMPBL,0 JEc7;有進位 DECBL;加百分之一秒 MOVBYTEPTR[DI+7],BL JMPaddend0c7:MOVBYTEPTR[DI+7],9 MOVBL,BYTEPTR[DI+6] CMPBL,0 JEc6 DECBL;有進位MOVBYTEPTR[DI+6],BL JMPaddend0c6:MOVBYTEPTR[DI+6],0 MOVBYTEPTR[DI+7],0 MOVFLAG,1 MOVBYTEPTR[DI+1],0 MOVBYTEPTR[DI],6 ZHUGAN: MOVBL,BYTEPTR[DI+1] CMPBL,0 JEc1;有進位 DECBL;加百分之一秒 MOVBYTEPTR[DI+1],BL JMPaddend0c1:MOVBYTEPTR[DI+1],9 MOVBL,BYTEPTR[DI] CMPBL,0 JEc0 DECBL;有進位 MOVBYTEPTR[DI],BL JMPaddend0c0:MOVBYTEPTR[DI+1],0 MOVBYTEPTR[DI],0 MOVFLAG,0 MOVBYTEPTR[DI+7],0 MOVBYTEPTR[DI+6],3 addend0: MOVAL,20H MOVDX,C82590 OUTDX, POPDI POPBX POPCX POPDX POPAX RETDIS_TIME:PUSHDIMOVAX,CSMOVDS,AX;顯示時間LEABX,tabMOVAL,90HMOVDX,C8279OUTDX,MOVDX,D8279LEADI,TIMEMOVAL,BYTEPTR[DI+7]XLATOUTDX MOVAL,BYTEPTR[DI+6]XLATOUTDX MOVAL,40HOUTDX MOVAL,40HOUTDX, MOVAL,40HOUTDX MOVAL,40HOUTDX, MOVAL,BYTEPTR[DI+1] XLATOUTDX MOVAL,BYTEPTR[DI] XLATOUTDX, POPDIRETDIS_DENG:CMPFLAG,1JEDISZHUGANMOVAL,01HMOVDX,210HOUTDXJMPENDDDISZHUGAN:MOVAL,02HMOVDX,210HOUTDXENDD:NOPRETINTR0PROCPUSHAX PUSHDX PUSHCX PUSHBX PUSHDICALLRUN_TIMECALLDIS_TIMECALLDIS_DENG POPDI POPBX POPCX POPDX POPAX IRETCALLDIS_DENGINTR0ENDPCODEENDSENDMAIN

課程設(shè)計總結(jié):經(jīng)過這次課程設(shè)計,我對匯編語言和各個接口芯片8259、8279、8253、8255有了進。通過和同學的交流,開闊了自己的想法,通過使用更好的方法,程序更加高效。在這次設(shè)計中遇到了很多實際性的問題,在實際設(shè)計中才發(fā)現(xiàn),書本上理論性的東西與在實際運用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。一切問題必須要靠自己一點一滴的解決,而在解決的過程當中你會發(fā)現(xiàn)自己在飛速的提升。程序設(shè)計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能力,它才是一個設(shè)計的靈魂所在。因此在整個設(shè)計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關(guān)鍵的問題所在,這需要對系統(tǒng)的結(jié)構(gòu)很熟悉。因此可以說系統(tǒng)的設(shè)計是軟件和硬件的結(jié)合,二者是密不可分的。通過這次課程設(shè)計我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運用到實踐的過程中仍有到的困惑,經(jīng)過一番努力才得以解決。整個課設(shè)過程中,我得到許多老師和同學的無私幫助和鼓勵,這也是課設(shè)的另一個收獲。指導教師評語:指導教師(簽字):年月日課程設(shè)計成績南通大學計算機科學與技術(shù)學院微機原理課程設(shè)計報告書班級:電學號:姓名:指導老師:同組人員:課題名稱:電子秒表設(shè)計時間:目錄TOC\o"1-3"\h\z17039第1章設(shè)計內(nèi)容………3160301.1基本內(nèi)容和主要功能……………3301161.2實驗環(huán)境…………312516第2章設(shè)計原理及方案………………4111042.1電路原理圖………440092.2硬件連接示意圖…………………42.3系統(tǒng)功能框圖……………………62.4程序流程圖………723555第3章匯編源程序代碼……………8第4章實施結(jié)果……………………14第5章課程設(shè)計體會………………15第6章參考文獻……………………16第1章設(shè)計內(nèi)容1.1基本內(nèi)容和主要功能根據(jù)課程設(shè)計任務(wù)書的內(nèi)容與要求,要設(shè)計一個帶時間顯示的電子秒表,設(shè)計兩個按鈕,一個帶有計時開始、計時暫停功能,另一個帶有計時清零功能,還要可以進行時鐘顯示。在本次設(shè)計中主要使用了8255芯片輸入輸出功能、8253定時/計數(shù)器芯片來完成電子秒表的計時過程和時鐘顯示過程的模擬。利用8253定時/計數(shù)器芯片實現(xiàn)分頻功能,使其產(chǎn)生100HZ(10毫秒)的方波,使計時周期為10ms,通過產(chǎn)生100次中斷使秒表加1,實現(xiàn)計時功能;利用8255芯片輸出功能在數(shù)碼管上顯示,將秒表的計時過程、時鐘的當前時間顯示在數(shù)碼管上。1.2實驗環(huán)境硬件環(huán)境:微型計算機軟件環(huán)境:Proteus軟件第2章設(shè)計原理及方案2.1電路原理圖2.2硬件連接示意圖1、8086部分2、8253部分3、8255部分2.3系統(tǒng)功能框圖A0...A7CSAB/BAB0A0...A7CSAB/BAB0B1...B774LS2458253CLK0GATE0OUT0CS1KHzPA0PA1PA7PB0PB1PB7PC0PC18255ABDP128按鍵A按鍵B2.4程序流程圖開始開始初始化8253、825510ms延時中斷次數(shù)<100?Y毫秒位清零,秒表加1秒位<60?YN秒位清零,分位加1分位<60?NY分位清零,時位加1時位<23?N結(jié)束NYBUF2(1)=1?NBUF2(1)=2?暫停Y復位YBUF2(2)=1?N清零YN第3章匯編源程序代碼源程序如下:A1EQU0000H;8255A口地址B1EQU0002H;8255B口地址C1EQU0004H;8255C口地址CTR1EQU0006H;8255控制口地址A2EQU0200H;8253通道0地址CTR2EQU0206H;8253控制口地址A3EQU0100HDATASEGMENTTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HBUFDB0,0,0,0;毫秒——秒——分——時BUF1DB0,0,0,0,0,0,0,0;8位數(shù)碼管顯示BUF2DB0,0;前為第一開關(guān)次數(shù)BUF3DB80DUP(?)DATAENDSCODESEGMENT'CODE'ASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AX;設(shè)中段入口地址設(shè)置MOVAX,0MOVES,AXMOVDI,08MOVAX,OFFSETINTR_KEYCLDSTOSWMOVAX,SEGINTR_KEYSTOSWMOVAX,DATAMOVES,AX;8255寫入控制字MOVAL,10001001B;A、B口方式0輸出,C口作輸入口MOVDX,CTR1OUTDXN3: CALLJISHUJMPN3N2:LEASI,BUF2MOVBH,00HMOVBL,1H[SI]LEADI,BUF3ADDDI,BXADDBL,8MOV1H[SI],BLLEASI,BUF1CLDMOVCX,8REPMOVSBN4: CALLDISJMPN4N5:LEASI,BUF2MOVBH,00HMOVBL,1H[SI]CMPBL,0JZN1LEADI,BUF1SUBBL,8MOV1H[SI],BLLEASI,BUF3ADDSI,BXCLDMOVCX,8REPMOVSBN6: CALLDISJMPN6N1:CALLQINLINJMPN1;JMPSTARTJISHUPROCNEAR;計數(shù)子程序LEASI,BUFMOVBL,[SI]CMPBL,100;滿100秒表加1JNZS6S1:MOVBL,0;毫秒位清零MOV[SI],BLMOVAH,1H[SI];檢測秒位CMPAH,59;滿60分位加1JZS2INCAHMOV1H[SI],AHJMPS6S2:MOVAH,0;秒位清零MOV1H[SI],AHMOVAH,2H[SI];檢測分位CMPAH,59;滿60時位加1JZS4INCAHMOV2H[SI],AHJMPS6S4:MOVAH,0;分位清零MOV2H[SI],AHMOVAH,3H[SI];檢測時位CMPAH,23;滿24清零,重新計數(shù)JZS6INCAHMOV3H[SI],AHS6:CALLCHUMOVCX,3S5:CALLDISLOOPS5CALLDELAY1SINCBYTEPTR[SI]RETJISHUENDPCHUPROC ;數(shù)處理子程序PUSHSIPUSHBXMOVBL,4LEADI,BUF1LEASI,BUFNEXT:LODSBMOVAH,00MOVCL,10DIVCL;除以10顯示在數(shù)碼上XCHGAH,ALSTOSBMOVAL,AHSTOSBDECBLJNZNEXTPOPBXPOPSIRETCHUDISPROCNEAR;顯示BUF1中的值PUSHBXPUSHCXLEABX,TABLEADI,BUF1MOVCX,8MOVAH,7FHLOOP1:MOVAL,[DI]XLATMOVDX,A1OUTDXMOVDX,B1MOVAL,AHOUTDXMOVBH,1CALLDELAYCALLQPLEABX,TABRORAH,1INCDILOOPLOOP1POPCXPOPBXRETDISENDPDELAY1SPROCNEAR;8253延時子程序PUSHDXPUSHAXMOVDX,CTR2;8253寫入控制字MOVAL,00110000B;計數(shù)器0方式0(計數(shù)結(jié)束產(chǎn)生中斷)OUTDXMOVDX,A2MOVAL,01HOUTDXMOVAL,00HOUTDXMOVDX,A3M1:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論