北京交通大學微機原理與接口技術作業答案_第1頁
北京交通大學微機原理與接口技術作業答案_第2頁
北京交通大學微機原理與接口技術作業答案_第3頁
北京交通大學微機原理與接口技術作業答案_第4頁
北京交通大學微機原理與接口技術作業答案_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄微機原理與接口技術第一章作業2一、書上 P22 作業題2、3、72微機原理與接口技術第二章作業2一、書上 P59 作業題2、5、 6、9、142微機原理與接口技術第三章作業3一、書上P95 作業題4、5、6、7、10、11、12、13、14、15、16、 17、18、22、 27.4微機原理與接口技術第四章作業8一、課本 P1558、12、13、148微機原理與接口技術第五章作業10一、作業 P1802、5、7、8、9、 1011微機原理與接口技術第六章作業13一、 P207:1,3, 5, 10, 14。18, 19, 2013微機原理與接口技術第七章作業(一)17一、 P268:3,6

2、 , 7, 10 , 11 , 1217微機原理與接口技術第七章作業(二)20一、 P268:15 , 16 , 19, 21, 2520微機原理與接口技術第八章作業24一、 P2926 、724微機原理與接口技術第一章作業一、書上P22 作業題2、3 、71 完成下列數制之間的轉換。( 1) 01011100B=92D( 3) 135D=10000111B( 5) 10110010B=262Q=B2H2 組合型 BCD碼和非組合型BCD碼有什么區別?寫出十進制數254 的組合型BCD數和非組合型BCD數。答:組合型 BCD碼的儲存格式用一個字節存放2 位 BCD碼,高 4 位表示十進制的十位

3、數, 低 4 位表示十進制的個位數,數值表示范圍為099;非組合型的儲存格式是用一個字節的低 4 位存放 1 位 BCD碼,高四位可以為0 或任意數,數值表示范圍為09。254D 的組合型BCD碼: 001001010100254D的非組合型BCD碼: 00000010 00000101 000001007. 計算機中為什么采用補碼的形式儲存數據?當計算機的字長n=16 時,補碼的數據表示范圍是多少?答:是為了便于進行加減運算,簡化機器硬件結構。當n=16 時,補碼表示數值的范圍是+32767-32768 。微機原理與接口技術第二章作業一、書上P59 作業題2 、 5 、 6 、 9 、 14

4、 2、8086 標志寄存器包含哪些狀態標志位?試說明各狀態標志位的作用.答: 6 個狀態標志位:CF(Carry Flag) 進位標志位。 當執行一個加法( 或減法 ) 運算,使最高位產生進位( 或借位 ) 時, CF為 1;否則為0。PF(ParityFlag) 奇偶標志位。 該標志位反映運算結果中1 的個數是偶數還是奇數。當指令執行結果的低8 位中含有偶數個1 時, PF=1;否則 PF=0。AF(AuxiliarycarryFlag) 輔助進位標志位。當執行一個加法( 或減法 ) 運算,使結果的低 4 位向高 4 位有進位 ( 或借位 ) 時, AF=1;否則 AF=0。ZF(Zero

5、Flag)零標志位。若當前的運算結果為零,ZF=1;否則 ZF=0。SF(Sign Flag)符號標志位。它和運算結果的最高位相同。OF(Overflow Flag)溢出標志位。當補碼運算有溢出時,OF=1;否則 OF=0。3 個控制標志位:DF(DirectionFlag) 方向標志位。 它用以指定字符串處理時的方向,當該位置 “ 1” 時,字符串以遞減順序處理,即地址以從高到低順序遞減。反之,則以遞增順序處理。IF(InterruptenableFlag) 中斷允許標志位。它用來控制8086 是否允許接收外部中斷請求。若IF=1 , 8086 能響應外部中斷,反之則不響應外部中斷。TF(T

6、rap Flag)跟蹤標志位。它是為調試程序而設定的陷阱控制位。當該位置“1” 時, 8086 CPU 處于單步狀態,此時CPU每執行完一條指令就自動產生一次內部中斷。當該位復位后, CPU恢復正常工作。5、邏輯地址與物理地址有什么區別?如何將邏輯地址轉換為物理地址?答:物理地址是真實存在的唯一地址,指的是存儲器中各個單元的單元號;邏輯地址是思維性的表示,由段地址和偏移地址聯合表示的地址類型叫邏輯地址。物理地址=段地址× 10H偏移地址。6、寫出下列邏輯地址的段基址、偏移地址和物理地址。(1) 2314H: 0035H ( 2) 1FD0H:000AH答:( 1)段基址: 2314H

