129019552840008750微機原理實驗指導(dǎo)書_第1頁
129019552840008750微機原理實驗指導(dǎo)書_第2頁
129019552840008750微機原理實驗指導(dǎo)書_第3頁
129019552840008750微機原理實驗指導(dǎo)書_第4頁
129019552840008750微機原理實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗須知一、預(yù)習(xí)要求1. 實驗前認真閱讀實驗教程中有關(guān)內(nèi)容,明確實驗?zāi)康摹?nèi)容和實驗任務(wù)。2. 每次實驗前做好充分的預(yù)習(xí),對所需預(yù)備知識做到心中有數(shù)。3. 實驗前應(yīng)編好源程序,并對調(diào)試過程、實驗結(jié)果進行預(yù)測。二、實驗要求1. 實驗課請勿遲到,缺席。2. 愛護設(shè)備,保持清潔,不隨意更換設(shè)備。3. 認真完成實驗任務(wù),實驗結(jié)果經(jīng)教師檢查。4. 做硬件實驗時,嚴禁帶電操作,即所有的接線、改線及拆線操作均應(yīng)在不帶電的狀態(tài)下進行,并注意防止導(dǎo)線堵塞插孔。5. 發(fā)生事故,應(yīng)立即切斷電源,并馬上向教師報告,檢查原因,吸取教訓(xùn)。6. 實驗完畢,請整理實驗設(shè)備,正常關(guān)機,再離開實驗室。三、報告要求每次實驗后,應(yīng)遞

2、交一份實驗報告,報告中應(yīng)包含下列內(nèi)容:1. 實驗名稱、實驗人姓名、學(xué)號、班級,所用設(shè)備號。2. 實驗?zāi)康?、任?wù)。3. 硬件實驗應(yīng)畫出各任務(wù)的完整電路圖。4. 畫出各任務(wù)程序流程圖。5. 寫出實驗調(diào)試情況,包括上機時遇到的問題及解決辦法、實驗結(jié)果分析等, 并附上調(diào)試好的程序清單(應(yīng)加適量注釋)。6. 總結(jié)實驗中的心得體會,提出對實驗內(nèi)容、方案等的建議、意見或設(shè)想等。軟件部分實驗實驗一 DEBUG的使用【實驗?zāi)康摹?學(xué)習(xí)使用DEBUG程序的各種命令。2掌握用DEBUG調(diào)試自編程序的方法,為以后實驗打下基礎(chǔ)?!緦嶒炐再|(zhì)】驗證性實驗(學(xué)時數(shù):2H)?!緦嶒瀮?nèi)容】1進入DEBUG后,首先用命令R查看當前

3、DS和IP寄存器內(nèi)容,記錄此值。2練習(xí)R,D,A,U,T,P,G命令的使用。3用A命令匯編下列程序段,完成將DS:2000開始的5個字節(jié)內(nèi)存內(nèi)容相加,并把相加的結(jié)果存放在DS:2005內(nèi)存單元中,用DEBUG調(diào)試運行該程序,查看運行結(jié)果,觀察程序段能否完成指定功能,若不能,說明原因。 MOV CX,5MOV AL,0MOV BX,2000NEXT:ADD AL,BXINC BX LOOP NEXTMOV BX,ALINT 3步驟:1)用A命令將程序鍵入到100H開始的內(nèi)存中,在鍵入時記下標號NEXT的實際地址,在鍵入LOOP指令時NEXT用實際地址值代替。2)用U命令檢查鍵入的程序及對應(yīng)的機器

4、碼。3)用E2000 01 02 03 04 05將2000H開始的前5個內(nèi)存單元的內(nèi)容修改為01、02、03、04、05,用D命令查看修改結(jié)果,并記錄結(jié)果。4)用T命令逐條運行上述小程序指令,檢查并記錄有關(guān)寄存器、存儲單元內(nèi)容及ZF情況。5)用F2000 L05 02 03 04 05 06 將2000H開始的5個內(nèi)存單元的內(nèi)容修改為02、03、04、05、06,用D命令查看修改結(jié)果,并記錄修改結(jié)果。6)用G=100 全速運行上述小程序,用D2000 2005查看運行結(jié)果并記錄運行結(jié)果。4利用T,P,G命令,執(zhí)行下列程序段,注意它們的不同之處。(1) MOV DI,300MOV SI,400

