北科大微機(jī)原理實(shí)驗(yàn)報(bào)告_第1頁(yè)
北科大微機(jī)原理實(shí)驗(yàn)報(bào)告_第2頁(yè)
北科大微機(jī)原理實(shí)驗(yàn)報(bào)告_第3頁(yè)
北科大微機(jī)原理實(shí)驗(yàn)報(bào)告_第4頁(yè)
北科大微機(jī)原理實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理實(shí)驗(yàn)微機(jī)原理 實(shí)驗(yàn)報(bào)告 班級(jí): 學(xué)號(hào): 姓名: 2015年6月目 錄 第一部分 上機(jī)實(shí)驗(yàn) 實(shí)驗(yàn)一 顯示程序?qū)嶒?yàn).1 實(shí)驗(yàn)二 數(shù)據(jù)傳送實(shí)驗(yàn) .3 實(shí)驗(yàn)三 數(shù)碼轉(zhuǎn)換程序?qū)嶒?yàn) .5 實(shí)驗(yàn)四 運(yùn)算類程序?qū)嶒?yàn).14 實(shí)驗(yàn)五 分支程序設(shè)計(jì)實(shí)驗(yàn) .17 第二部分 接口實(shí)驗(yàn) 實(shí)驗(yàn)一 簡(jiǎn)單I/O口擴(kuò)展驗(yàn).1 實(shí)驗(yàn)二 存儲(chǔ)器讀寫實(shí)驗(yàn) .3 實(shí)驗(yàn)三 8255并行口實(shí)驗(yàn) .14 實(shí)驗(yàn)四 8253定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn).19 第一部分上機(jī)實(shí)驗(yàn)- 27 -實(shí)驗(yàn)一 顯示程序?qū)嶒?yàn)1、 實(shí)驗(yàn)?zāi)康?1. 掌握在PC機(jī)上以十六進(jìn)制形式顯示數(shù)據(jù)的方法; 2. 掌握部分DOS 功能調(diào)用使用方法; 3. 熟悉Tddebug 調(diào)試環(huán)境

2、和Turbo Debugger 的使用。二、實(shí)驗(yàn)內(nèi)容 一般來(lái)說(shuō),程序需要顯示輸出提示運(yùn)行的狀況和結(jié)果,有的還需要將數(shù)據(jù)區(qū)中的內(nèi)容顯示在屏幕上。本實(shí)驗(yàn)要求將指定數(shù)據(jù)區(qū)的數(shù)據(jù)以十六進(jìn)制數(shù)形式顯示在屏幕上,并通過(guò)DOS 功能調(diào)用完成一些提示信息的顯示。實(shí)驗(yàn)中可使用DOS 功能調(diào)用(INT 21H )。 (1) 顯示單個(gè)字符輸出 入口:AH=02H 調(diào)用參數(shù):DL= 輸出字符 (2) 顯示字符串 入口:AH=09H 調(diào)用參數(shù):DS:DX=串地址,$為結(jié)束字符 (3) 鍵盤輸入并回顯 入口:AH=01H 返回參數(shù):AL= 輸出字符 (4) 返回DOS 系統(tǒng) 入口:AH=4CH 調(diào)用參數(shù):AL= 返回碼3

3、、 實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)四、實(shí)驗(yàn)代碼DATA SEGMENT MES DB Show a as hex:, 0AH,0DH,$ SD DB a DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET MES ;顯示提示信息 MOV AH, 09H INT 21H MOV DI, OFFSET SD MOV AL, DS:DI AND AL, 0F0H ;取高4位 SHR AL,4 CMP AL, 0AH ;是否是A以上的數(shù) JB C2 ADD AL, 07H C2:

4、 ADD AL, 30H MOV DL, AL ;顯示字符 MOV AH, 02H INT 21H MOV AL, DS:DI AND AL, 0FH ;取低4位 CMP AL, 0AH JB C3 ADD AL, 07H C3: ADD AL, 30H MOV DL, AL ;顯示字符 MOV AH, 02H INT 21H MOV AX, 4C00H ;返回DOS INT 21H CODE ENDS END START 五、運(yùn)行結(jié)果實(shí)驗(yàn)二 數(shù)據(jù)傳送實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1. 熟悉Tddebug調(diào)試環(huán)境和Turbo Debugger的使用; 2. 掌握與數(shù)據(jù)有關(guān)的不同尋址方式。 二、實(shí)驗(yàn)所用設(shè)