7、偏移地址: 0035H物理地址: 23175H。( 2)段基址: 1FD0H偏移地址: 000AH物理地址: 1FD0AH。9、設一個16 字的數據區,它的起始地址為70A0H:DDF6H(段基址:偏移地址) ,求這個數據區的首字單元和末字單元的物理地址。答:首字: 70A0*10H+DDF6H=7E7F6H末字: 7E7F6H+( 16-1 ) *2=7E814H。14、 80486CPU存儲器最大可尋址空間是多少?虛擬存儲空間是多少?兩者有何區別?答:最大可尋址空間是4GB,虛擬存儲空間是64TB。可尋址空間是實地址,虛擬存儲空間是外部存儲管理器。微機原理與接口技術第三章作業一、書上P95

8、 作業題4 、5 、6、 7、10 、11 、12 、13 、14 、15 、16 、17 、18 、22 、274、指出下列指令中的源操作數和目標操作數的尋址方式。1 MOV BX,1000H源操作數:立即尋址;目標操作數:寄存器尋址2 MOV AL,BX源操作數:寄存器間接尋址;目標操作數:寄存器尋址3 MOV CX,BP+10H源操作數:寄存器相對尋址;目標操作數:寄存器尋址4 MOV AL,ES:BX+SI源操作數:基址加變址尋址;目標操作數:寄存器尋址5 MOV DI+1000H,BX源操作數:寄存器尋址;目標操作數:寄存器相對尋址6 MOV 1000H,CX源操作數:寄存器尋址;目

9、標操作數:直接尋址7 MOV AL,BX+DI+1234H源操作數:寄存器相對尋址;目標操作數:寄存器尋址8 MOV AL,1000HBX+SI源操作數:寄存器相對尋址;目標操作數:寄存器尋址9 MOV EBX+ESI+2010H,DX源操作數:寄存器尋址;目標操作數:帶位移的基址加變址尋址10 MOV AX,0100HEBX+ESI*4源操作數:基址加比例變址尋址;目標操作數:寄存器尋址5、設( DS)=2000H、( ES)=2100H、( SS)=1500H、( BX)=0100H、(BP)=0040H、( SI )=00A0H、(DI ) =0120H,在指令MOVAX, src 中,

10、求用下列表示源操作數src 的有效地址EA和物理地址 PA各是多少?(1) 100HBX EA=(100H+0100H)=0200H; PA=2000*10H+0200H=20200H(2) ES:BX+DI EA=0100H+0120H=0220H; PA=2100*10H+0220H=21220H(3) BP EA=0040H; PA=1500*10H+0040H=15040H(4) ES:BX+10H EA=0100H+0010H=0110H ; PA=21000H+0110H=21110H (5) BP+SI EA=0040H+00A0H=00E0H; PA=1500*10H+OOEO

11、H=150E0H (6) 1000H EA=1000H; PA=2000*10H+1000H=21000H(7) ES:DI EA=0120H; PA=2100*10H+0120H=21120H(8) 1050HBX+SI EA=1050H+0100H+00A0H=11F0H; PA=2000*10H+11F0H=211F0H(9) DS:10C0HBP+SI EA=10C0H+0040H+00A0H=11A0H ; PA=2000*10H+11A0H=211A0H (10) BX+DI EA=0100H+0120H=0220H; PA=2000*10H+0220H=20220H6、指出下列指

12、令中的錯誤,并改正。1 MOV BL, 30A0H 操作數不匹配改:MOV BX, 30A0H2 MOV 0010H,AL立即數不可以作為目標操作數改:MOV AX, 0010H3 XCHG AL,BX操作數類型不匹配改:XCHG AX,BX4 MOV AX,3456H 立即數送入存儲器需要說明改:MOV WORDPTR AX,3456H5 PUSH AL堆棧以字為操作單元改:PUSH AX6 POP CS POP不可以用CS為目標操作數改:POP AX7 MOV DS, 1000H 立即數不能直接送入段寄存器改:MOV AX, 1000H MOV DS, AX8 MOV BX,1000H存儲