5、MOV CX,3CLDREP MOVSBINT 3(2) 先在CS:200處匯編一條RET指令,再在CS:100處匯編。MOV BX,200CALL BXINT 3 然后從MOV BX,200處開始執(zhí)行。5用命令A(yù)匯編下列指令,并判斷指令正誤并說明原因。(1) ROR AX,8(2) LEA DI,AX(3) MOV DS,2010(4) PUSH AL(5) OUT 900,AL(6) MOV BX,0【預(yù)習(xí)要求】1仔細閱讀附錄中“匯編語言上機操作過程及程序調(diào)試技術(shù)”部分的內(nèi)容。2根據(jù)實驗要求,對各項結(jié)果進行預(yù)測?!舅伎碱}】1指令MOV BX,AX中,操作數(shù)BX的尋址方式是什么?在DEBUG

6、下執(zhí)行完該指令后,如何查看執(zhí)行結(jié)果?2可否隨意在DEBUG提示符“-”后不帶參數(shù)發(fā)出命令G?什么情況下使用命令G時,可不用“=”給出執(zhí)行首地址?【報告要求】1分析任務(wù)5中各條指令錯誤原因。2說明命令T和P的區(qū)別。3寫出任務(wù)3的編輯調(diào)試過程,并附上調(diào)試記錄。4回答思考題?!緦嶒炋崾尽?DEBUG的進入如果是首次進入DEBUG編程,則只要在DOS提示符下鍵入DEBUG ,即可進入DEBUG環(huán)境,顯示提示符“-”。如果要對某個程序使用DEBUG進行調(diào)試,只要在DOS提示符下鍵入DEBUG 文件名,即可進入DEBUG環(huán)境,顯示提示符“-”。如:Cdebug exam.exe2程序的匯編與反匯編源程序可

7、以在DEBUG下,用匯編命令A(yù)輸入到內(nèi)存中,只需在DEBUG提示符“-”下,鍵入?yún)R編命令A(yù) ,并在顯示“段寄存器地址:偏移地址”后面鍵入你自己編寫的程序,每鍵入一條,按一次回車鍵。-A 127B:0100MOV CX,5 127B:0103MOV AL,0 127B:0105MOV BX,2000 如果進入DEBUG時是使用“DEBUG 文件名”進入的,那么在進入DEBUG狀態(tài)后,可用反匯編命令U,將調(diào)入的程序顯示出來:-U 127B:0100B90500MOV CX,5127B:0103B000MOV AL,0127B:0105BB0020MOV BX,20003在DEBUG狀態(tài)下,對所編寫

8、文件存盤的步驟給程序命名-N 文件名.COM 將文件長度放入BX、CX中(高位放入BX,低位放入CX中)-R BX (注意!由于文件長度一般較小,所以切記BX中付0值)-R CX (文件最末偏移地址減去文件開始的偏移地址即文件長度)用寫盤命令W把正在調(diào)試的內(nèi)存中程序?qū)懭氪疟P中-W 地址(文件開始地址)退出DEBUG狀態(tài)用Q命令:-Q 4在DEBUG狀態(tài)下,建議使用DOS分配給用戶的內(nèi)存可用區(qū)在DEBUG狀態(tài)下,用戶可對所有寄存器、RAM內(nèi)存隨意查看和修改,但由于對DOS操作系統(tǒng)在內(nèi)存中存放情況不了解,可能會將存放有操作系統(tǒng)程序的內(nèi)存內(nèi)容破壞,從而可能引起系統(tǒng)的異常,出現(xiàn)死機現(xiàn)象,故建議使用DO