5、備 1. PC微機(jī)一臺(tái)。 三、實(shí)驗(yàn)內(nèi)容 將數(shù)據(jù)段中的一個(gè)字符串傳送到附加段中,并輸出附加段中的目標(biāo)字符串到屏幕上。 參考實(shí)驗(yàn)程序: DDATA SEGMENT ;定義源數(shù)據(jù)段 MSR DB HELLO,WORLD!$ LEN EQU DATA SEGMENT PARA MSG DB PLEASE INPUT THE NUMBER,0DH,0AH,$ ENTER DB ,0DH,0AH,$ STRING DB THE RESULT IS:,0DH,0AH,$ DATA ENDS SS_SEG SEGMENT STACK DB 100 DUP (0) SS_SEG ENDS CODE SEGMEN

6、T ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,MSG MOV AH,9 INT 21H MOV AH,1 INT 21H AND AL,0FH MOV BX,1 MOV CX,0 LOOP1: SUB AX,BX INC BX INC BX INC CX CMP 0,AL JNAE LOOP1 LEA DX,ENTER MOV AH,9 INT 21H LEA DX,STRING MOV AH,9 INT 21H MOV DX,CX ADD DX,30H MOV AH,2 INT 21H MOV AX,4C00H IN

7、T 21H CODE ENDS END START將程序主體部分的寄存器間接尋址方式改為相對(duì)尋址方式,則如下所示: MOV BX, 0 MOV CX, LEN NEXT: MOV AL, MSRBX MOV ES:MSDBX, AL INC BX LOOP NEXT 四、實(shí)驗(yàn)步驟 1. 運(yùn)行Tddebug軟件,選擇Edit菜單編寫實(shí)驗(yàn)程序; 2. 使用Compile菜單中的Compile和Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接; 3. 使用Rmrun菜單中的Run,運(yùn)行程序,觀察運(yùn)行結(jié)果; 4. 使用Rmrun菜單中的Debug,調(diào)試程序,觀察調(diào)試過(guò)程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容;

8、 5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。 五、實(shí)驗(yàn)運(yùn)行結(jié)果 實(shí)驗(yàn)三 數(shù)碼轉(zhuǎn)換程序?qū)嶒?yàn) 一、實(shí)驗(yàn)?zāi)康?掌握不同進(jìn)制數(shù)及編碼相互轉(zhuǎn)換的程序設(shè)計(jì)方法。 二、實(shí)驗(yàn)所用設(shè)備 PC微機(jī)一臺(tái)。 三、實(shí)驗(yàn)內(nèi)容 計(jì)算機(jī)輸入設(shè)備輸入的信息一般是由ASCII碼或BCD碼表示的數(shù)據(jù)或字符,CPU用二進(jìn)制數(shù)進(jìn)行計(jì)算或其它信息處理,處理結(jié)果的輸出又必須依照外設(shè)的要求變?yōu)锳SCII碼、BCD碼或七段顯示碼等。因此,在應(yīng)用軟件中,各類數(shù)制的轉(zhuǎn)換和代碼的轉(zhuǎn)換是必不可少的。計(jì)算機(jī)與外設(shè)間的數(shù)碼轉(zhuǎn)換關(guān)系如圖3-1所示,數(shù)碼對(duì)應(yīng)關(guān)系如表3-1所示。 圖3-1 計(jì)算機(jī)與外設(shè)間的數(shù)碼轉(zhuǎn)換關(guān)系 1將ASCII碼表示的十進(jìn)制數(shù)轉(zhuǎn)換為二

9、進(jìn)制數(shù) 十進(jìn)制數(shù)可以表示為:Dn10n+Dn-110n-1+D0100 =Di10i 其中Di代表十進(jìn)制數(shù)1、2、39、0。 上式可以轉(zhuǎn)換為: Di10i=(Dn10+Dn-1)10)+Dn-2)10+D1)10+D0 由上式可歸納十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制的方法:從十進(jìn)制數(shù)的最高位Dn開始作乘10加次位的操作,依次類推,則可求出二進(jìn)制數(shù)結(jié)果。 本實(shí)驗(yàn)要求將緩沖區(qū)中的一個(gè)五位十進(jìn)制數(shù)00012的ASCII碼轉(zhuǎn)換成二進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果按位顯示在屏幕上。轉(zhuǎn)換過(guò)程的參考流程如圖3-2所示。 表3-1 數(shù)碼轉(zhuǎn)換對(duì)應(yīng)關(guān)系 2將十進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換為BCD碼 本實(shí)驗(yàn)要求將鍵盤輸入的一個(gè)五位十進(jìn)制數(shù)543