13、器不可以相互傳送改:MOV AX, 1000H MOV BX, AX9 LDS ( BX), 1000HLDS 使用時期目標為16 位通用寄存器改:LDS BX, 1000H10 LEA BX, CX LEA 源操作數為存儲器改:LEA BX, CX7、已知( AX) =4A0BH,1020H 單元中的內容為260FH,寫出下列每條指令單獨執行后的結果。(1) MOV AX, 1020H ;( AX) =1020H(2) XCHG AX, 1020H; ( AX) =260FH(3) MOV AX, 1020H;( AX) =260FH(4) LEA AX, 1020H;( AX) =1020

14、H10、設一個堆棧段共有100H 個字節單元,堆棧的起始地址為1250H:0000H ,若在堆棧中存有 5 個字數據,問:(1)棧頂的物理地址多少? 棧底: 12600H(2)棧底的物理地址是多少? 棧頂: 12600-A=125F6H(3)當前 SS和 SP的內容是多少? SS: 1250H:0000H SP: 1250H:00F6H (4)若彈出兩個數據,SP 的內容是多少? SP: 1250H:00FAH 11、編程完成下列程序段,根據運算結果置標志位OF、SF、ZF、AF、PF、 CF,并分析程序執行結果是否正確?為什么?(設字長n=8)(1) 30+64(2) 122-64(3) 9

15、6+52(4) -68+ ( -72 )答:( 1)MOV AL, 30MOV BL, 64 ADD AL, BL結果: 0101111OF=0 SF=0 ZF=0 AF=0 PF=1 CF=02 MOV AL, 122MOV BL, 64 SUB AL, BL結果: 00111010 OF=0 SF=0 ZF=0 AF=0 PF=1 CF=03 MOV AL, 96MOV BL, 52 ADD AL, BL結果: 10010100F=0 SF=0 ZF=0 AF=0 PF=1 CF=04 MOV AL , -68MOV BL, -72 ADD AL, BL結果: 01110100OF=1 S

16、F=0 ZF=0 AF=1 PF=1 CF=117 、判斷下列指令格式的對與錯,并解釋錯在哪里。2 ADD 25H, AX(×)目標操作數不可以為立即數3 INC BX, 1(×) INC 只有目標操作數4 MUL AL, BL(×)乘法指令目標操作數是隱含的5 SUBB AL, 3(×)減法指令是SUB6 DAA AL(×) DAA后無操作數7 NEG CX, 0(×) NEG后只有目標操作數(7) CMP BX,1000HBX+SI()18、設( AL) =10010010B, 將 AL 的內容算術右移2 位, AL 的內容和CF

17、 是多少?再將AL 的內容邏輯右移2 位, AL 的內容和CF是多少?算術右移2 位AL:11100100CF:1邏輯右移2 位AL:00100100CF:122、寫出下列程序段執行后的結果。MOV CL, 4MOV AL, 87MOV DL, AL AND AL, 0FH OR AL, 30H SHR DL, CL OR DL, 30H(AL) =37H,( DL) = 35H27、試用 CMP指令和條件轉移指令實現下列判斷(1) AX 和 CX中的內容為無符號數:若( AX) >( CX)則轉至BIGGER符號執行; 若( AX) <( CX)則轉至LESS符號執行。CMP A

18、X, CX JA BIGGER JB LESS(2) BX 和 DX中的內容為無符號數:若( BX) >( DX)則轉至BIGGER符號執行; 若( BX) <( DX)則轉至LESS符號執行。CMP BX, DX JG BIGGER JL LESS微機原理與接口技術第四章作業一、課本P1558 、 12 、13 、148、按下列的要求寫出段定義格式。(1)數據段的位置從0E000H開始,在該段中定義的5 個字節數據, 3 個字數據, 2雙字數據,要求字節數據從偏移地址據從偏移地址0020H 開始。0000H 開始,字數據從偏移地址0010H 開始,雙字數(2)堆棧段定義100 個

19、字節(3)代碼段的開始位置給有關段寄存器賦值,在程序結束時能夠返回DOS。DATA SEGMENTORG 0000HD1 DB 00H,01H,02H,03H,04HORG 0010HD2 DW 0000H,0010H,0020HORG 0020HD3 DD 3 DUP(?)DATA ENDSSTACK SEGMENT STACKDB 100 DUP(?)STACK ENDS8、按下列的要求寫出段定義格式。(1)數據段的位置從0E000H開始,在該段中定義的5 個字節數據, 3 個字數據, 2雙字數據,要求字節數據從偏移地址據從偏移地址0020H 開始。0000H 開始,字數據從偏移地址001