9、S分配給用戶的內(nèi)存可用區(qū),其低端地址是剛進入DEBUG時,用命令R查看到的DS:IP。5用連續(xù)執(zhí)行命令G應(yīng)注意問題用連續(xù)執(zhí)行命令G執(zhí)行程序時,注意給出執(zhí)行程序的首地址,并注意執(zhí)行的程序中有返回DEBUG功能的程序段,如指令I(lǐng)NT 20H或斷點設(shè)置INT 3,否則發(fā)出命令后,很容易出現(xiàn)死機,原因是無返回程序段使系統(tǒng)返回命令接受狀態(tài),CPU將不斷到內(nèi)存中取指令、執(zhí)行指令,使用戶失去對系統(tǒng)的控制。為避免這種情況,可在用戶程序段結(jié)尾加上一條INT 20H指令,或INT 3指令。6關(guān)于任務(wù)5DS:2000單元開始的5個字節(jié)內(nèi)容,可用填充命令F給其賦值。-F 2000 L5 01 02 03 04 05(

10、在執(zhí)行程序前用F命令給單元賦值)之后,運行任務(wù)5程序段,檢查運行結(jié)果是否正確。實驗二 兩個多位十進制數(shù)相加實驗【實驗?zāi)康摹? 熟悉在PC機上建立、匯編、連接、調(diào)試和運行匯編語言程序的過程。2 掌握數(shù)據(jù)傳送和算術(shù)運算指令的用法。3 熟悉和掌握用DEBUG調(diào)試程序的方法?!緦嶒炐再|(zhì)】驗證性實驗(學(xué)時數(shù):2H)。【實驗內(nèi)容】1將兩個多位十制數(shù)相加,要求加數(shù)和被加數(shù)均以ASCII碼形式各自順序存放在以DATAl和DATA2為首的5個內(nèi)存單元中(低位在前),結(jié)果送DATA3處。2將上題改為高字節(jié)在前低字節(jié)在后的形式存放數(shù)據(jù),程序如何改變?3上述程序只顯示了相加結(jié)果,沒有顯示加數(shù)和被加數(shù),如果按47193

11、+28056=75249格式顯示,程序如何修改?4如果考慮5位十進制數(shù)向更高位有進位情況,程序如何修改?實驗說明:匯編語言沒有十進制加法指令,ADD/ADC加法指令的運算對象是二進制數(shù),如果要進行BCD碼數(shù)的加法,需要對結(jié)果進行修正。組合BCD碼的加法調(diào)整指令為DAA,它針對AL寄存器中的組合BCD碼數(shù)之和進行修正。對于未組合BCD碼的加法調(diào)整指令為AAA(加法的ASCII碼調(diào)整指令),它將存于AL寄存器中的一位ASCII碼數(shù)加法運算的結(jié)果調(diào)整為一位拆開型十進制數(shù),仍保留在AL中,如果向高位有進位(AF=1),則進到AH中。對于多字節(jié)的ASCII碼相加,只能從最低位開始逐個字節(jié)地進行加法操作,

12、并隨即進行調(diào)整。內(nèi)容1參考程序清單(WJSY2.ASM):DATASEGMENTDATA1DB 33H,39H,31H,37H,34HDATA2DB 36H,35H,30H,38H,32HDATA3 DB 5 DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AXMOV CX,5;計數(shù)MOV SI,0;做變址用,因從DATA1的第一個數(shù)取數(shù),故SI=0CLCNEXT:MOV AL,DATA1SI;取被加數(shù)給ALADC AL,DATA2SI;取加數(shù)和AL相加AAA;未組合十進制數(shù)加法調(diào)整指令MOV DAT

13、A3SI,AL;結(jié)果送至DATA3處INC SI;修改SI指向下一位數(shù) LOOP NEXTMOV SI,5;因顯示是從高位到低位,故SI=5L: ADD DATA3SI-1,30H;還原成ASCII碼 MOV DL,DATA3SI-1 MOV AH,02;送顯示 INT 21H DEC SI JNZ L MOV AH,4CH;返回DOS INT 21HCODEENDS END START運行結(jié)果:75249【實驗要求】1 實驗內(nèi)容1、內(nèi)容2為基礎(chǔ)題,必須做,完成后可得7分。2 實驗內(nèi)容3為提高題,完成后可再加2分。3 實驗內(nèi)容4為提高題,完成后可再加1分?!绢A(yù)習(xí)要求】 1仔細閱讀課本及相應(yīng)教材