10、21的ASCII碼存放入數(shù)據(jù)區(qū)中,轉(zhuǎn)換為 BCD 碼后,并將轉(zhuǎn)換結(jié)果按位分別顯示于屏幕上。若輸入的不是十進(jìn)制數(shù)的ASCII碼,則輸出“FF”。提示:一字節(jié)ASCII碼取其低四位即變?yōu)锽CD碼。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見3-3。 3將十六進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換為十進(jìn)制數(shù) 十六位二進(jìn)制數(shù)的值域?yàn)?-65535,最大可轉(zhuǎn)換為五位十進(jìn)制數(shù)。五位十進(jìn)制數(shù)可表示為: ND=D4104+D3103+D2102+D110+D0 因此,將十六位二進(jìn)制數(shù)轉(zhuǎn)換為五位ASCII碼表示的十進(jìn)制數(shù),就是求D1-D4,并將它們轉(zhuǎn)化為ASCII碼。 本實(shí)驗(yàn)要求將緩沖區(qū)中存放的000CH的ASCII碼轉(zhuǎn)換成十進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果

11、顯示在屏幕上。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見圖3-4。 4BCD碼轉(zhuǎn)換為二進(jìn)制碼 本實(shí)驗(yàn)要求將四個(gè)二位十進(jìn)制數(shù)的BCD碼存放在某一內(nèi)存單元中,轉(zhuǎn)換出的二進(jìn)制數(shù)碼存入其后的內(nèi)存單元中,轉(zhuǎn)換結(jié)束,送屏幕顯示。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見3-5。 四、實(shí)驗(yàn)步驟 1. 運(yùn)行Tddebug軟件,選擇Edit菜單編寫實(shí)驗(yàn)程序; 2. 使用Compile菜單中的Compile和Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接; 3. 使用Rmrun菜單中的Run,運(yùn)行程序,觀察運(yùn)行結(jié)果; 4. 使用Rmrun菜單中的Debug,調(diào)試程序,觀察調(diào)試過(guò)程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容; 5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正

12、確性。 五、實(shí)驗(yàn)代碼 1將ASCII碼表示的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) DATA SEGMENT MSR DB 00012 LEN EQU $-MSR DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET MSR MOV CX,LEN-1 MOV AL,DS:SI MOV AH,0 SUB AX,30H A1: MOV BX,0AH MUL BX INC SI MOV DL,DS:SI MOV DH,0 SUB DX,30 ADD AX,DX DEC CX JNZ A1 MO

13、V CL,16 MOV BX,AX A2: ROL BX,1 MOV DL,BL AND DL,01H ADD DL,30H MOV AH,2H INT 21H DEC CL JNZ A2 MOV AX,4C00H INT 21H CODE ENDS END START2將十進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換為BCD碼DATA SEGMENT STRING DB INPUT:,$ STRING1 DB OUTPUT:,$ MSR DB 6,6 DUP() DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

14、LEA DX,STRING MOV AH,09H INT 21H MOV DX,OFFSET MSR MOV AH,0AH INT 21H MOV DL,0AH MOV AH, 02H INT 21H MOV DL,0DH MOV AH, 02H INT 21H LEA DX,STRING1 MOV AH,09H INT 21H MOV CL,MSR+1 MOV SI,0002H MOV BX,OFFSET MSR A1: MOV AL,BX+SI CMP AL,40H JNC B1 SUB AL,30H MOV CH,0 PUSH CX MOV CL,4 MOV DH,AL SHL DH,C

15、L A2: ROL DH,1 MOV DL,DH AND DL,01H ADD DL,30H MOV AH,02H INT 21H DEC CL JNZ A2 POP CX INC SI DEC CL JNZ A1 B1: JZ B2 MOV DL,46H MOV AH,02H INT 21H INC SI DEC CL JNZ A1 B2: MOV AX,4C00H INT 21H CODE ENDS END START送屏幕顯示將余下位添充零YN商為0將余數(shù)轉(zhuǎn)換成ASCII碼,并保存AX除以10,AX=商,DX=余數(shù)AX=轉(zhuǎn)換數(shù)SI=SI-1取出轉(zhuǎn)換數(shù)3將十六進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換為十進(jìn)