20、0H 開始,雙字數(2)堆棧段定義100 個字節(3)代碼段的開始位置給有關段寄存器賦值,在程序結束時能夠返回DOS。DATA SEGMENTORG 0000HD1 DB 00H,01H,02H,03H,04HORG 0010HD2 DW 0000H,0010H,0020HORG 0020HD3 DD 3 DUP(?)DATA ENDSSTACK SEGMENT STACKDB 100 DUP(?)STACK ENDS8、按下列的要求寫出段定義格式。(1)數據段的位置從0E000H開始,在該段中定義的5 個字節數據, 3 個字數據, 2雙字數據,要求字節數據從偏移地址據從偏移地址0020H 開

21、始。0000H 開始,字數據從偏移地址0010H 開始,雙字數(2)堆棧段定義100 個字節(3)代碼段的開始位置給有關段寄存器賦值,在程序結束時能夠返回DOS。DATA SEGMENTORG 0000HD1 DB 00H,01H,02H,03H,04HORG 0010HD2 DW 0000H,0010H,0020HORG 0020HD3 DD 3 DUP(?)DATA ENDSSTACK SEGMENT STACKDB 100 DUP(?)STACK ENDS8、按下列的要求寫出段定義格式。(1)數據段的位置從0E000H開始,在該段中定義的5 個字節數據, 3 個字數據, 2雙字數據,要求

22、字節數據從偏移地址據從偏移地址0020H 開始。0000H 開始,字數據從偏移地址0010H 開始,雙字數(2)堆棧段定義100 個字節(3)代碼段的開始位置給有關段寄存器賦值,在程序結束時能夠返回DOS。DATA SEGMENTORG 0000HD1 DB 00H,01H,02H,03H,04HORG 0010HD2 DW 0000H,0010H,0020HORG 0020HD3 DD 3 DUP(?)DATA ENDSSTACK SEGMENT STACKDB 100 DUP(?)STACK ENDSCODE SEGMENT CODE ASSUME C:S CODE, DS: DATAST

23、ART:,MOV AH,4CH INT 21H CODE ENDS ENDS START12、定義數據段如下,畫出數據存儲示意圖,并說明變量X1 和 X2 所對應的邏輯地址各是多少?DATA SEGMENT AT 10A0H ORG 0010HX1 DB 22 , 33, ORG $+ 0020HX2 DB AB12CD DATA ENDSX1 的邏輯地址:10A0H: 0010H X2 的邏輯地址:10A0H: 0032H10A00H10A10H10A32H. . . 16H21H, 41H42H31H32H43H44H13、定義數據段如下,寫出執行以下指令后的結果。DATASEGMENTD

24、A1 DA2DA3DWDBDD2437HABCD10, 14A2HDUP(?)DATAENDS(4) MOV(5) MOV(6) MOVBX, DA1SI , OFFSETAL,TYPEDA1DA1(1) MOV AL, DA2+02H(2) MOV AL, LENGTH DA3(6) MOV AL, SIZEDA3;( BX) =2437H;( SI ) =0000H;( AL) =2;( AL) = C =43H;( AL) =10;( AL) =1013、定義數據段如下,寫出執行以下指令后的結果。DATASEGMENTDA1 DA2DA3DWDBDD2437HABCD10, 14A2HD

25、UP(?)DATAENDS(7) MOV(8) MOV(9) MOVBX, DA1SI , OFFSETAL,TYPEDA1DA1(3) MOV AL, DA2+02H(4) MOV AL, LENGTH DA3(6) MOV AL, SIZEDA3;( BX) =2437H;( SI ) =0000H;( AL) =2;( AL) = C =43H;( AL) =10;( AL) =1013、定義數據段如下,寫出執行以下指令后的結果。DATASEGMENTDA1 DA2DA3DWDBDD2437HABCD10, 14A2HDUP(?)DATAENDS(10) MOV(11) MOV(12)

26、MOVBX, DA1SI , OFFSETAL,TYPEDA1DA1(5) MOV AL, DA2+02H(6) MOV AL, LENGTH DA3(6) MOV AL, SIZEDA3;( BX) =2437H;( SI ) =0000H;( AL) =2;( AL) = C =43H;( AL) =10;( AL) =1013、定義數據段如下,寫出執行以下指令后的結果。DATASEGMENTDA1 DA2DA3DWDBDD2437HABCD10, 14A2HDUP(?)DATAENDS(13) MOV(14) MOV(15) MOVBX, DA1SI , OFFSETAL,TYPEDA1