14、。 2參照程序框圖編制源程序,準備好多組運算數(shù)據(jù),以供校驗。【思考題】1一個段的大小為多少?一定是64KB嗎?如何在DEBUG下查看程序在內(nèi)存的存放情況?2加數(shù)與被加數(shù)都是ASCII碼形式,在作相加運算時,是否要先轉(zhuǎn)換為十六進制數(shù)?【報告要求】1報告要寫實驗?zāi)康?、實驗?nèi)容。2列出運行正確的源程序清單,加上適當注釋,寫出執(zhí)行結(jié)果及結(jié)果分析。3回答思考題。4. 寫出實驗總結(jié)?!緦嶒炋崾尽看蜷_MASM文件夾,有四個文件EDIT.COM,MASM.EXE,LINK.EXE,DEBUG.COM我們要用到。1進入EDIT編輯環(huán)境建立和修改匯編源程序文件(文件名要以.ASM結(jié)尾)2用MASM命令匯編源文件以

15、產(chǎn)生相應(yīng)的目標文件(OBJ文件)3用LINK命令連接目標文件以產(chǎn)生可執(zhí)行文件(EXE文件)4用DEBUG調(diào)試、運行可執(zhí)行程序。參考程序框圖:注:該框圖考慮了五位十進制數(shù)向更高位有進位的情況。顯示被加數(shù)和加數(shù)清除進位標志CX計數(shù)值5執(zhí)行ADC帶進位加法運算AAA調(diào)整AH0結(jié)果送緩沖數(shù)據(jù)區(qū)調(diào)整偏移量CX-1=0?AH將FR低8位AHAH01BXAH 十六進制結(jié)果轉(zhuǎn)化為ASCII碼表示的數(shù)字串 顯示結(jié)果NY結(jié)束實驗三 字符串匹配程序【實驗?zāi)康摹?掌握提示信息的使用方法及鍵盤輸入字符串的用法。2進一步掌握串操作指令的用法?!緦嶒炐再|(zhì)】驗證性實驗(學(xué)時數(shù):3H)?!緦嶒瀮?nèi)容】1編寫程序,實現(xiàn)兩個字符串比

16、較,當兩字符串完全相同時,才顯示“MATCH”,如果有一個字符不同,則顯示“NO MATCH”。字符串由鍵盤輸入。2編寫程序,實現(xiàn)密碼的設(shè)置。要求:首先在屏幕上提示:“Please input the password:”,然后從鍵盤輸入密碼,接著提示:“Please input the password again:”,從鍵盤再輸入一遍密碼,如果兩次輸入的密碼相同,則提示:“OK! Succed in setting up password !”,如果兩次輸入的密碼不同,則提示:“Sorry, Please input password again:”,讓用戶重新設(shè)置密碼,直至設(shè)置成功。3利

17、用密碼登錄系統(tǒng),密碼可由程序員自己設(shè)定,在數(shù)據(jù)段定義。首先在屏幕上提示:“Please input the password:” ,從鍵盤輸入密碼,如果密碼正確,顯示:“Welcome to using the system!”,如果密碼不正確,顯示“Password error,Please input password again:”,等待用戶輸入密碼,密碼最多輸入3次,超過3次,顯示“Sorry! You cant enter the system!”,程序結(jié)束。實驗內(nèi)容1 參考程序清單:CRLFMACRO;宏定義MOV AH,02HMOV DL,0DH;回車INT 21HMOV AH,

18、02HMOV DL,0AH;換行INT 21HENDMDATASEGMENTMESS1DBMATCH,0DH,0AH,$MESS2DBNO MATCH,0DH,0AH,$MESS3DB INPUT STRING1:,0DH,0AH,$MESS4DBINPUT STRING2:,0DH,0AH,$STR1DB20,?,21 DUP(0);字符串1數(shù)據(jù)緩沖區(qū)STR2DB20,?,21 DUP(0);字符串2數(shù)據(jù)緩沖區(qū)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,09

19、HMOV DX,OFFSET MESS3 ;顯示提示信息INT 21HMOV AH,0AH;接收鍵入的字符串1MOV DX,OFFSET STR1INT 21HCRLF;宏調(diào)用,實現(xiàn)回車換行MOV AH,09HMOV DX,OFFSET MESS4 ;顯示提示信息INT 21HMOV AH,0AH;接收鍵入的字符串2MOV DX,OFFSET STR2INT 21HCRLFmov al,str1+1cmp al,str2+1;比較兩字符串的長度 jnz NEQQ;若長度不等則轉(zhuǎn)NEQQCLD;清方向標志MOV CL,SI+1 ;字串1的實際長度MOV CH,0LEA SI,STR1+2 ;字串