16、制數(shù) DATA SEGMENT ;定義源數(shù)據(jù)段 STRING DB Input:,$ MSR DW 000CH MDR DB 5 DUP(?),$ DATA ENDS CODE SEGMENT ;定義代碼段 ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,OFFSET MDR MOV SI, 5 MOV AX,MSR ;將數(shù)據(jù)000CH保存到AX當(dāng)中 NEXT1: DEC SI MOV DX,0 MOV CX,0AH DIV CX ADD DL,30H MOV BX+SI,DL CMP AX,0 JNE NEXT1 CMP

17、 SI,0 ;判斷SI是否為零,為零則表明五位十進(jìn)制數(shù)的每一位都不為零,否則應(yīng)給前面為零的位上補(bǔ)上零 JE NEXT3 NEXT2: DEC SI MOV AL,30H MOV BX+SI,AL CMP SI,0 JNE NEXT2 NEXT3: MOV DX,OFFSET MDR MOV AH,09H INT 21H MOV AX,4C00H INT 21H CODE ENDS END START4BCD轉(zhuǎn)換為二進(jìn)制碼DATA SEGMENT MSR DB 03H,02H,03H,05H,07H,06H,07H,08H,4 DUP() DATA ENDS CODE SEGMENT ASSUM

18、E CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,OFFSET MSR MOV DI,8 MOV CX,4 MOV DH,0AH A1: MOV SI,1 MOV AL,BX+SI MUL DH DEC SI ADD AL,BX+SI MOV BX+DI,AL PUSH CX MOV CH,AL MOV CL,8 A2: ROL CH,1 MOV DL,CH AND DL,01H ADD DL,30H取數(shù)的十位 MOV AH,02H INT 21H DEC CL JNZ A2 POP CX MOV DL,42H MOV AH,02H與個(gè)

19、位相加 INT 21H MOV AH,2 MOV DL,13 INT 21H MOV AH,2 MOV DL,10 INT 21H ADD BX,2 INC DI DEC CX JNZ A1 MOV AX,4C00H INT 21H CODE ENDS END START 4.實(shí)驗(yàn)四 運(yùn)算類程序?qū)嶒?yàn) 一、實(shí)驗(yàn)?zāi)康?1. 掌握運(yùn)算類指令編程及調(diào)試方法; 2. 掌握運(yùn)算類指令對(duì)各狀態(tài)標(biāo)志位的影響及測(cè)試方法。 二、實(shí)驗(yàn)所用設(shè)備 1. PC微機(jī)一臺(tái)。 三、實(shí)驗(yàn)內(nèi)容 80x86指令系統(tǒng)提供了實(shí)現(xiàn)加、減、乘、除運(yùn)算的基本指令,可對(duì)表4-1所示的數(shù)據(jù)類型進(jìn)行算術(shù)運(yùn)算。 表4-1 數(shù)據(jù)類型算術(shù)運(yùn)算表 1二進(jìn)制

20、雙精度加法運(yùn)算 本實(shí)驗(yàn)要求計(jì)算X+Y=Z,將結(jié)果Z輸出到屏幕,其中X=001565A0H,Y=0021B79EH。 實(shí)驗(yàn)利用累加器AX,先求低十六位和,并存入低址存儲(chǔ)單元,后求高16位和,再存入高址存儲(chǔ)單元。由于低位和可能向高位有進(jìn)位,因而高位字相加語(yǔ)句需用ADC指令,則低位相加有進(jìn)位時(shí),CF=1,高位字相加時(shí),同時(shí)加上CF中的1。在80386以上微機(jī)中可以直接使用32位寄存器和32位加法指令完成本實(shí)驗(yàn)的功能。 2十進(jìn)制數(shù)的BCD碼減法運(yùn)算 本實(shí)驗(yàn)要求計(jì)算X-Y=Z,其中,X、Y、Z為BCD碼,其中X=0400H,Y=0102H。3 乘法運(yùn)算 本實(shí)驗(yàn)要求實(shí)現(xiàn)十進(jìn)制數(shù)的乘法,被乘數(shù)和乘數(shù)均以BC