27、DA1(7) MOV AL, DA2+02H(8) MOV AL, LENGTH DA3(6) MOV AL, SIZEDA3;( BX) =2437H;( SI ) =0000H;( AL) =2;( AL) = C =43H;( AL) =10;( AL) =1014、程序中數據段定義的數據如下: DATASEGMENTNAMES DB GOOD MORNIN!GDW 2050H, 78H, 3080HDATAENDS請指出下列指令序列執行后累加器中的結果是多少?(1) MOV BX, OFFSET NAMES MOV AL, BX+03H(2) MOV BX, 12MOV SI , 3M

28、OV AX, NAMESBX+SI(3) MOV BX, 12MOV SI , 3LEAAX, NAMESBX+SI答:( 1) 44H( 2) 78H( 3) 0FH微機原理與接口技術第五章作業一、作業P1802 、 5 、7、 8、9 、102、半導體儲存器的主要性能指標有哪些?1、存儲容量(1) 、存取速度(2) 、可靠性(3) 、功耗5、儲存器芯片的片選信號的產生有哪幾種方法?各有什么特點?1、線選法: 用除片內尋址外的高位地址線不經過譯碼,直接分別接至各個存儲芯片的片選端來區別各芯片的地址優點:連接簡單,無需專門的譯碼電路缺點:不能充分利用系統的存儲器空間,地址空間浪費大。(2) 、

29、部分譯碼法:只對高位地址線中某幾位地址經譯碼器譯碼優點:高位地址的部分地址線經過譯碼產生片選信號。缺點:存在地址重疊現象。(3) 、全譯碼法:存儲芯片內尋址以外的系統的全部高位地址線都參與譯碼產生片選信號。、優點:芯片的地址范圍不僅是唯一確定的,而且是連續的。缺點:譯碼電路較復雜,連線也較多7、若用 1024*1b 的 RAM 芯片組成16K*8b 的存儲器 ,需要多少芯片? 在地址線中有多少位參與片內尋址? 多少位用做芯片組選擇信號?(設系統地址總線為16 位 ) 1024K*1b=1K*1b1K*8b/1K*1b=816K*8b/1K*8b=168*16=128需要 128 片;1024=

30、210, 需要 10 位參與片內尋址16=24,需要 4 位做芯片組選擇信號8、試用 4K*8b 的 EPROM273和28K*8b 的 SRAM6264, 以及 74LS138 譯碼器 ,構成一個 8KB 的ROM,32KB的 RAM存儲系統 ,要求設計存儲器擴展電路,并指出每片存儲芯片的地址范圍.9、用 EPROM2764和 SRAM6264各一片組成存儲器,其地址范圍為FC000FFFFFH,試畫出存儲器與 CPU 的連接圖和片選信號譯碼電路(CPU 地址線 20 位,數據線8 位)。10、現有存儲芯片:2K*1b 的 ROM和 4K*1b 的 RAM, 若用它們組成容量為16KB 的存

31、儲器 ,前4KB 為 ROM, 后 12KB 為 RAM, 問各種存儲芯片分別用多少片?4K*8b/4K*1b=84K*1b/2K*1b=28*2=16需要 16 片 2K*1b 的 ROM12K*8b/12K*1b=812K*1b/4K*1b=38*3=24需要 24 片 4K*1b 的 RAM微機原理與接口技術第六章作業一、 P207:1, 3 ,5 , 10 , 14 。18 , 19 , 20 1、什么叫中斷?中斷系統的主要功能有哪些?中斷:是指CPU在執行程序的過程中,由于某種外部或內部事件的作用,強迫 CPU停止當前正在執行的程序,轉去為該事件服務,待事件服務結束后,能自動地返回到

32、被中斷的程序中繼續執行。中斷系統的功能:(1) 、設置中斷源(2) 、中斷源識別(3) 、中斷源判優(4) 、中斷與返回3、CPU 響應中斷時的處理過程是什么?在各個處理環節主要完成哪些操作? 過程是:中斷請求、中斷響應、中斷處理和中斷返回。(1)中斷請求:中斷源需要進行中斷服務時,由硬件產生一個中斷信號INTR 發 給 CPU 且保持到 CPU 響應。(2)中斷響應:CPU 在當前指令執行結束后采樣查詢INTR ,若中斷請求信號有效且允許響應 INTR 中斷( IF=1 ),則向請求設備送回低電平有效的中斷響應信號INTR ,自此系統自動進入中斷響應周期,并由硬件自動完成內容入棧,清除TF