20、1字符所在區(qū)域偏移地址LEA DI,STR2+2 ;字串2字符所在區(qū)域偏移地址 REPE CMPSB ;字串1和字串2的所有字符做比較JZ EQQ;相等轉(zhuǎn)EQQNEQQ:MOV DX,OFFSET MESS2MOV AH,09 ;不相等顯示“NO MATCH”INT 21HJMP STOPEQQ:MOV DX,OFFSET MESS1MOV AH,09;顯示“MATCH”INT 21HSTOP:MOV AH,4CH;返回DOSINT 21HCODEENDSEND START【實驗要求】1 實驗內(nèi)容1、內(nèi)容2為基礎(chǔ)題,必須做,完成后可得8分。2 實驗內(nèi)容3為提高題,完成后可再加2分?!绢A(yù)習(xí)要求】

21、1 仔細閱讀課本中有關(guān)DOS功能調(diào)用INT 21H中0AH號功能調(diào)用及串操作類指令部分的內(nèi)容。【報告要求】1報告要寫實驗?zāi)康?、實驗?nèi)容。2列出運行正確的源程序清單,加上適當注釋,寫出執(zhí)行結(jié)果及結(jié)果分析。3回答思考題。4. 寫出實驗總結(jié)?!舅伎碱}】調(diào)用INT 21H中的0AH號功能時,用0AH輸入的字符串,不加處理,能否直接用09H號功能輸出?【實驗提示】1在串比較操作時,一定要注意以下三點:源串一定放在數(shù)據(jù)段,目的串一定放在附加段;源串偏移地址的首地址一定放在SI寄存器中,目的串偏移地址首地址一定放在DI寄存器中;串長度一定放在CX中。清方向標志CLD。2INT 21H中0AH號功能調(diào)用關(guān)于輸

22、入數(shù)據(jù)的緩沖區(qū)開辟問題輸入緩沖區(qū)格式:DATASEGMNETBUFF1DB 20, ?, 21 DUP(0)DATAENDS預(yù)定最大輸入字符數(shù)BUFF131H實際輸入字符數(shù)32H33H從鍵盤輸入字符的ASCII碼34H 3實驗環(huán)境可打開CMASM2文件夾,點擊CMASM文件,進入集成匯編環(huán)境來建立、匯編、連接、調(diào)試程序。N實驗四 從鍵盤輸入數(shù)據(jù)并顯示實驗【實驗?zāi)康摹空莆战邮真I盤數(shù)據(jù)的方法,并了解數(shù)制轉(zhuǎn)換的原理?!緦嶒炐再|(zhì)】驗證性實驗(學(xué)時數(shù):2H)。【實驗內(nèi)容】編寫程序,將鍵盤收到的四位十六進制轉(zhuǎn)換為等值的二進制數(shù),再顯示在終端上?!绢A(yù)習(xí)要求】1仔細閱讀實驗指導(dǎo)書及相應(yīng)教材。2參照給定程序框圖

23、編制源程序?!緢蟾嬉蟆?報告要寫實驗?zāi)康摹嶒瀮?nèi)容。2列出運行正確的源程序清單,加上適當注釋,寫出執(zhí)行結(jié)果及結(jié)果分析。3寫出實驗總結(jié)?!緦嶒炋崾尽看a轉(zhuǎn)換是計算機和外設(shè)打交道的重要技術(shù)。外部設(shè)備通常用ASCII碼(如鍵盤輸入的程序)或BCD碼輸入計算機,而計算機都將其轉(zhuǎn)換為二進制數(shù),運算完了之后計算機又必須將其轉(zhuǎn)換為ASCII碼或BCD碼送到輸出設(shè)備。顯示請輸入“十六進制數(shù)”調(diào)用GETNUM,接收鍵入數(shù)值,保存在BX中計數(shù)值16送CXBX中內(nèi)容循環(huán)左移1位BL送DL,屏蔽DL高7位DL加30H,變成二進制數(shù)位對應(yīng)字符的ASCII碼顯示CX-1=0?返回DOSYN主程序參考框圖:子程序GETN

