




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
實用文檔《微機原理與接口》實驗報告姓 名:李泳志 學號:08211091指導教師: 周永華 時 間: 2010/12/19 實驗一I/O地址譯碼與交通燈控制實驗實驗目的掌握并行接口8253的基本原理掌握8253的編程方法,實現(xiàn)十字路口交通燈的模擬控制,進一步掌握對并行接口的使用。實驗內(nèi)容如圖所示,L7、L6、L5作為南北路口的交通燈與PC7、PC6、PC5相連,L2、L1、L0作為東西路口的交通燈與PC2、PC1、PC0相連。編程使六個燈按交通變化規(guī)律燃滅。編程分析1、8255地址分析:控制寄存器地址:0C40BHA口地址:0C408HC口地址:0C40AH2、十字路口交通燈的變化規(guī)律要求南北路口的綠燈、東西路口的紅燈同時亮三秒;南北路口的黃燈閃爍三次,同時東西路口的紅燈繼續(xù)亮;南北路口的紅燈、東西路口的綠燈同時亮三秒;南北路口的紅燈繼續(xù)亮、同時東西路口的黃燈亮閃爍三次;轉(1)重復。3、C口置數(shù)分析由于發(fā)光二極管是共陰極相連,所以若要其發(fā)亮應給高電平;黃燈閃爍是讓其不斷交替亮滅來實現(xiàn);同時分析可知只要有綠燈亮,燈就會持續(xù)亮三秒,黃燈亮就會閃爍三次。4、程序設計流程圖開始返回開始返回DOS設置8255C口輸出南北路口的綠燈、東西路口的紅燈亮長延時南北路口的黃燈閃爍,東西路口紅燈亮南北路口的紅燈、東西路口的綠燈亮長延時南北路口紅燈亮、東西路口黃燈亮閃爍有鍵按下嗎?YN編寫程序如下:STACK1SEGMENTSTACKDW100DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,SS:STACK1START:MOVDX,0C40BHMOVAL,10000000B;設置C口輸出,工作方式為0OUTDX,ALSTEP1:MOVDX,0C40AHMOVAL,10000001B;送C口值,南北紅,東西綠OUTDX,ALCALLLONGW;長延時MOVBX,03HSTEP2:MOVAL,10000010B;送C口值,南北紅,東西黃OUTDX,ALCALLSHORTW;短延時,黃燈閃爍MOVAL,10000000BOUTDX,ALCALLSHORTWDECBXJNZSTEP2STEP3:MOVAL,00100100B;送C口值,南北綠,東西紅OUTDX,ALCALLLONGW;長延時MOVBX,03HSTEP4:MOVAL,01000100B;送C口值,南北黃,東西紅OUTDX,ALCALLSHORTW;短延時,黃燈閃爍MOVAL,00000100BOUTDX,ALCALLSHORTWDECBXJNZSTEP4LAST:MOVDL,0FFH;鍵盤有輸入就終止,否則循環(huán)MOVAH,06HINT21HJZSTEP1MOVAH,4CH;返回操作系統(tǒng)INT21HLONGWPROC;長延時子程序PUSHCXPUSHAXMOVCX,0FFFFHOUT1:MOVAX,0FFFFHINTER1:DECAXJNZINTER1LOOPOUT1POPAXPOPCXRETLONGWENDPSHORTWPROC;短延時子程序PUSHCXPUSHAXMOVCX,0FFFHOUT2:MOVAX,0FFFFHINTER2:DECAXJNZINTER2LOOPOUT2POPAXPOPCXRETSHORTWENDPCODEENDSENDSTART7、實驗中遇到的問題,解決方法及心得體會最開始燈的閃速時間過短,導致我們以為三個燈一直在亮,后來把延時改了,才出來效果。實驗二可編程定時器/計數(shù)器(8253)實驗目的掌握并行接口8253的基本工作原理;掌握8253的編程方法。實驗內(nèi)容按圖虛線連接電路,將計數(shù)器0設置為工作方式0,計數(shù)器初值為N(N≤0FH),用手動逐個輸入單脈沖,編程使計數(shù)值在屏幕上顯示,并同時用邏輯筆觀察OUT0電平變化(當輸入N+1個脈沖后OUT0遍高電平)。按圖連接電路,將計數(shù)器0、計數(shù)器1分別設置為方式3,計數(shù)初值設為1000,用邏輯筆觀察OUT1輸出電平的變化(頻率1Hz)。三、編程分析1、8253控制寄存器地址:0C403H計數(shù)器0地址:0C400H計數(shù)器1地址:0C401HCLK0連接時鐘:1MHz。2、程序參考流程圖開始設置計數(shù)器開始設置計數(shù)器0為工作方式0送計數(shù)器初值讀計數(shù)器值顯示計數(shù)值結束結束開始設計數(shù)器1為工作方式3向計數(shù)器1送初值1000先送低字節(jié)后送高字節(jié)向計數(shù)器0送初值1000先送低字節(jié)后送高字節(jié)計數(shù)器0位工作方式3有鍵按下嗎?調用延時子程序YN(1)(2)四、匯編語言程序DATASEGMENTCOUNTDB08H;設置計數(shù)初值DATAENDSSTACK1SEGMENTSTACKDB100DUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVDX,0C403H;控制端口地址C403HMOVAL,00010000B;設置計數(shù)器0的計數(shù)方式為0OUTDX,ALMOVDX,0C400H;計數(shù)器0端口地址C400HMOVAL,COUNT;送計數(shù)初值OUTDX,ALJISHU:MOVDX,0C400HINAL,DX;讀計數(shù)器0當前計數(shù)值CMPAL,09H;將二進制數(shù)轉變?yōu)锳SCII碼JLEASCII;當前計數(shù)值為0-9時加30H變成ASCII碼ADDAL,07HASCII:ADDAL,30H;當前計數(shù)值為A-F時加37H變成ASCII碼MOVDL,ALMOVAH,02HINT21H;調用02號DOS功能顯示計數(shù)值MOVDL,0DH;每顯示一個計數(shù)值回車刷新一次MOVAH,02HINT21HMOVDL,0FFHMOVAH,06HINT21H;調用06號DOS功能判斷是否有字符輸入即是否按鍵JZJISHU;鍵盤有輸入就返回DOS操作系統(tǒng),否則循環(huán)MOVAH,4CHINT21H;返回操作系統(tǒng)CODEENDSENDSTART(2)DATASEGMENTDATAENDSSTACK1SEGMENTSTACKDB100DUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVDX,0C403HMOVAL,00111110B;設定計數(shù)器0為工作方式3、二進制OUTDX,ALMOVDX,0C400HMOVAX,1000;向計數(shù)器0寫入計數(shù)初值1000OUTDX,AL;先送低字節(jié)MOVAL,AHOUTDX,AL;后送高字節(jié)MOVDX,0C403HMOVAL,01110110B;設定計數(shù)器1為工作方式3、二進制OUTDX,ALMOVDX,0C401HMOVAX,1000;向計數(shù)器1寫入計數(shù)初值1000OUTDX,AL;先送低字節(jié)MOVAL,AHOUTDX,AL;后送高字節(jié)CODEENDSENDSTART五、實驗現(xiàn)象實驗1,用手動逐個輸入單脈沖,在屏幕上從計數(shù)器初值開始顯示,此時邏輯筆顯示為低電平,單脈沖每輸入一個,計數(shù)器值將會減,當計數(shù)器值減到0時,邏輯筆顯示為高電平,紅燈亮。實驗2,紅燈綠燈交替變化。六、實驗感想這次實驗調試時間不長,實驗過程比較順利,但是一定要在對計數(shù)器賦初值時要準確賦值。
實驗三中斷實驗目的1、掌握PC機中斷處理系統(tǒng)的基本原理2、學會編寫中斷服務程序實驗原理與內(nèi)容1、實驗原理PC機用戶可使用的硬件中斷只有可屏蔽中斷,由8259中斷控制器管理,中斷控制器用于接收外部的中斷請求信號,經(jīng)過優(yōu)先級判別等處理后向CPU發(fā)出可屏蔽中斷請求。IBMPC/XT機內(nèi)有一片8259中斷控制器對外可以提供8個中斷源,如表6-1所示:表6-1中斷源中斷源中斷類型號中斷功能IRQ008H時鐘IRQ109H鍵盤IRQ20AH保留IRQ30BH串行口2IRQ40CH串行口1IRQ50DH硬盤IRQ60EH軟盤IRQ70FH并行打印機8個中斷源的中斷請求信號線IRQ0~IRQ7在主機的62線ISA總線插座中可以引出,系統(tǒng)已設定中斷請求信號為邊沿觸發(fā)、普通結束方式,對于IBMPC/AT及80286以上微機,系統(tǒng)又擴展了一片8259中斷控制器,主片的IRQ2用于兩片8259之間級連,對外可以提供16個中斷源,如表6-2所示。表6-2中斷源中斷源中斷類型號中斷功能IRQ8070H實時時鐘IRQ9071H用戶中斷IRQ10072H保留IRQ11073H保留IRQ12074H保留IRQ13075H協(xié)處理器IRQ14076H硬盤IRQ15077H保留PCI總線中的中斷線只有四根:INTA#,INTB#,INTC#,INTD#。它們需要通過P&P的設置來和某一根中斷相連接才能進行中斷申請。如圖6-1所示,虛線為實驗中需要連的線。圖6-1實驗電路圖2、實驗內(nèi)容實驗電路如圖6-1所示直接用手動產(chǎn)生單脈沖作為中斷請求信號,只需連接一根導線,要求每按一次開關產(chǎn)生一次中斷,在屏幕上顯示一次“TPCpcicardInterrupt”,中斷10次后程序退出。編程分析1、由于9054的驅動程序影響直寫9054芯片的控制寄存器,中斷實驗需要在純DOS的環(huán)境中才能正常運行。2、由于TPC卡使用PCI總線,所以分配的中斷號在每臺微機可能都不同,編程時需要了解當前的微機使用哪個中斷號并進行設置。獲取方法是在純DOS環(huán)境中,運行一個讀PCI配置空間的程序“PORTR.EXE”,該程序能夠獲得本機TPC板卡或所有PCI板卡的硬件資源,如IO、內(nèi)存、中斷占用情況。然后根據(jù)獲得的中斷請求號碼來修改程序中的中斷向量、中斷掩碼的參數(shù),并重新編譯鏈接后即可。圖6-2PCI卡的結構3、由于TPC卡使用9054芯片連接微機,如圖6-2所示,9054通過中斷控制/狀態(tài)寄存器(INTCSR)激活/禁用中斷源,所以在編程時,使用微機中斷前需要使用9054的中斷功能,所以要先對中斷控制/狀態(tài)寄存器(INTCSR)設置,代碼如下:movdx,ioport_cent+68h ;設置tpc卡中9054芯片io口,使能中斷inax,dxorax,0900houtdx,ax其中ioport_cent是9054芯片寄存器組的I/O起始地址,每臺微機可能都不同,編程時需要了解當前的微機使用哪段并進行設置,獲取方法請參看匯編程序使用方法的介紹。中斷使能寄存器(INTCSR)的偏移地址是+68H,設置含義如表6-3所示:表6-3BITS功能81:使能產(chǎn)生PCI中斷0:禁止產(chǎn)生PCI中斷111:使能LOCAL端輸入的中斷送到PCI端0:禁止LOCAL端輸入的中斷送到PCI端其它位為零即可,更多內(nèi)容參考9054芯片數(shù)據(jù)手冊程序退出前還要關閉9054的中斷,代碼如下:movdx,ioport_cent+68h ;設置tpc卡中9054芯片io口,關閉中斷inax,dxandax,0f7ffhoutdx,ax4、PC機中斷控制器8259的地址為20H、21H,編程時要根據(jù)中斷類型號設置中斷矢量,8259中斷屏蔽寄存器IMR對應位要清零(允許中斷),中斷服務結束返回前要使用中斷結束命令:MOVAL,20HOUT20H,AL中斷結束返回DOS時應將IMR對應位置1,以關閉中斷。參考流程圖程序清單程序一DATASEGMENTSTR1DB'PRESSDMCTOINTERRUPT10TIMESANDEXIT!$'STR2DB0DH,0AH,'TPCPCICARDINTERRUPT!$'IOPORT_CENTEQU0C000HINT_VECEQU0BHINT_CODEQU11110111BDATAENDSSTACK1SEGMENTSTACKDB64DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,SS:STACK1,DS:DATASTART: MOVAX,DATAMOVDS,AXCLI ;關中斷MOVDX,IOPORT_CENT+68H ;開TPC使能INAX,DXORAX,0900HOUTDX,AXMOVAL,INT_VEC;保護原中斷MOVAH,35HINT21HPUSHBXPUSHESPUSHDSMOVDX,OFFSETINT_1;設置新中斷MOVAX,SEGINT_1MOVDS,AXMOVAL,INT_VECMOVAH,25HINT21HPOPDSINAL,21H ;設置掩碼PUSHAXANDAL,INT_CODOUT21H,ALMOVDX,OFFSETSTR1;顯示提示信息MOVAH,09HINT21HMOVCX,10;設置計數(shù)器STI ;開中斷FLAG1: CMPCX,0 ;計數(shù)中斷HLT JNZFLAG1FLAG2: POPAX ;恢復原中斷向量 OUT21H,AL POPDS POPDX MOVAL,INT_VEC MOVAH,25H INT21H MOVDX,IOPORT_CENT+68H ;關TPC使能 INAX,DX ANDAX,0F7FFHOUTDX,AX MOVAH,4CH INT21HINT_1 PROCFAR ;中斷程序 PUSHDX PUSHAX CLI DECCX MOVDX,OFFSETSTR2 MOVAH,09H INT21H MOVAL,00100000B OUT20H,AL POPAX POPDX STI IRETINT_1ENDPCODEENDS ENDSTART程序二;接1根線,單脈沖--IRQ,輸入一個脈沖中斷一次,輸入10次結束.DATASEGMENTINT_VECTEQU0BH;中斷0-7的向量為08h-0fh,0BH是IRQ3的中斷類型號IOPORT_CENTEQU0C000H;tpc卡中9054芯片的io地址CSREGDW?IPREGDW?;舊中斷向量保存空間COUNTDB0AH;中斷計數(shù)10次MESS1DB'PressDMCtointerrupt10timesandexit!',0DH,0AH,'$'MESS2DB'TPCpcicardInterrupt!',0DH,0AH,'$'DATAENDSSTACK1SEGMENTSTACKDB100DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATA MOVDS,AXCLI;關中斷MOVDX,IOPORT_CENT+68H;設置tpc卡中9054芯片io口,使能中斷INAX,DXORAX,0900HOUTDX,AXMOVAL,INT_VECT;調用35H功能號獲取中斷向量MOVAH,35HINT21HMOVAX,ES;保存原中斷向量MOVCSREG,AXMOVIPREG,BXMOVAX,SEGINT_PROC;設置新中斷向量MOVDS,AX;中斷服務程序入口段基址送DSMOVDX,OFFSETINT_PROC;中斷服務程序入口偏移地址送DXMOVAL,INT_VECT;IRQ3的中斷類型號0BH送ALMOVAH,25H;25H功能調用設置中斷向量INT21H;設置中斷掩碼 INAL,21H;讀IMR ANDAL,11110111B;允許IRQ3請求中斷 OUT21H,AL;寫中斷屏蔽字OCW1MOVAX,SEGMESS1MOVDS,AXMOVDX,OFFSETMESS1;顯示輸入提示信息MOVAH,09HINT21H WAIT1:STI;開中斷MOVDL,0FFHMOVAH,06HINT21H;調用06號DOS功能判斷是否有字符輸入即是否按鍵JNZEXIT;鍵盤有輸入就返回DOS操作系統(tǒng)CMPCOUNT,0;判斷10次中斷是否結束JNZWAIT1;未結束,等待MOVDX,IPREG;恢復原中斷向量 MOVAX,CSREG MOVDS,AXMOVAL,INT_VECT MOVAH,25H INT21H MOVDX,IOPORT_CENT+68H;設置tpc卡中9054芯片io口,關閉中斷 INAX,DX ANDAX,0F7FFH OUTDX,AXEXIT:MOVAH,4CH;返回DOSINT21H;中斷服務程序INT_PROCPROCNEARPUSHDS;保護現(xiàn)場PUSHAXPUSHDXSTI;開中斷,允許中斷嵌套MOVAX,SEGMESS2MOVDS,AXMOVDX,OFFSETMESS2;顯示'TPCpcicardInterrupt!'MOVAH,09HINT21HDECCOUNT;計數(shù)值減一,控制10次循環(huán)JNZNEXTINAL,21H;讀IMRORAL,00001000B;寫OCW1,屏蔽IRQ3的請求OUT21H,ALNEXT:CLI;關中斷MOVAL,20H;寫OCW2,送中斷結束命令,普通EOI方式OUT20H,ALPOPDX;恢復現(xiàn)場POPAXPOPDSIRETINT_PROCENDPCODEENDSENDSTART實驗現(xiàn)象運行程序后,顯示輸入提示信息:PressDMCtointerrupt10timesandexit!然后每按一次脈沖,顯示一次:TPCpcicardInterrupt!按10次后返回DOS。中途按下任意鍵也可以結束程序,返回DOS實驗體會和感想本次實驗是在先在DOS環(huán)境下查出實驗板子的端口地址,再用于實際的程序中,由于在DOS環(huán)境下操作不是很熟練某索要·所以浪費了比較多的時間。實驗四模/數(shù)轉換實驗(0809)實驗目的了解模/數(shù)轉換的基本原理,掌握ADC0809的使用方法。實驗原理及內(nèi)容1、實驗電路原理圖如下。通過實驗臺左下角電位器RW1輸出0~5V直流電壓送入ADC0809通道0(IN0),利用debug的輸出命令啟動A/D轉換器,輸入命令讀取轉換結果,驗證輸入電壓與轉換后數(shù)字的關系。實驗電路圖如下:2、編程采集IN0輸入的電壓,在屏幕上顯示出轉換后的數(shù)據(jù)(用16進制數(shù))。實驗提示1、0809地址:(原地址(ISA)動態(tài)分配地址)IN0口:298H0C418HIN1口:299H0C419H2、利用debug的輸出命令啟動A/D轉換器,輸入命令讀取轉換結果。Debug-OC4180;啟動IN0開始轉換-IC418;讀轉換結果-D8;轉換后的數(shù)字量3、IN0單極性輸入電壓與轉換后數(shù)字的關系為:N=Ui/(Uref/256)其中Ui為輸入電壓,Uref為參考電壓,這里參考電壓為PC機的+5V電壓。匯編語言程序CODESEGMENTASSUMECS:CODESTART:MOVAL,0MOVDX,0C418HOUTDX,AL;啟動MOVDX,0FFFHMOVCX,0DELATE:LOOPDELATEDECDXJNZDELATE;延時WP:MOVDX,0C418HINAL,DX;讀IN0口MOVDL,ALMOVCL,4SHRDL,CL;右移4位CMPDL,9JGBIGADDDL,30H;ASCII顯示0~9,并顯示MOVAH,06HINT21HJMPNEXTBIG:ADDDL,37H;ASCII碼A~F,并顯示MOVAH,06HINT21HJMPNEXTNEXT:MOVDX,0C418H;讀IN0口INAL,DXMOVDL,ALANDDL,00001111B;屏蔽高4位CMPDL,9JGBIGSADDDL,30H;ASCII顯示0~9,并顯示MOVAH,06HINT21HJMPJUDGEBIGS:ADDDL,37H;ASCII碼A~F,并顯示MOVAH,06HINT21HJMPJUDGEJUDGE:MOVDL,0DHINT21HMOVDL,0FFHMOVAH,06HINT21HJZSTART;有鍵按下返回DOSMOVAH,4CHINT21HCODEENDSENDSTART五、實驗現(xiàn)象轉動電位器RW1,計算機屏幕上顯示連續(xù)的兩位十六進制碼,從00H~FFH變化。六、感想體會此次實驗比較簡單,幫助我們了解A/D、D/A轉換的程序過程,程序中要將延時設置恰當,并在旋轉RW1的時候不能過快來回旋轉。
實驗五PC機串行通信實驗(8250)實驗目的1.進一步了解串行通信的基本原理。2.掌握串行接口芯片8250/16550的工作原理和編程方法。3.熟悉PC機串行口的基本連接方法。實驗內(nèi)容1、PC機RS-232串口自發(fā)自收。按照PC機RS-232串口自發(fā)自收的連線方法連線。編寫PC機自發(fā)自收串行通信程序。要求:鍵盤輸入一個字符,將字符通過串口發(fā)送出去,再由此串口將字符接收回來并在屏幕上顯示,實現(xiàn)自發(fā)自收。2、兩臺PC機間RS-232串口通信。按照PC機RS-232串口直接互連的方法連接兩臺PC機。編寫PC機直接互連串行通信程序。要求:由甲機鍵盤鍵入字符經(jīng)串口發(fā)送給乙機,再由乙機通過串口接收字符并顯示在屏幕上。當鍵入感嘆號“!”,結束收發(fā)過程。實驗電路接收數(shù)據(jù)發(fā)送數(shù)據(jù)接收數(shù)據(jù)發(fā)送數(shù)據(jù)實驗室提供了2根DB-9連接器的串口連接線:1、孔(RS232)---針,9針全部直連方式。作為延長線使用2、孔---孔,引腳2(RXD)、3(TXD)交叉方式,其余信號直連作為交叉連接用。編程分析1、接收和發(fā)送數(shù)據(jù)可以采用查詢方式。2、8250輸入的基準時鐘頻率為:1.8432MHz。3、PC機系統(tǒng)的異步通信接口電路參照書本《微機原理與接口技術》P223圖7-45。匯編語言程序CODESEGMENTASSUMECS:CODESTART:MOVAL,10000000B;先初始化MOVDX,3FBHOUTDX,ALMOVAX,30HMOVDX,3F8HOUTDX,AL;寫入除數(shù)低字節(jié)MOVAL,AHMOVDX,3F9HOUTDX,AL;寫入除數(shù)高字節(jié)MOVAL,00001010B;7位數(shù)據(jù),1位停止,奇數(shù)校驗MOVDX,3FBHOUTDX,AL;寫入線路控制寄存器MOVAL,00001111B;自控MOVDX,3FCHOUTDX,AL;寫入Modem控制寄存器MOVAL,0MOVDX,3F9HOUTDX,AL;寫中斷允許寄存器WAIT_FOR:MOVDX,3FDH;讀線路狀態(tài)寄存器INAL,DXTESTAL,00011110B;出錯否JNZERROR;為零轉TESTAL,00000001B;接收數(shù)據(jù)就緒否JNZRECEIVETESTAL,01000000B;發(fā)送寄存器空否,不空,返回等待JZWAIT_FORMOVAH,1INT21H;讀鍵盤MOVDX,3F8H;發(fā)送OUTDX,ALJMPWAIT_FOR;返回等待RECEIVE:MOVDX,3F8H;讀接收數(shù)據(jù)INAL,DXANDAL,01111111B;保留7位數(shù)據(jù)CMPAL,21H;是否'!'JNZCHARMOVAH,4CH;返回DOSINT21HCHAR:PUSHAXMOVDL,ALMOVAH,02H;顯示接收字符INT21HPOPAXJMPWAIT_FOR;返回等待ERROR:MOVDX,3FDH;出錯則清除線路狀態(tài)寄存器INAL,DXMOVDL,'?' ;顯示'?'MOVAH,02HINT21HJMPWAIT_FORCODEENDSENDSTART5、現(xiàn)象描述和實驗數(shù)據(jù)的記載及分析在進行自發(fā)自收時,把串口的2,3口連起來形成自發(fā)自收的條件。然后運行程序,屏幕上無顯示,然后輸入“2”,屏幕顯示“22”,可看到前一個輸入的字符被發(fā)出、接收回來后顯示在屏幕上。這樣完成了數(shù)據(jù)自發(fā)自收的通信。但是當寫modem寄存器時為自檢方式就不需要連接2、3串口,也可以進行自發(fā)自收。6、實驗中遇到的問題,解決方法及心得體會這次實驗讓我們深入了解了串行口的發(fā)送和接受的原理,實驗中要注意將跳線插入數(shù)據(jù)線的2,3口,不能插錯。實驗六競賽搶答器(8255)一、實驗目的1、了解微機化競賽搶答器的基本原理。2、進一步學習使用并行接口。二、實驗內(nèi)容圖5-4為競賽搶答器(模擬)的原理圖,邏輯開關K0~K7代表競賽搶答按鈕0~7號,當某個邏輯電平開關置“1”時,相當某組搶答按鈕按下。在七段數(shù)碼管上將其組號(0~7)顯示出來,并使喇叭響一下。從鍵盤上按空格鍵開始下一輪搶答,按其它鍵程序退出。三、編程分析1、設置8255為C口輸入、A口輸出,讀取C口數(shù)據(jù),若為0表示無人搶答,若不為0則有人搶答。根據(jù)讀取數(shù)據(jù)可判斷其組號。從鍵盤上按空格鍵開始下一輪搶答,按其它鍵程序退出。2、計算組號的算法:組號=C口數(shù)據(jù)連續(xù)除以2得到商和01H相與不為零的除法運算次數(shù)3、響鈴的DOS功能調用:MOVDL,7;響鈴ASCII碼為07MOVAH,2INT21H4、程序設計流程圖四、匯編語言程序DATASEGMENTTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,0EEHDATAENDSCODESEGMENTSTART:ASSUMEDS:DATA,CS:CODE MOVAX,DATA MOVDS,AX MOVAL,10001001BMOVDX,0C40BHOUTDX,ALFLAG1:MOVAL,00HMOVDX,0C408HOUTDX,ALL0:MOVDX,0C40AHINAL,DXCMPAL,0JZL0 MOVCX,0L1:MOVBL,AL ANDBL,01H CMPBL,0 JNZL2 SHRAL,1INCCLJMPL1L2:ANDAL,0FEH CMPAL,0 JZFLAG2 MOVCX,8FLAG2: MOVBX,OFFSETTABADDBX,CXMOVAL,[BX]MOVDX,0C408HOUTDX,ALMOVDL,7MOVAH,2INT21HMOVAH,08HINT21HCMPAL,''JNZEXITJMPFLAG1EXIT:MOVAH,4CHINT21HCODEENDSENDSTART6、現(xiàn)象描述和實驗數(shù)據(jù)的記載及分析初始狀態(tài)為數(shù)碼管全滅。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國正方寬邊盅市場調查研究報告
- 2025至2030年中國橡膠修理盒數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國模具加熱爐行業(yè)發(fā)展研究報告
- 2025至2030年中國標準光源燈具行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國楓木鼓棒行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國松木桶市場調查研究報告
- 2025至2030年中國木質素數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國木人數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國有機合金環(huán)氧封閉漆數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國智能拼圖市場調查研究報告
- 零碳建筑技術標準培訓課件
- 盤扣腳手架專項施工方案
- CNG撬車連接安全操作規(guī)程
- 地形圖的識別與應用-地形圖的識別(森林調查技術)
- 科學小報科技小報小學生word手抄報小報模板
- 2022-2023學年天津市南開區(qū)七年級(下)期中數(shù)學試卷-普通用卷
- DISC職業(yè)性格測試(40題,附完整分析)
- 2023年北京定額及計算規(guī)則
- 問題解決型護理品管圈QCC成果匯報之降低透析器凝血發(fā)生率
- 全自動蜂窩紙板生產(chǎn)線介紹-美迅機械設備制造商
- 藥品質量評審實施方案
評論
0/150
提交評論