33、和 IF 標志、斷點入棧,取中斷服務程序的入口地址等一系列操作,繼而轉去執行中斷服務程序。(3)中斷處理:執行中斷的主體部分。不同的中斷請求源,其中斷處理的內容是不同的。需要根據中斷請求源所要完成的功能,編寫相應的中斷服務程序存入內存。等待中斷響應后調用執行。(4)中斷返回:又中斷服務程序中的中斷返回指令IRET 完成。執行該指令時,將壓入對戰的斷點和標志位彈出,使CPU 轉向被中斷的現行程序中繼續執行。5、中斷允許標志IF 的作用是什么? 可以用什么指令對它置1 或清 0。IF 用來控制INTR 和單步中斷。 IF=1 允許中斷 IF=0不允許中斷STI: IF=1 CLI : IF=010

34、、中斷向量表用來存放什么內容?它占用多大的存儲空間?存放在內存的哪個區域?可以用什么方法寫入或者讀取中斷向量表的內容?中斷向量表存放中斷向量,即中斷服務程序的段基址+偏移地址。中斷向量表占1KB 內 存RAM區,地址范圍:000H 3FFH。寫入方法: 1 、用傳送指令直接裝入2 、 DOS功能調用: INT 21H(AH) =25H讀出方法:(AL) =中斷類型號(DS: DX)=中斷服務程序的入口地址(1) 、用傳送指令直接讀(2) 、 DOS功能調用: INT 21H( AH) =35H( AL) =中斷類型號出口參數:( ES: BX)=中斷服務程序的入口地址14、 8259A 有哪幾

35、種中斷結束方式? 它們適合應用在什么場合?2. 、自動結束方式自動結束方式是利用中斷響應信號INTA 的第二個負脈沖的后沿將ISR 中的中斷服務標志位清除, 是在中斷過程中完成的,并非中斷服務程序的真正結束。只適合適用在無多級中斷嵌套的場合。3. 、普通結束方式通過向 8259A 傳送一個普通EOI 命令來清除ISR 中當前優先權級別最高位,適合使用在完全嵌套方式下的中斷結束。4. 、特殊結束方式通過向8259A 傳送一個普通EOI 命令來清除ISR 中的指定位。 適合使用在完全嵌套方式下的中斷結束,更適合用于嵌套結構有可能遭到破壞的中斷結束。18、某系統使用一片8259A 管理中斷,中斷請求

36、由IR2 引人 , 采用電平觸發、完全嵌套、普通 EOI 結束方式,中斷類型號為42H 端口地址為80H 和 81H, 試畫出 8259A 與 CPU的硬件連接圖,井編寫初始化程序。初始化程序:MOV AL,00011011B;電平觸發、單片、寫ICW4OUT 80H,AL;MOV AL,01000000B;寫 ICW1中斷類型號40H,則 IR2為 42HOUT 81H,AL;寫 ICW2 MOVAL,00000001B ;完全嵌套、非自動結束、8086 模式OUT 81H,AL;寫 ICW419、某系統使用兩片8259A 管理中斷,從片的INT 連接到主片的IR2 請求輸入端。設主片工作于

37、邊沿觸發、特殊完全嵌套、非自動結束和非緩沖方式,中斷類型號為70H ,端口地址為 80H 和 81H ;從片工作與邊沿觸發、完全嵌套、非自動結束和非緩沖方式,中斷類型號為 40H ,端口地址為20H 和 21H 。要求:(1)畫出主、從片級聯圖(2)編寫主、從片初始化程序主片初始化程序:MOV AL,00010001B;邊沿觸發、主片、寫ICW4OUT 80H,AL;寫 ICW1MOV AL,01110000B;中斷類型號70H,則IR2 為 42HOUT 81H,AL;寫 ICW2MOV AL, 00000100OUT 81H,AL;寫 ICW3MOV AL,00010001B;完全嵌套、非

38、自動結束、8086 模式OUT 81H,AL;寫 ICW4從片初始化程序:MOV AL,00010001B;邊沿觸發、從片、寫ICW4 OUT 20H,AL;寫 ICW1MOV AL,01000000B;中斷類型號40H,則 IR2 為 42HOUT 21H,AL;寫 ICW2 MOV AL, 00000010OUT 21H,AL;寫 ICW3MOV AL,00000001B;完全嵌套、非自動結束、8086 模式OUT 21H,AL;寫 ICW420、某系統由8259A 的 IR2 引入外設中斷請求(跳變信號有效),要求當CPU 響應 IR2 請求時,輸出顯示字符串“* ”,并中斷10 次退出