24、UM框圖:保存寄存器 DX清0 讀取鍵入字符的ASCII碼送AL 將本次鍵入的數(shù)字加進DX中是回車或空格鍵?AL值小于30H嗎?是數(shù)字0-9?是字母A-F?是字母a-f?顯示輸入出錯信息回車換行恢復(fù)寄存器返回YNYYYYNNNN第二部分 硬件部分實驗實驗十一 定時器8253與中斷控制器8259A實驗【實驗?zāi)康摹?掌握計數(shù)器/定時器8253的工作原理和編程方法。2掌握8259中斷控制器的工作原理。3掌握中斷處理程序的編寫。【實驗性質(zhì)】驗證性實驗(學(xué)時數(shù):2H)。【實驗內(nèi)容】1該實驗用PC機內(nèi)部的中斷控制器8259A,中斷源用TPC-H實驗箱上的8253來產(chǎn)生,電路如圖1所示,將8253計數(shù)器0,

25、計數(shù)器1分別設(shè)置為方式3和方式2,計數(shù)初值設(shè)為2000,使8253每隔4秒產(chǎn)生一次低電平的中斷請求。 CLK0 GATE0OUT0 CLK1 GATE1OUT1CSGND WR RD接1MHZ輸出端接IRQ7280H287HIOWIOR8253圖1 8253與8259 實驗電路圖2硬件電路如附圖1所示。3編寫程序,要求每次主機響應(yīng)外中斷IRQ7時,顯示THIS IS A 8259A INTERRUPT !,在鍵盤上敲任意一個鍵,程序退出。4修改電路和程序,直接用手動產(chǎn)生單個脈沖作為中斷請求信號,要求每按一次開關(guān)產(chǎn)生一次中斷,在屏幕上顯示一次This is a IRQ7 interrupt!,中

26、斷10次后程序退出?!緦嶒灢襟E】1斷開電源,按虛線位置連接好接線,經(jīng)檢查無誤后合上電源。2輸入準備好的源程序,并進行匯編連接調(diào)試。3運行程序觀察結(jié)果?!绢A(yù)習(xí)要求】1復(fù)習(xí)8253和8259A工作原理,編程方法和使用方法。2根據(jù)給定的參考程序框圖,在實驗前編寫出源程序。【思考題】1在8253計數(shù)器/定時器中,時鐘信號CLK、門脈沖信號GATE分別起什么作用?2初始化時設(shè)置為非自動結(jié)束方式,那么在中斷服務(wù)程序?qū)⒔Y(jié)束時必須設(shè)置什么操作命令?如果不設(shè)置這種命令會發(fā)生什么現(xiàn)象?3 8259A的中斷屏蔽寄存器IMR和8086/8088的中斷允許標志IF有什么差別?在中斷響應(yīng)過程中,它們怎樣配合起來工作?4在

27、那些情況下需用CLI指令關(guān)中斷?在那些情況下需用STI指令開中斷?【報告要求】1畫出程序框圖。2整理好運行正確的源程序,并加上注釋。3總結(jié)8259的編程方法。重點總結(jié)中斷服務(wù)程序的實際入口地址是怎樣得到的。4總結(jié)實驗調(diào)試過程中遇到的問題。5回答思考題?!揪幊烫崾尽?在TPC-H實驗系統(tǒng)的接口卡上有一個跳線開關(guān)(JP),可以選擇IRQ2、IRQ3、IRQ4、IRQ7引到試驗箱上的IRQ插孔,出廠設(shè)置的是IRQ7。2中斷控制器8259的地址為20H、21H,IRQ7對應(yīng)的中斷類型號為0FH,編程時要根據(jù)中斷類型號設(shè)置中斷向量,8259中斷屏蔽寄存器IMR對應(yīng)位要清零(允許中斷),中斷服務(wù)程序結(jié)束返