21、D碼形式存放于內(nèi)存中,被乘數(shù)為54320H,乘數(shù)為3H,運(yùn)算結(jié)束后,將乘積在屏幕上顯示。 4用減奇數(shù)開平方運(yùn)算 80x86指令系統(tǒng)中有乘除法指令但沒(méi)有開平方指令,因此,開平方運(yùn)算是通過(guò)程序來(lái)實(shí)現(xiàn)的。用減奇數(shù)法可求得近似平方根,獲得平方根的整數(shù)部分。我們知道,N個(gè)自然數(shù)中的奇數(shù)之和等于N2,即:1+3+5=9=321+3+5+7=16=421+3+5+7+9+11+13+15=64=82若要做S的開方運(yùn)算,那麼就可以從S中逐次減去自然數(shù)中的奇數(shù)1,3,5,7,一直進(jìn)行到相減數(shù)為0或不夠減下一個(gè)自然數(shù)的奇數(shù)為止,然后統(tǒng)計(jì)減去自然數(shù)的奇數(shù)個(gè)數(shù),它就是S的近似平方根。 本實(shí)驗(yàn)要求利用減奇法計(jì)算0040

22、H的開平方值,并將運(yùn)算結(jié)果顯示在屏幕上。 四、實(shí)驗(yàn)步驟 1. 運(yùn)行Tddebug軟件,選擇Edit菜單編寫實(shí)驗(yàn)程序; 2. 使用Compile菜單中的Compile和Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接; 3. 使用Rmrun菜單中的Run,運(yùn)行程序,觀察運(yùn)行結(jié)果; 4. 使用Rmrun菜單中的Debug,調(diào)試程序,觀察調(diào)試過(guò)程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容; 5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。 五、實(shí)驗(yàn)代碼 二進(jìn)制雙精度加法運(yùn)算 DATA SEGMENT X DW 065A0H,0015H Y DW 0B79EH,0021H Z DW 2 DUP(?) DATA END

23、S CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,2 CLC MOV SI,0 L1: MOV AX,XSI ADC AX,YSI MOV ZSI,AX INC SI INC SI LOOP L1 MOV BX,Z2 CALL LIST_BX MOV BX,Z CALL LIST_BX MOV AH,4CH INT 21H LIST_BX PROC MOV CH,4 MOV CL,4 NEXT: ROL BX,CL MOV DL,BL AND DL,0FH ADD DL,30H CMP DL,39

24、H JLE PRINT ADD DL,7 PRINT: MOV AH,2 INT 21H DEC CH JNZ NEXT RET LIST_BX ENDP CODE ENDS END START5、 實(shí)驗(yàn)運(yùn)行結(jié)果 第二部分接口實(shí)驗(yàn)實(shí)驗(yàn)1 簡(jiǎn)單I/O口擴(kuò)展實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1、 熟悉74LS273,74LS244的應(yīng)用接口方法。 2、掌握用鎖存器、三態(tài)門擴(kuò)展簡(jiǎn)單并行輸入、輸出口的方法。二、實(shí)驗(yàn)設(shè)備 EL-MUT-III 型微機(jī)/單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)三、實(shí)驗(yàn)內(nèi)容 邏輯電平開關(guān)的狀態(tài)輸入到74LS244,然后通過(guò)74LS273鎖存輸出,利用LED顯示電路作為輸出的狀態(tài)顯示。程序全速運(yùn)行后,邏輯電平開關(guān)

25、的狀態(tài)改變應(yīng)能在LED上顯示出來(lái)。例如: K2置于L位置,則對(duì)應(yīng)的LED2應(yīng)該點(diǎn)亮。四、程序框圖五、實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)2 存儲(chǔ)器讀寫實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1.掌握PC機(jī)外存擴(kuò)展的方法。 2.熟悉6264芯片的接口方法。 3.掌握8086十六位數(shù)據(jù)存儲(chǔ)的方法 。二、實(shí)驗(yàn)設(shè)備 EL-MUT-III 型微機(jī)/單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)三、實(shí)驗(yàn)內(nèi)容 向02000020FFH單元的偶地址送入AAH,奇地址送入55H。要求設(shè)置兩個(gè)斷點(diǎn),在斷點(diǎn)1處內(nèi)存區(qū)02000H020FFH單元為00H;在斷點(diǎn)2處偶地址為AAH,奇地址為55H四、程序框圖code segment assume cs:code org 0100hstart