39、,試編寫主程序和中斷服務程序。程序:DATA SEGMENTMESS DB '*',OAH,ODH,'$' INTA00 EQU 0020HINTA01 EQU 0021H DATA ENDSSTACK SEGMENT STACK DB 100H DUP (?)STACK ENDS CODE SEGMENTASSUME CS: CODE, DS : DATA , SS :STACKMAIN : MOV AX, DATA MOV DS, AXMOV DX, INTA00 ;8259A 初始化MOV AL , 13H ;寫 ICW1 OUT DX , ALMOV D

40、X, INTA01MOV AL , 08H ;寫 ICW2 OUT DX , ALMOV AL , 01H ;寫 ICW4 OUT DX , ALPUSH DSMOV AX, SEG INT-P ;設置中斷矢量MOV DS, AXMOV DX, OFFSET INT-P MOV AL , 0AHMOV AH, 25H POP DSMOV AL , 0FBH ;寫中斷屏蔽字OCW1 OUT DX, AL MOV DX, INTA00MOV AL , 20H ;寫中斷結束方式OCW2 OUT DX, ALMOV BX, 10WAIT1: STI;開中斷JMP WAIT1 ;等待中斷INT-P: M

41、OV AX, DATA ;中斷服務程序入口MOV DS, AXMOV DX, OFFSET MESS;輸出指定字符串MOV AH, 09HINT 21HMOV DX, INTA00 ;寫 OCW,2 送中斷結束命令EOI MOV AL , 20HOUT DX , ALDEC BX ;控制 10 次循環JNZ NEXTMOV DX, INTA01 ;讀屏蔽寄存器IMR IN AL, DXOR AL , 04H ;屏蔽 IR2 請求OUT DX , ALSTI;開中斷MOV AX, 4C00H ;返回操作系統INT 21HNEXT : IRET;中斷返回CODE: ENDS END MAIN微機原

42、理與接口技術第七章作業(一)一、P268:3,6 , 7, 10 , 11 , 123、CPU與 IO 接口設備數據傳送的控制方式有哪幾種?它們各有何特點?(1)查詢方式:不需要額外的硬件支持,但由于CPU與外設工作的不同步,致使CPU利用率低,適用于工作不太繁忙的系統中。(2)中斷方式:CPU與外部設備并行工作(3) DMA方式:數據傳送過程中,由DMA控制器參與工作,不需要CPU的干預,對批量數據傳送效率高。6、設 8255A 的 A 口工作于方式1 輸出, B 口工作于方式0 輸入,試編寫初始化程序(設端口地址為40H43H)程序:MOV DX ,43H MOV AL ,10100010

43、 OUT DX,AL7、使用 8255A 作為開關和LED 指示燈電路的接口.要求 8255A 的 A 口連接 8 個開關,B 口連接 8 個 LED 指示燈,將 A 口的開關狀態讀入,然后送至B 口控制指示燈亮、滅。試畫出接口電路設計圖,并編寫程序實現。程序:設 8255 的地址: 0FFE0H0FFE3H DATA SEGMENTDB 100H DUP(?) DATA ENDSCODE SEGMENTASSUME C:S CODE,DS DATA START : MOV AX,DATAMOV DS,AXMOV AL,10010000 ; A口方式 0 輸入 B 口方式 0 輸出 MOV D

44、X,0FFE3H OUT DX,AL MOV DX, 0FFE0HIN AL,DX ;讀取 A 口開關狀態INC DX NOT AL OUT DX,AL ;輸出 B 口驅動 LED ,開關閉合則 LED 亮 RETCODE ENDS END START10、利用 8254 的通道 1,產生 500Hz 的方波信號。設輸入時鐘頻率CKL1=2.5MHz,端口地址為 FFA0HFFA3H,試編寫初始化程序。端口地址: FFA0H-FFA3H計數器 1 的控制字: 01110110B=76H 計數常數 =2.5M/500=5000初始化程序:MOV AL,76H MOV DX,0FFA3H OUT

45、DX,ALMOV AX,5000 MOV DX,0FFA1H OUT DX,ALMOV AL,AH ;寫入計數器1 的低字節OUT DX,AL ;寫入計數器1 的高字節11、某系統使用8254 的通道 0 作為計數器,記滿1000,向 CPU 發中斷請求,試編寫初始化程序(端口地址自設)。設 8254 端口地址: 40H-43H計數器 0 的控制字: 00110000B=30H 計數常數 =1000初始化程序: MOV AL,30H OUT 43H,AL MOV AX,1000 OUT 40H,ALMOV AL,AH ;寫入計數器0 的低字節OUT 40H,AL ;寫入計數器0 的高字節12、