28、回前要使用中斷結(jié)束命令:MOV AL,20HOUT 20H,AL3程序退出返回操作系統(tǒng)前應(yīng)將8259中斷屏蔽寄存器IMR對應(yīng)位置1(以關(guān)閉中斷)。CLI關(guān)中斷開始設(shè)置IRQ7的中斷矢量讀8259中斷屏蔽寄存器允許IRQ7中斷STI開中斷關(guān)閉IRQ7中斷有鍵按下么?STI開中斷結(jié)束YN(a) 主程序參考框圖返回DOS程序參考框圖:開始保存寄存器顯示中斷響應(yīng)提示信息發(fā)中斷結(jié)束命令恢復(fù)寄存器開中斷中斷返回(b)中斷服務(wù)程序框圖實驗十二 8255和LED數(shù)碼管顯示實驗【實驗?zāi)康摹?掌握并行接口8255A的工作原理及使用方法。2了解七段數(shù)碼管顯示數(shù)字的原理。3掌握多位數(shù)碼顯示的接口技術(shù)?!緦嶒炐再|(zhì)】驗證

29、性實驗(學(xué)時數(shù):2H)?!緦嶒瀮?nèi)容】1靜態(tài)顯示:按圖2連接好電路,將8255A的A口PA0PA6分別與七段數(shù)碼管的段碼驅(qū)動輸入端ag相連,位碼驅(qū)動輸入端S1接+5V(選中),S0、dp接地(關(guān)閉)。編程從鍵盤輸入一位十進制數(shù)字(09),在七段數(shù)碼管上顯示出來。2動態(tài)顯示(選做):按圖3連接好電路,七段數(shù)碼管段碼連接不變,位碼驅(qū)動輸入端S1S0接8255C口的PC1、PC0。編程在兩個數(shù)碼管上顯示56。圖2 圖3【實驗步驟】1 斷開電源,按虛線位置連接好接線,經(jīng)檢查無誤后合上電源。2 輸入準備好的源程序,并進行匯編連接調(diào)試。3 運行程序觀察結(jié)果?!绢A(yù)習(xí)要求】1 復(fù)習(xí)8255A工作原理、編程方法和

30、使用方法。2 參考給定的程序框圖,在實驗前編寫出源程序?!舅伎碱}】18255A的三個端口在使用時有什么差別?28255A的方式0一般使用在什么場合?在方式0時,如果使用應(yīng)答信號進行聯(lián)絡(luò),應(yīng)該怎么辦?3 當8255A工作在中斷方式2時,CPU是如何區(qū)分輸入或輸出的?【報告要求】1畫出程序框圖。2整理運行正確的源程序,并加上注釋。3總結(jié)實驗調(diào)試過程中遇到的問題及解決的辦法。4回答思考題?!揪幊烫崾尽?實驗臺上的七段數(shù)碼管為共陰極,碼段采用同相驅(qū)動,輸入端加高電平,選中的數(shù)碼管亮,位碼加反相驅(qū)動器,位碼輸入端高電平選中。2七段數(shù)碼管的字形代碼如下表:程序參考框圖:開始將8255設(shè)為A口輸出從鍵盤接收

31、字符是數(shù)字么?將所得字符的ASCII碼減30H查表求出對應(yīng)的段碼將段碼自8255A口輸出返回DOSa) 靜態(tài)顯示程序開始將8255設(shè)為A口輸出送5的段碼至A口送位碼02H 至C口延時送6的段碼至A口送位碼01H 至C口延時有鍵按下么?返回DOSb) 動態(tài)顯示程序YNNY實驗十三 串行通信實驗【實驗?zāi)康摹?了解串行通信的一般原理和RS-232C串行通信接口標準。2熟悉BIOS系統(tǒng)功能調(diào)用INT 14H的使用。【實驗性質(zhì)】驗證性實驗(學(xué)時數(shù):2H)。【實驗內(nèi)容】利用串口1進行雙機通信,硬件連接如圖4所示。RI 9DSR 6RTS 7CTS 81 DCD2 RXD3 TXD4 DTR5 GNDDCD 1RXD 2TXD 3DTR 4GND 59 RI6 DSR7 RTS8 CTS甲機串行口乙機串行口圖4 串行通信電路圖1要求從甲機鍵盤輸入的字符在乙機屏幕上顯示,乙機鍵盤輸入的字符在甲機屏幕上顯示,按q鍵雙方退出,返回操作系統(tǒng)。利用BIOS串行通信中斷進行編程,采用查詢方式,波特率2400,偶校驗,1位停止位,7位數(shù)據(jù)位。2實驗說明本實驗為雙機通信實驗,實驗的硬件連

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論