26、: mov ax,0100h mov ds,ax;數(shù)據(jù)段地址 mov es,ax mov si,1000h;偏移地址 mov cx,0100h;循環(huán)次數(shù) mov al,0intram: mov si,al inc si loop intram mov si,1000h;設(shè)置斷點(diǎn)處 mov cx,100h mov ax,55aahfil: mov si,ax;RAM區(qū)循環(huán)置數(shù) inc si;movsi,ah inc si loop fil nop;設(shè)置斷點(diǎn)處 jmp startcode ends end start 五實(shí)驗(yàn)結(jié)果:實(shí)驗(yàn)3 8255并行口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆?255A的編程原理。二、

27、實(shí)驗(yàn)設(shè)備 EL-MUT-III 型微機(jī)/單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)三、實(shí)驗(yàn)內(nèi)容 8255A的A口作為輸入口,與邏輯電平開關(guān)相連。8255A的B口作為輸出口,與發(fā)光二極管相連。編寫程序,使得邏輯電平開關(guān)的變化在發(fā)光二極管上顯示出來(lái)。程序全速運(yùn)行后,邏輯電平開關(guān)的狀態(tài)改變應(yīng)能在LED上顯示出來(lái)。例如:K2置于L位置,則對(duì)應(yīng)的LED2應(yīng)該點(diǎn)亮。四、程序框圖 assume cs:code code segment public org 100hstart: mov dx,04a6h;控制寄存器地址 mov ax,90h;設(shè)置為A口輸入,B口輸出 out dx,axstart1: mov dx,04a0h;A口

28、地址 in ax,dx;輸入 mov dx,04a2h;B口地址 out dx,ax;輸出 jmp start1code endsend start五實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)4 8253定時(shí)器/計(jì)數(shù)器接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆?253定時(shí)器的編程原理,用示波器觀察不同模式下的輸出波形。二、實(shí)驗(yàn)設(shè)備 EL-MUT-III 型微機(jī)/單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)三、實(shí)驗(yàn)內(nèi)容 8253計(jì)數(shù)器0,1,2工作于方波方式,觀察其輸出波形。程序全速運(yùn)行后,LED1閃爍(周期為0.25s),OUT1示波器觀察為方波,頻率為15KHz。四、程序框圖assume cs:codecode segment publicorg 100hstar

29、t:mov dx,04a6h;控制寄存器mov ax,36h;計(jì)數(shù)器0,方式3out dx,axmov dx,04a0hmov ax,7Chout dx,axmov ax,92hout dx,ax;計(jì)數(shù)值927Chmov dx,04a6hmov ax,76h;計(jì)數(shù)器1,方式3out dx,axmov dx,04a2h mov ax,32h out dx,ax mov ax,0;計(jì)數(shù)值32h out dx,ax mov dx,04a6h mov ax,0b6h;計(jì)數(shù)器2,方式3 out dx,ax mov dx,04a4h mov ax,04h out dx,ax mov ax,0;計(jì)數(shù)值04h

30、 out dx,axnext:nopjmpnextcode ends end start 五實(shí)驗(yàn)結(jié)果:實(shí)驗(yàn)58259中斷控制器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握8259A的工作原理。2、掌握編寫中斷服務(wù)程序方法。3、掌握初始化中斷向量的方法。二、實(shí)驗(yàn)設(shè)備 EL-MUT-III 型微機(jī)/單片機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)三、實(shí)驗(yàn)內(nèi)容用電平開關(guān)的輸出作為中斷源,每個(gè)開關(guān)對(duì)應(yīng)于一個(gè)中斷源。在中斷服務(wù)程序中,通過(guò)74LS273輸出一個(gè)數(shù)據(jù),以點(diǎn)亮與中斷源相對(duì)應(yīng)位置的LED。全速運(yùn)行程序,由上往下?lián)軇?dòng)開關(guān)時(shí),相應(yīng)位置的LED點(diǎn)亮,其余LED全滅。實(shí)驗(yàn)程序框圖 assume cs:code code segment public org 100hstart:movcx,0start1: climov dx,04a0h mov ax,13h out dx,ax;ICW1, ICW4 NEEDED movdx,04a2hmov ax,80hout dx,ax ;ICW2 中斷類型80hmov ax,01h;01out dx,ax ;ICW4mov ax,00hout dx,ax ;OCW1, 開放所有中斷nop ;以上為8259初始化 mov ax,0mov ds,axmov di,200h ;初始化中斷向量表mov ax,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論