




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
微機實驗報告學院:計算機科學與工程學院專業(yè):軟件工程學號:5姓名:張旭試驗一顯示程序與數(shù)據(jù)傳送試驗試驗目的1)掌握在PC機上以十六進制形式顯示數(shù)據(jù)的措施。2)掌握部分DOS功能調(diào)用使用措施。3)掌握與數(shù)據(jù)有關的不一樣尋址方式。4)熟悉Windows集成操作軟件Tdpit的操作環(huán)境和操作措施。試驗設備PC微機一臺、TD-PIT++試驗系統(tǒng)一套3.試驗內(nèi)容及闡明1.顯示程序試驗一般來說,有諸多程序需要顯示輸出提醒運行的狀況和成果,有的還需要將數(shù)據(jù)區(qū)中的內(nèi)容顯示在屏幕上。本試驗規(guī)定將指定數(shù)據(jù)區(qū)的數(shù)據(jù)以十六進制數(shù)形式顯示在屏幕上,并運用DOS功能調(diào)用完畢某些提醒信息的顯示。通過本試驗,初步掌握試驗系統(tǒng)配套操作軟件的使用。試驗中所使用DOS功能調(diào)用(INT21H)闡明如下。(1)顯示單個字符輸出入口:AH=02H調(diào)用參數(shù):DL=輸出字符(2)顯示字符串入口:AH=09H調(diào)用參數(shù):DS;DX=串地址,‘$’為結束字符(3)鍵盤輸入并回顯入口:AH=01H返回參數(shù):AL=輸出字符(4)返回DOS系統(tǒng)入口:AH=4CH調(diào)用參數(shù):AL=輸出字符2.數(shù)據(jù)傳送試驗本試驗規(guī)定將數(shù)據(jù)段中的一種字符串傳送到附加段中,并輸出附加段中的目的字符串到屏幕上。顯示程序試驗的程序:STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTUSE16MESDB‘Pressanykeytoexit!’,0AH,0DH,0AH,0DH,’$’MES1DB‘Showaashex:’,0AH,0DH,’$’SDDB‘a(chǎn)’DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESMOVAH,09HINT21HMOVDX,OFFSETMES1MOVAH,09HINT21HMOVSI,0FFSETSDMOVAL,DS:[SI]ANDAL,0F0HSHRAL,4CMPAL,0AHJBC2ADDAL,07HC2:ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAL,DS:[SI]ANDAL,0FHCMPAL,0AHJBC3ADDAL,07HC3:ADDAL,30HMOVDL,ALMOVAH,02HINT21HKEY:MOVAH,1INT16HJZKEYMOVAX,4C00HINT21HCODEENDSENDSTART數(shù)據(jù)傳送試驗程序:DATASEGMENT MSRDB"HELLO,WORLD,$" LENEQU$-MSRDATAENDSEXDASEGMENT MSDDBLENDUP(?)EXDAENDSMYSTACKSEGMENTSTACK DW20DUPMYSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:EXDASTART:MOVAX,DATA MOVDS,AX MOVAX,EXDA MOVES,AX MOVSI,OFFSETMSR MOVDI,OFFSETMSD MOVCX,LENNEXT:MOVAL,[SI] MOVES:[DI],AL INCSI INCDI DECCX JNCNEXT PUSHES POPDS MOVDX,OFFSETMSD MOVAH,9 INT21HKEY:MOVAH,1 INT16H JZKEY MOVAX,4C00H INT21HCODEENDS ENDSTART試驗二數(shù)碼轉換程序試驗1、試驗目的掌握不一樣進制數(shù)及編碼互相轉換的程序設計措施。2、試驗設備PC微機一臺、TD-PIT++試驗系統(tǒng)一套。3、試驗內(nèi)容及闡明計算機輸入設備輸入的信息一般是由ASCII碼或BCD碼表達的數(shù)據(jù)或字符,CPU一般均用二進制數(shù)進行計算或其他信息處理,處理成果的輸出又必須根據(jù)外設的規(guī)定變?yōu)锳SCII碼、BCD碼或七段顯示碼等。因此,在應用軟件中,各類數(shù)制的轉換和代碼的轉換是必不可少的。計算機與外設間的數(shù)碼對應關系如表2-1所示。數(shù)碼轉換關系如圖2-1所示。圖2-1計算機與外設間的數(shù)碼轉換關系1.將ASCII碼表達的十進制數(shù)轉換為二進制數(shù)十進制數(shù)可以表達為:Dn×10n+Dn-1×10n-1+…+D0×100=Di×10i其中Di代表十進制數(shù)1、2、3…9、0。上式可以轉換為:ΣDi×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D0由上式可歸納十進制數(shù)轉換為二進制的措施:從十進制數(shù)的最高位Dn開始作乘10加次位的操作,依次類推,則可求出二進制數(shù)成果。本試驗規(guī)定將緩沖區(qū)中的一種五位十進制數(shù)00012的ASCII碼轉換成二進制數(shù),并將轉換成果按位顯示在屏幕上。2.將十進制數(shù)的ASCII碼轉換為BCD碼本試驗規(guī)定將鍵盤輸入的一種五位十進制數(shù)54321的ASCⅡ碼寄存在數(shù)據(jù)區(qū)中,轉換為BCD碼后,并將轉換成果按位分別顯示于屏幕上。若輸入的不是十進制數(shù)的ASCⅡ碼,則輸出“FF”。提醒:一字節(jié)ASCⅡ碼取其低四位即變?yōu)锽CD碼。3.將十六進制數(shù)的ASCII碼轉換為十進制數(shù)十六位二進制數(shù)的值域為0-65535,最大可轉換為五位十進制數(shù)。五位十進制數(shù)可表達為:ND=D4×104+D3×103+D2×102+D1×10+D0因此,將十六位二進制數(shù)轉換為五位ASCⅡ碼表達的十進制數(shù),就是求D1-D4,并將它們轉化為ASCⅡ碼。本試驗規(guī)定將緩沖區(qū)中寄存的000CH的ASCII碼轉換成十進制數(shù),并將轉換結果顯示在屏幕上。4.BCD碼轉換為二進制碼本試驗規(guī)定將四個二位十進制數(shù)的BCD碼寄存在某一內(nèi)存單元中,轉換出的二進制數(shù)碼存入其后的內(nèi)存單元中,轉換結束,送屏幕顯示。4、試驗環(huán)節(jié)(1)運行Tdpit集成操作軟件,按照各試驗規(guī)定分別編寫試驗程序。(2)對試驗程序進行編譯、鏈接。(3)使用運行功能執(zhí)行程序,觀測運行成果。(4)使用調(diào)試功能調(diào)試程序,觀測在調(diào)試過程中,程序指令執(zhí)行之后各寄存器及數(shù)據(jù)區(qū)的內(nèi)容。更改數(shù)據(jù)區(qū)中的數(shù)據(jù),反復測試,驗證程序功能。試驗程序2.1:STACK1SEGMENTSTACK DW256DUP(?)STACK1ENDSDDATASEGMENTMES1DB'Theasciicodeofdecimalcodeare:$'BUFDB30H,30H,30H,31H,32H DB 10HDUP(0)DDATAENDSCODESEGMENT ASSUMECS:CODE,DS:DDATASTART:MOVAX,DDATA MOVDS,AX MOVSI,OFFSETBUF MOVBX,000AH MOVCX,0004H MOVAH,00H MOVAL,[SI] SUBAL,30H A1:IMULBX ADDAL,[SI+01] INCSI LOOPA1 MOV[SI],AX MOVDX,OFFSETMES1 MOVAH,09H INT21H INCSI CALLSHOW DECSI CALLSHOWWAIT1:MOVAH,1 INT16H JZWAIT1 MOVAX,4C00H INT21HSHOWPROCNEAR MOVAL,DS:[SI] ANDAL,0F0H SHRAL,4 CMPAL,0AH JBC2 ADDAL,07H C2: ADDAL,30H MOVDL,AL MOVAH,02H INT21H MOVAL,DS:[SI] ANDAL,0FH CMPAL,0AH JBC3 ADDAL,07H C3:ADDAL,30H MOVDL,AL MOVAH,02H INT21H RET ENDP CODEENDS ENDSTART 程序2.2:STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDDATASEGMENTMES1DB'TheBCDcodeofdecimalare:$'BUFDB31H,32H,33H,34H,35HDB10HDUP(0)DDATAENDSCODESEGMENTASSUMECS:CODE,DS:DDATASTART:MOVAX,DDATAMOVDS,AXMOVCX,0005HMOVDI,OFFSETBUFA1:MOVBL,0FFHMOVAL,[DI]CMPAL,3AHJNBA2SUBAL,30HJBA2MOVBL,ALA2:MOVAL,BLMOV[DI+05H],ALINCDILOOPA1MOVSI,DIMOVCX,05HMOVDX,OFFSETMES1MOVAH,09HINT21HA3:CALLSHOWMOVDL,20HMOVAH,02HINT21HINCSILOOPA3WAIT1:MOVAH,1INT16HJZWAIT1MOVAX,4C00HINT21HSHOWPROCNEARMOVAL,DS:[SI]ANDAL,0F0HSHRAL,4CMPAL,0AHJBC2ADDAL,07HC2:ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAL,DS:[SI]ANDAL,0FHCMPAL,0AHJBC3ADDAL,07HC3:ADDAL,30HMOVDL,ALMOVAH,02HINT21HRETENDPCODEENDSENDSTART程序2.3:STACK1SEGMENTSTACK DW256DUP(?)STACK1ENDSDDATASEGMENTMES1DB'Theasciicodeofhexare:$'BUFDB0CH,00H DB 10HDUP(0)DDATAENDSCODESEGMENT ASSUMECS:CODE,DS:DDATASTART:MOVAX,DDATA MOVDS,AX MOVSI,OFFSETBUF MOVDX,[SI] MOVBX,SI ADDBX,2 ADDSI,7A1:DECSIMOVAX,DXMOVDX,0000HMOVCX,000AHDIVCXXCHGAX,DXADDAL,30HMOV[SI],ALCMPDX,0000HJNEA1A2:CMPSI,BXJZA3DECSIMOVAL,30HMOV[SI],ALJMPA2A3:MOVCX,5MOVSI,OFFSETBUFADDSI,2MOVDX,OFFSETMES1MOVAH,09HINT21HA4:CALLSHOWMOVDL,20HMOVAH,02HINT21HINCSILOOPA4WAIT1:MOVAH,1INT16HJZWAIT1MOVAX,4C00HINT21HSHOWPROCNEARMOVAL,DS:[SI]ANDAL,0F0HSHRAL,4CMPAL,0AHJBC2ADDAL,07HC2:ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAL,DS:[SI]ANDAL,0FHCMPAL,0AHJBC3ADDAL,07HC3:ADDAL,30HMOVDL,ALMOVAH,02HINT21HRETENDPCODEENDSENDSTART程序2.4:STACK1SEGMENTSTACK DW256DUP(?)STACK1ENDSDDATASEGMENTMES1DB'THEBCDCODEOFBINARYARE:$'BUFDB01H,07H,03H,04H,05H,01H,06H,08HDB10HDUP(0)DDATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DDATA MOVDS,AX MOVCX,0004H MOVDI,OFFSETBUFA1:MOVAL,[DI] ADDAL,AL MOVBL,AL ADDAL,AL ADDAL,AL ADDAL,BL INCDI MOVAH,00H ADDAL,[DI] MOV[DI+07H],AX INCDI LOOPA1 MOVDX,OFFSETMES1 MOVAH,09H INT21H MOVCX,04H MOVDI,OFFSETBUF ADDDI,08HA2:MOVAX,[DI] CALLSHWORD MOVDL,20H MOVAH,02H INT21H INCDI INCDI LOOPA2WAIT1:MOVAH,1 INT16H JZWAIT1 MOVAX,4C00H INT21HSHWORDPROCNEAR MOVBL,AH CALLSHOW MOVBL,AL CALLSHOW RET ENDPSHOWPROCNEWA PUSHAX PUSHDX MOVAL,BL ANDAL,0F0H SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HC2:ADDAL,30H MOVDL,AL MOVAH,02H INT21H MOVAL,BL ANDAL,0FH CMPAL,0AH JBC3 ADDAL,07HC3:ADDAL,30H MOVDL,AL MOVAH,02H INT21H POPDH POPAX RET ENDPCODEENDS ENDSTART試驗三運算類指令編程試驗1、試驗目的1)掌握運算類指令編程及調(diào)試措施。2)掌握運算類指令對各狀態(tài)標志位的影響及測試措施。2、試驗設備PC微機一臺、TD-PIT++試驗系統(tǒng)一套。3、試驗內(nèi)容及闡明80x86指令系統(tǒng)提供了實現(xiàn)加、減、乘、除運算的基本指令,可對表3-1所示的數(shù)據(jù)類型進行算術運算。數(shù)制二進制BCD碼帶符號無符號組合非組合運算符+.-./.*+.-+.-./.*操作數(shù)字節(jié),字,多精度字節(jié)(二位數(shù)字)字節(jié)(一位數(shù)字)表3-1數(shù)據(jù)類型算術運算表1.二進制雙精度加法運算本試驗規(guī)定計算X+Y=Z,將成果Z輸出到屏幕,其中X=001565A0H,Y=0021B79EH。試驗運用累加器AX,先求低十六位和,并存入低址存儲單元,后求高16位和,再存入高址存儲單元。由于低位和也許向高位有進位,因而高位字相加語句需用ADC指令,則低位相加有進位時,CF=1,高位字相加時,同步加上CF中的1。在80386以上微機中可以直接使用32位寄存器和32位加法指令完畢本試驗的功能。2.十進制數(shù)的BCD碼減法運算本試驗規(guī)定計算X-Y=Z,其中,X、Y、Z為BCD碼,其中X=0400H,Y=0102H。3.乘法運算本試驗規(guī)定實現(xiàn)十進制數(shù)的乘法,被乘數(shù)和乘數(shù)均以BCD碼形式寄存于內(nèi)存中,被乘數(shù)為54320H,乘數(shù)為3H,運算結束后,將乘積在屏幕上顯示。4.用減奇數(shù)開平方運算80x86指令系統(tǒng)中有乘除法指令但沒有開平方指令,因此,開平方運算是通過程序來實現(xiàn)的。用減奇數(shù)法可求得近似平方根,獲得平方根的整數(shù)部分。我們懂得,N個自然數(shù)中的奇數(shù)之和等于N,即:21+3+5=9=321+3+5+7=16=421+3+5+7+9+11+13+15=64=82若要做S的開方運算,那麼就可以從S中逐次減去自然數(shù)中的奇數(shù)1,3,5,7…,一直進行到相減數(shù)為0或不夠減下一種自然數(shù)的奇數(shù)為止,然后記錄減去自然數(shù)的奇數(shù)個數(shù),它就是S的近似平方根。本試驗規(guī)定運用減奇法計算0040H的開平方值,并將運算成果顯示在屏幕上。4、試驗環(huán)節(jié)(1)運行Tdpit集成操作軟件,按各試驗規(guī)定編寫試驗程序。(2)分別對試驗程序進行編譯、鏈接。(3)使用運行功能運行程序,觀測運行成果。(4)使用調(diào)試功能調(diào)試程序,觀測在調(diào)試過程中,各運算指令執(zhí)行后,各寄存器、標志位及數(shù)據(jù)區(qū)內(nèi)容的變化。(5)更改數(shù)據(jù)區(qū)中的數(shù)據(jù),反復測試,驗證程序功能。試驗程序3.1:STACK1SEGMENTSTACK DW256DUP(?)STACK1ENDSDATASEGMENTMES1DB'THERESULTIS:$'XLDW65A0HXHDW0015HYLDW0B79EHYHDW0021HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVDX,OFFSETMES1 MOVAH,09H INT21H MOVAX,XL ADDAX,YL MOVBX,AX MOVAX,XH ADCAX,YH PUSHBX CALLSHWORD POPBX MOVAX,BX CALLSHWORDWAIT1:MOVAH,1 INT16H JZWAIT1 MOVAX,4C00H INT21HSHWORDPROCNEAR MOVBL,AL CALLSHOW RET ENDPSHOWPROCNEAR PUSHAX PUSHDX MOVAL,BL ANDAL,0F0H SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HC2:ADDAL,30H MOVDL,AL MOVAH,02H INT21H MOVAL,BL ANDAL,0FH CMPAL,0AH JBC3 ADDAL,07HC3:ADDAL,30H MOVDL,AL MOVAH,02H INT21H POPDX POPAX RET ENDPCODEENDS ENDSTART程序3.2:STACK1SEGMENTSTACK DW256(?)STACK1ENDSDATASEGMENTMES1DB'THERESULTIS:$'XDW0400HYDW0102HDATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVAH,00H SAHF MOVSI,OFFSETX MOVAL,[SI] SBBAL,[SI+02H] DAS PUSHF ANDAL,0FH POPF MOVBL,AL INCSI MOVAL,[SI] SBBAL,[SI+02H] DAS PUSHF ANDAL,0FH POPF MOVBH,AL MOVDX,OFFSETMES1 MOVAH,09H INT21H MOVAX,BX CALLSHWORDWAIT1:MOVAH,1 INT16H JZWAIT1 MOVAX,4C00H INT21HSHWORDPROCNEAR MOVBL,AH CALLSHOW MOVBL,AL CALLSHOW RET ENDPSHOWPROCNEAR PUSHAX PUSHDX MOVAL,BL ANDAL,0F0H SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HC2:ADDAL,30H MOVDL,AL MOVAH,02H INT21H MOVAL,BL ANDAL,0FH CMPAL,0AH JBC3 ADDAL,07HC3:ADDAL,30H MOVDL,AL MOVAH,02H INT21H POPDX POPAX RET ENDPCODEENDS ENDSTART程序3.3:STACK1SEGMENTSTACK SU256(?)STACK1ENDSDATASEGMENTMES1DB'THERESULTIS:$'ERRMESDB'ERROREXIST:$'DATA1DB00H,022H,03H,04H,05HDATA2DB03HRESULTDB06HDUP(0)DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVSI,OFFSETDATA2 MOVBL,[SI] ANDBL,0FH CMPBL,09H JNCERROR MOVSI,OFFSETDATA1 MOVDI,OFFSETRESULT MOVCX,0005HA1:MOVAL,[SI+04H] ANDAL,0FH CMPAL,0FH JNCERROR DECSI MULBL AAM ADDAL,[DI+05H] AAA MOV[DI+05H],AL DECDI MOVDX,OFFSETMES1 MOVAH,09H INT21H MOVCX,06H MOVSI,OFFSETRESULTA2:MOVCALLSHOW MOVDL,20H MOVAH,02H INT21H INCSI LOOPA2WAIT:MOVAH,1 INT16H JZWAIT1 MOVAX,4C00H INT21HERROR:MOVDX,OFFSETERRMES MOVAH,09H INT21H MOVAX,4C00H INT21HSHOWPROCNEAR MOVAL,DS:[SI] ANDAL,0F0H SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HC2:ADDAL,30H MOVDL,AL MOVAH,02H INT21H MOVAL,DS:[SI] ANDAL,0FH CMPAL,0AH JBC3 ADDAL,07HC3:ADDAL,30H MOVDL,AL MOVAH,02H INT21H RET ENDPCODEENS ENDSTART程序3.4:STACK1SEGMENTSTACK DW256DUP(?)STACK1ENDSDDATASEGMENTMES1DB'THESQUAREROOTOF$'MES2DB'IS:$'NUMBDW0040HDDATAENDSCODESEGMENT ASSUMECS:CODE,DS:DDATASTART:MOVAX,DDATA MOVDS,AX MOVDX,OFFSETMES1 MOVAH,09H INT21H MOVSI,OFFSETNUMB MOVAX,[SI] CALLSHWORD MOVDX,OFFSETMES2 MOVAH,09H INT21H MOVAX,[SI] MOVCL,00H MOVDX,0001HA1:SUBAX,DX JBA2 INCCL ADDDX,02H JMPA1A2:MOVBL,CL CALLSHOWWAIT:MOVAH,1 INT16H JZWAIT1 MOVAX,4C00H INT21HSHWORDPROCNEAR MOVBL,AH CALLSHOW MOVBL,AL CALLSHOW RET ENDPSHOWPROCNEAR PUSHAX PUSHDX MOVAL,BL ANDAL,0F0H SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HSHOWPROCNEAR PUSHAX PUSHDX MOVAL,BL ANDAL,0F0H CMPAL,0AH JBC2 ADDAL,07HC2:ADDAL,30H MOVDL,AL MOVAH,02H INT21H MOVAL,BL ANDAL,0FH CMPAL,0AH JBC3 ADDAL,07HC3:ADDAL,30H MOVDL,AL MOVAH,02H INT21H POPDX POPAX RET ENDPCODEENDS ENDSTART試驗四8/32位I/O接口試驗1、試驗目的1)掌握基本I/O接口電路的設計措施。2)熟悉I/O操作指令及8/32位I/O端口的操作措施。3)理解LED點陣的基本構造。4)學習LED點陣掃描顯示程序的設計措施。2、試驗設備PC微機一臺、TD-PIT++試驗系統(tǒng)一套。3、試驗內(nèi)容(1)運用8位I/O接口,實現(xiàn)微機對外部輸入數(shù)據(jù)的讀取和對輸出數(shù)據(jù)的輸出。用撥動開關和數(shù)據(jù)燈作為輸入和輸出顯示設備,將讀到開關的數(shù)據(jù)顯示在數(shù)據(jù)燈上。(2)運用32位的I/O接口,按照32位的I/O操作方式,操作點陣LED顯示單元的16行×16列點陣。(3)使用32位I/O接口單元的32位輸出O0~O31控制點陣LED單元R0~R15和L0~L15。編寫程序,在16×16點陣上顯示中文(學生姓名)。4、試驗原理1.輸入接口設計輸入接口一般用三態(tài)緩沖器實現(xiàn),外部設備輸入數(shù)據(jù)通過三態(tài)緩沖器,通過數(shù)據(jù)總線傳送給微機系統(tǒng)。74LS245是一種8通道雙向的三態(tài)緩沖器,其管腳構造如圖4-1所示。DIR引腳控制緩沖器數(shù)據(jù)方向,DIR為1表達數(shù)據(jù)由A[7:0]至B[7:0],DIR為0表達數(shù)據(jù)由B[7:0]至A[7:0]。G引腳為緩沖器的片選信號,低電平有效。圖4-174LS245雙向三態(tài)緩沖器管腳圖2.輸出接口設計輸出接口一般用鎖存器實現(xiàn),從總線送出的數(shù)據(jù)可以暫存在鎖存器中。74LS374/74LS574是一種8通道上沿觸發(fā)鎖存器。74LS574管腳構造如圖4-2所示。D[7:0]為輸入數(shù)據(jù)線,Q[7:0]為輸出數(shù)據(jù)線。CLK引腳為鎖存控制信號,上升沿有效。當上升沿屆時,輸出數(shù)據(jù)線鎖存輸入數(shù)據(jù)線上的數(shù)據(jù)。OE引腳為鎖存器的片選信號,低電平有效。圖4-274LS574上沿觸發(fā)鎖存器管腳圖3.8位I/O接口設計用一組74LS245和74LS374/574可以構成一種8位的I/O接口電路,既實現(xiàn)數(shù)據(jù)的輸入又實現(xiàn)數(shù)據(jù)的輸出,輸入輸出可以占用同一種端口。是輸入還是輸出用總線讀寫信號來辨別??偩€讀信號IOR和片選信號CS相“或”來控制輸入接口74LS245的使能信號G。總線寫信號IOW和片選信號CS相“或”來控制輸出接口74LS574的鎖存信號CLK。試驗系統(tǒng)中基本I/O接口單元就實現(xiàn)了這種的電路,8位I/O電路連接如圖4-3所示。INAL,DX;將IA[7:0]連接設備的8位數(shù)據(jù)通過數(shù)據(jù)總線D[7:0]輸入到AL。OUTDX,AL;將AL中的數(shù)據(jù)通過數(shù)據(jù)總線D[7:0]輸出到OA[7:0]連接的設備。圖4-3用74LS245和74LS574構成的8位I/O接口電路4.32位I/O接口設計用四組8位的I/O接口電路可以構成一種32位的I/O接口電路,可以一次進行32位數(shù)據(jù)寬度的I/O操作。I/O讀、寫、片選信號對輸入輸出的控制基本和8位I/O接口電路相似,不過,對于32位數(shù)據(jù)總線,每個字節(jié)都對應著一位字節(jié)使能信號,共有4位字節(jié)使能信號BE0~BE3,因此每個8位I/O接口電路與否有效要受BE[3:0]的控制。INEAX,DX;將I[31:0]連接設備的32位數(shù)據(jù)通過數(shù)據(jù)總線D[31:0]輸入到EAX。OUTDX,EAX;將EAX中的數(shù)據(jù)通過數(shù)據(jù)總線D[31:0]輸出到O[31:0]連接的設備。5.16×16點陣工作原理8×8點陣LED相稱于8×8個發(fā)光管構成的陣列,對于共陽極LED來說,其中每一行共用一種陽極(行控制),每一列共用一種陰極(列控制)。行控制和列控制滿足對的的電平就可使對應行列的發(fā)光管點亮。試驗平臺上點陣LED的管腳及相應的行、列控制位如圖4-4所示。圖4-4點陣LED管腳圖共陽極和共陰極LED的內(nèi)部構造分別如圖4-5和4-6所示。圖4-5共陽極LED內(nèi)部構造圖圖4-6共陰極LED內(nèi)部構造圖4、試驗闡明及環(huán)節(jié)1.8位I/O操作試驗本試驗實現(xiàn)的是將開關K[7:0]的數(shù)據(jù)通過輸入數(shù)據(jù)通道讀入CPU的寄存器,然后再通過輸出數(shù)據(jù)通道將該數(shù)據(jù)輸出到數(shù)據(jù)燈顯示,該程序循環(huán)運行,直到按動PC鍵盤上任意按鍵再退出程序。試驗程序流程如圖4-7所示。參照試驗接線如圖5-8所示。試驗環(huán)節(jié)如下:(1)按圖4-8連接試驗線路圖。(2)運行Tdpit集成操作軟件,根據(jù)試驗內(nèi)容,編寫試驗程序,對試驗程序進行編譯、鏈接。(3)運行程序,撥動開關,觀看數(shù)據(jù)燈顯示與否對的。圖4-78位I/O接口設計試驗參照流程圖圖4-88位I/O接口設計試驗參照接線圖2.32位I/O操作試驗本試驗運用點陣LED顯示單元的16×16點陣,將16行控制和16列控制合成一種32位端口來操作(列控制連接到發(fā)光管的陽極,行控制連接發(fā)光管的陰極,列為“1”,對應的行為“0”,則對應的一列發(fā)光管點亮)。用32位I/O接口單元中的32位輸出O[31:0]的高16位控制16列,低16位控制16行,即一次I/O操作就可完畢LED點陣的一次顯示。試驗規(guī)定控制點陣循環(huán)逐行顯示,直到按動PC鍵盤上任意按鍵再停止程序退出。試驗環(huán)節(jié)如下:(1)試驗接線圖如圖4-9所示,按圖連接試驗線路圖。(2)運行Tdpit集成操作軟件,根據(jù)試驗內(nèi)容,編寫試驗程序,對試驗程序進行編譯、鏈接。(3)運行程序,觀看LED點陣顯示與否對的。3.點陣顯示試驗運用取字模軟件得到中文字符數(shù)組,設計程序,在點陣上顯示學生姓名。試驗參照接線如圖4-9所示。試驗環(huán)節(jié)如下:(1)按圖4-9連接試驗線路圖。(2)運行Tdpit集成操作軟件,根據(jù)試驗規(guī)定編寫試驗程序,編譯、鏈接。(3)運行程序,觀測點陣的顯示,驗證程序功能。使用點陣顯示符號時,必須首先得到顯示符號的編碼,這可以根據(jù)需要通過不同的工具獲得。試驗程序4.1:IOYOEQU3000HSTACK1SEGMENTSTACK DW256DUP(?)STACK1ENDSCODESEGMENT ASSUMECS:CODESTART:MOVDX,IOYO INAL,DX OUTDX,AL MO
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版買賣二手房認購協(xié)議書
- 家庭房屋裝修協(xié)議合同書二零二五年
- 公司信用擔保合同樣本
- 住建部合同樣本樣本
- 個人借用汽車合同樣本
- 精裝修施工現(xiàn)場臨時用電方案資料
- 中學“提升工程2.0”校本研修方案
- 信封供貨合同標準文本
- 主題班會教案:積極心態(tài)-健康成長主題班會教案
- 會計崗位聘用合同樣本
- 第一屆貴州技能大賽銅仁市選拔賽平面設計技術文件
- 2025年陜西農(nóng)業(yè)發(fā)展集團有限公司(陜西省土地工程建設集團)招聘(200人)筆試參考題庫附帶答案詳解
- 高血壓患者收縮壓TTR和強化降壓對心血管事件的影響
- 5 《人應當堅持正義》說課稿 2024-2025學年統(tǒng)編版高中語文選擇性必修中冊
- 《失語癥的康復治療》課件
- 2025年安徽省交通控股集團招聘筆試參考題庫含答案解析
- 品管圈活動在提高急診危重患者科間交接規(guī)范率的效果分析
- 2024年德州市人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年03月福建廈門銀行總行社會招考(330)筆試歷年參考題庫附帶答案詳解
- 機電工程施工方案-施工組織設計(技術方案)
- 2024年度儲能電站在建項目收購合作協(xié)議范本3篇
評論
0/150
提交評論