46、采用8254 的通道0 產生周期為10ms 的方波信號,設輸入時鐘頻率為100kHz , 8254的端口地址為38H-3BH,試編寫初始化程序。8254 端口地址: 38H-3BH計數器 0 的控制字: 00110110B=36H 計數常數 =100K*10ms=1000初始化程序: MOV AL,36H OUT 3BH,AL MOV AX,1000OUT 38H,AL ;寫入計數器0 的低字節MOV AL,AHOUT 38H,AL ;寫入計數器0 的高字節微機原理與接口技術第七章作業(二)一、 P268:15 , 16 , 19 , 21 , 2515、什么是波特率?假設異步傳輸的一幀信息由

47、1 為起始位, 7 位數據位、 1 為校驗位和1位停止位構成,傳送的波特率為9600,則每秒鐘能傳輸字符的個數是多少?波特率是指數據傳送的速率,含義是指每秒鐘傳二進制數的位數,單位用bps 或波特表示每秒可傳送的字符個數。9600/(1+7+1+1)=96016、一個異步串行發送器,發送的字符格式為:1 位起始位、 7 位數據位、 1 位奇偶校驗位和 2 位停止位,若每秒傳送100 個字符,則其波特率為多少?100* ( 1+7+1+2) =1100bps19、設某系統使用一片8250 進行串行通信, 要求波特率為2400 ,8 位數據位, 2 位停止位, 偶校驗,對接收緩沖器滿開中斷,試編寫

48、初始化程序。設 8250 端口地址: 3F8H-3FEH XTAL1=1.8432MHz, BAUD=2400除數寄存器: 1.8432M/(2400*16)=48=30H 3F8H線路控制寄存器: 10011111B=1FH 3FBH 中斷允許寄存器: 00000001B=01H 3F9H 初始化程序:MOV DX,3FBH MOV AL,80HOUT DX,AL ;置線路控制寄存器DLAB=1 MOV AX,30HOUT DX,AL INC DXMOV AL,AH; 除數寄存器低8 位OUT DX,AL MOV DX,3FBH MOV AL,1FHOUT DX,AL;除數寄存器高8 位MO

49、V DX,3FCH MOV AL,03HOUT DX,AL ;MODEMMOV DX,3F9H MOV AL,01HOUT DX,AL ;中斷允許21、設計一個應用系統,要求:8255A 的 A 口輸入 8 個開關信息,并通過8250 以串行的方式循環,將開關信息發送出去。已知:8255 的端口地址為100H-103H ,8250 輸入的基準時鐘頻率為1.8432MHz ,傳輸波特率為2400,數據長度為8 位, 2 位停止位,奇校驗、屏蔽全部中斷,端口地址為108H10EH,采用查詢方式傳送。要求:(1)設計該系統的硬件連接電路(包括地址譯碼電路);(2)編寫各芯片的初始化程序(3)編寫完成

50、上述功能的應用程序。(1)(2)8255 初始化程序:MOV DX, 103HMOV AL , 10010000B ; A 口輸入MOV DX, AL8250 初始化程序:8250 端口地址: 108H-10EH XTAL1=1.8432MHz,BAUD=2400除數寄存器 =1.8432M/(2400*16)=48=30H 108H線路控制寄存器:00001111B=0FH 10BH中斷允許寄存器:00000000B=00H 109H(3) 程序:DATA SEGMENT A DB ?DATA ENDSSTACK1 SEGMENT PARA STACK DW 100 DUP(?)STACK1

51、 ENDSCODE SEGMENTASSUME CS: CODE, DS: DATA, SS:STACK1START:MOV AX,DATAMOV DS,AX MOV DX, 103HMOV AL , 10010000B;A口輸入MOV DX, AL MOV DX,10BH MOV AL,80HOUT DX,AL ; 置線路控制寄存器DLAB=1MOV DX, 108HMOV AL, 30H;1843200 / (2400*16) = 48=30H OUTDX , ALINC DX MOV AL, 0OUT DX, AL ;寫除數 R高位MOV DX, 10BHMOV AL, 0FH(00001

溫馨提示

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

評論

0/150

提交評論