《微机原理及接口技术》典型习题参考答案_第1页
《微机原理及接口技术》典型习题参考答案_第2页
《微机原理及接口技术》典型习题参考答案_第3页
《微机原理及接口技术》典型习题参考答案_第4页
《微机原理及接口技术》典型习题参考答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档你我共享 第 2 章 2.14, 2.27, 2.40, 2.46, 2.49,2.52 第 5 章 5.10, 5.14, 5.17, 第 6 章 6.2, 6.10, 6.12, 6.14 第 7 章 7.9, 7.11 第 10 章 10.4, 10.5 第2章 2.9 (1)读操作占一次总线周期(4个时钟+1个时钟的等待周期)共5个时钟周期 每个时钟周期=1/4MHz=0.25us,所以共需要0.25us*5=1.25us 复位至少需要 4个时钟周期,4*0.25us=1us 复位后内部除CS=FFFFH夕卜,其它寄存器清 0。 第一条指令的地址 FFFF0H 2.10 T1

2、:地址锁存T2 :地址撤销,准备数据 T3:数据稳定到总线上T4 :读写总线上的数据 CLK、 T1 T2 T3 T4 k 7、 L X 、 M/IO A19-A16-l AD15-AD0 Y 1 X Y2340H 98H X BHE ALE丿 f / WR J DEN/ READY / 2.1 (1) 数据段首地址 DS*16=01500H,堆栈段首地址=SS*16=02500H,所以数据段中存放信 息不能与堆栈段重合,故数据段末地址=0250H-仁024FFH 即数据段范围:01500H024FFH (2)堆栈段末地址 =SS*16+SP=02500H+1200H=03700H 大小为12

3、00H字节=4608字节,可存放 16位的字4608/2=2304个 (3 )代码段由于下限没有其它限制,故最大64KB 首地址=06400H,末地址=06400H+64KB-仁06400H+FFFFH=163FFH 所以代码段地址范围:06400H163FFH (4)现在 SP=0300H,则原来 SP+12=0300H+0CH=030CH 2.40 处理器 主要参数、 8088 8086 80286 80386 80486 Pen tium Pen tium Pro Pen tium II Pen tium III Pen tium 4 通过寄存器 位数 16 16 16 32 32 32

4、 32 32 32 32 段寄存器位 数 16 16 16 16 16 16 16 16 16 16 外部数据线 条数 8 16 16 32 32 64 64 64 64 64 外部地址线 条数 20 20 24 32 32 32 36 36 36 36 存储器空间 1MB 1MB 16MB 4GB 4GB 4GB 64GB 64GB 64GB 64GB 寻址范围 0FFFF FH 0-FFFF FH 0-FFFFF FH 0 FFFFFFF FH 0 FFFFFFF FH 0 FFFFFFF FH 0FFFF FFFFFH 0FFFF FFFFFH 0FFFF FFFFFH 0FFFF FF

5、FFFH 有符号数 表示范围 J5 15 -2 2 - 护215 J5 J5 -2 2 -1 -22-1 -2 2 -1 -22-1 -2 2 -1 c 31 c31 / -22 -1 -2 2 -1 -2 2 -1 丁 nr 注:数的表示范围仅与内部通用寄存器的位数(字长)有关,与外部数据线条数无关。 相同颜色,表示之间有决定关系 2.46 (1) G=0段界以字节为单位,地址范围:089C0000H089C003FH 大小为3FH+1=40H=64,可容纳 64/2=32个汉字 (2)G=1 段大小=(界 +1)*4K=40H*4K=40000H 段的最后一页起始地址 =089C0000H

6、+40000H=089A0000H,页有 4KB大小,因此 段的末地址=089A0000H+FFFH=089A0FFFH 注:书上 P.64个末地址小加了 FFFH (页的界),结果为0048FFFFH (不是48F000H) 2.48 (1)DS*16+EAX=20000H+00003000H=00023000H (2)DS*16+ESI=1A000H+00002000H=0001C000H (3)SS*16+ESP=C0000H+0000A000H=000CA000H (4)DS*16+EDI=12390H+0000A000H=0001C390H 2.49 (1)访问权=11110010B

7、=F2H,段基地址=03000000H,段界=末地址-首地址=1FFFH10000H,所以 G=1,D=1,AVL=1,段界=大小 /4K=1800H=1800H 段描述符=01D0F20000001800H 2.51 (1)DS=0000000000001011B 选中(TI=0)GDT 表 GDTR=00100000仆FFH,GDT 首地址=00100000H,段描述符界=1FFFH,可容纳 8KB, 因此可放8KB/8=1K个描述符。 (2 )段描述符首地址 =00100000H+1*8=00100008H,段描述符=0240F210000003FFH 段首地址=02100000H,段界

8、=03FFH,所以末地址 =021003FFH 段的地址范围:02100000H021003FFH (3 )物理地址=段基地址+偏移地址=02100000H+00000002H=02100002H (4)EAX中的内容为 02100002开始的4个字节,故 EAX=32303031H (5 )可从段描述符的应该说访问权字节及选择子分析: RPL=11,访问权=F2H=11110010B,该段是用户访问的存在物理存储器中的未被访问过 的向上增长的可写数据段。 2.52 (1)CR0=60000010H,PG=0,PE=0 为实地址方式,所以: 物理地址=10030H+1230H=11260H,E

9、AX=75392A00H (2)CR0=60000011H,PG=0,PE=1 分段的保护方式,所以: 段描述符首地址 =0+1000H=00001000H,段描述符=0040F20100001FFFH 段基地址=00010000H,物理地址=00010000H+1230H=00011230H EAX=32303034H 段大小=段界+仁仆FFH+仁2000H,可容纳 8KB数据,访问权=F2=11110010H,该段 是存在物理存储器中的未被访问过的向上增长的可写数据段。 (3)CR0=E0000011H,PG=1,PE=1分段且分页的保护方式,但线性地址已经给出: 线性地址=0000000

10、4H,页目录索引 =0页索引=0 CR3=00001000H,页目录描述符首地址 =00010000H,页描述符=00001FFFH 所以页表基地址 =00001000H,页描述符首地址 =00010000H,页描述符=0000仆FFH 所以页基地址 =00001000H,物理地址=00010000H+4H=00010004H 第5章 5.4 SRAM引脚考虑 (1)数据线条数(2)地址线条数(3)读信号和写控制信号、片选信号条数(4)电源,地 线 8K*8表明,地址线条数=log28K= log2213=13条,数据线8条,读写信号线1条,片选项1 条,电源和地2条,共计25条,但为了成对,

11、因此至少26条引脚。 5.10 8K*8=2 13*8,ROM 首地址=末地址-大小 +仁5800H-8K+ 仁5800H-1FFFH=3801H 14 16KB=2 *8,末地址=RAM 首地址 + 大小-1=5801H-3FFFH=9800H 5.12由图知,地址线 m=16,数据线=8条,容量=2m*n=2 16*8=64KB (实际为27512) 5.14需要8K*8/(2K*4)=8片,2片一组进行位扩展,然后对4组进行字扩展,即采用字位全 扩展方法。 腹有诗书气自华 精品文档你我共享 (2) 腹有诗书气自华 地址范围: (I) : Y0=0 : A13A12=00 , A11A1

12、从全 0 到全 1 变化,但 A0=0 ,所以范围:OOOOHOFFEH (全为偶地址),共2KB (II) : Y0=0 : A13A12=00,A11A1 从全 0 到全 1 变化,但 A0=1,所以范围:0000FFFH (全为奇地址),共2KB (III ):Y1=0 : A13A12=01 , A11A1 从全 0 到全 1 变化,但 A0=0,所以范围:1000H1FFEH (全为偶地址),共2KB (IV): Y1=0 : A13A12=01,A11A1 从全 0 到全 1 变化,但 A0=0,所以范围:1001H1FFFH (全为奇地址),共2KB 5.17 (1) 题图改动:

13、M/IO加一非门后再接G2B。 地址:1# (Y0=0)A19A18A17A16A15=1000 0 所以以范围: 2# (Y1=0) 所以以范围: 3# (Y2=0) 所以以范围: 4# (Y3=0) 所以以范围: 5# (Y4=0) 所以以范围: 6# (Y5=0) 所以以范围: 7# (Y6=0) 所以以范围: MOVAX , ,A14A0全0到全1变化 80000H87FFFH A19A18A17A16A15=1000 1 88000H8FFFFH A19A18A17A16A15=1001 90000H97FFFH A19A18A17A16A15=1001 98000H9FFFFH A

14、19A18A17A16A15=1001 98000H9FFFFH A19A18A17A16A15=1010 1 A8000HAFFFFH A19A18A17A16A15=1011 0 B0000HB7FFFH 9800H ; 4#首地址98000H, A14A0 A14A0 A14A0 A14A0 A14A0 A14A0 取段地址 全0到全 全0到全 全0到全 全0到全 全0到全 全0到全 变化 变化 变化 变化 变化 变化 9800H偏移地址0 MOV DS,AX MOV SI,0 MOV CX,1024*2 ; 2KB MOV AX,0B000H; 7#首地址0B0000H,取段地址 B0

15、00H,偏移地址 0 MOVES, AX MOV DI,0 精品文档你我共享 CLD;DF=O REP MOVSB;串操作 或MOV AX , 9800H ; 4#首地址98000H,取段地址 9800H偏移地址 0 MOV DS , AX MOV SI , 0 MOV CX , 1024*2 ; 2KB MOV AX , 0B000H; 7#首地址0B0000H,取段地址 B000H,偏移地址 0 MOVES, AX MOV DI , 0 LP1 :MOV AL , SI MOV DI , AL INC SI INC DI LOOP LP1 6.2 (a)A9A8A7A6A5A4A3A2A1

16、A0=000111 111 仁7FH (b)A9A8A7A6A5A4A3A2A1A0=100101 0XXX 所以地址:250H257H 6.6 MOV AL,80H ;设置波特率 MOV DX,373H ;A1A0=11的地址(线路控制寄存器) OUT DX,AL MOV AL,30 ;1843200/( 38400*16 )除数 MOV DX,370H OUT DX,AL ;写除数低字节 MOVAL , 0 INC DX OUT DX,AL ;写除数高字节 MOV AL,00010010B MOV DX,3F3H OUT DX,AL 6.7 MOV AL,80H MOV DX,3FBH O

17、UT DX,AL MOV AL,10H MOV DX,3F8H OUT DX,AL INC DX MOV AL,0 OUT DX,AL ;波特率7200的除数值=10H MOV AL, 00000011B MOV DX,3FBH OUT DX,AL SEND:MOV DI,OFFSET TRANS MOV CX,WORD PTR TLENGTH+4 MOV SI,OFFSET TRANS-2 MOV BYTE PTRDI-2,55H MOV BYTE PTRDI-1,0AAH MOV AX,DI ADD AX,WORDPTR TLENGTH MOV DI,AX MOV BYTE PTRDI+1

18、,0AAH MOV BYTE PTRDI+2,55H SWAIT: MOV DX,3FBH IN AL,DX;取线路状态 TEST AL,00100000B ;THRE发送保持寄存器空=1 JZ SWAIT ;不空等待 MOV AL,SI ;取数据 MOV DX,3F8H OUT DX,AL ;发送 INC SI LOOP SWAIT MOV DI,OFFSET RECIV MOV CX,WORD PTR RLENGTH MOV BL,0;计接收数据个数 RECEIVE : MOV DX,3FBH IN AL,DX ;取线路状态参数,判断接收有数据否 TEST AL,80H ;超时退出 JNZ

19、 EXITP TEST AL,01H ;接收数据继续 JZ RECEIVE ;串口无数据等待 MOV DX,3F8H IN AL,DX INC BL ;接收一个数据,计数器加1 LOOP RWAIT EXITP: MOV AL,CL CMP AL,BL JNZ ERR_DEL MOV ERROR,0FFH JMP RET1 ERR_DEL:MOV ERROR,。 RET1:NOP .EXIT 6.9 MOV AL,10011010B OUT 63,AL MOV AL,11000100B OUT 63,AL MOV AL,10100100B OUT 63,AL 6.10 MOV AL,10011

20、000B MOV DX,0FEFFH ;控制口 OUT DX,AL MOV DX,0FEFEH ;C 口 WAITL: IN AL,DX ;Ready MOV DX,0FEFCH ;A 口 IN AL,DX TEST AL,00100000B ;PC5 JZ WAITL ;未准备好等待 MOV DX,0FEFCH ;A 口 IN AL,DX ;读输入设备数据 MOV ES:DI,AL ;与入指定内存单兀 (3) MOV DX,0FEFEH ;C 口 WAITP : IN AL,DX TEST AL,01000000B ;PC6 (BUSY ) JNZ WAITP MOV AL,DSSI MOV

21、 DX,0FEFDH ;B 口 OUT DX,AL ;数据输出 (4) START: MOV DX,0FEFEH IN AL,DX TEST AL,80H;判断 PC7 JNZ BEEP MOV DX , 0FEFFH MOV AL , 0 ; PC0=0置复位命令字 OUT DX , AL;取消报警 JMP START MOV DX , 0FEFFH MOV AL , 1 ; PC0=1 OUT DX , AL; 报警 MOV SI , OFFSET STRINGS MOV CX , 18;18 个字符 WAITB :MOV DX , 0FEFFH IN AL , DX TEST AL ,

22、01000000B ; BUSY=1 ? JNZ WAITB MOV AL , SI 腹有诗书气自华 STRINGS MOV DX , OFEFDH ; B 口 OUT DX , AL INC SI LOOP WAITB DB Grasp the burglar! 6.11MOV AL,1000100B OUT 0F3H,AL;方式选择控制字 MOV SI,OFFSET PDA TA MOV CX,PNUM MOV AL,00000010B OUT DX,AL REPEAT:MOV AL,SI MOV BL,AL AND AL,0F0H PUSH CX MOV CL,4 SHR AL,CL A

23、DD AL,30H POP CX CALL SUBP MOV AL,BL AND AL,0FH ADD AL,30H CALL SUBP INC SI LOOP REPEAT .EXIT ;打印一个字符的子程序 SUBPPROC NEAR MOV DX,0F1H OUT DX, AL INC DX WAITP:IN AL,DX ;PC仁0置复位命令字 ;取数据 ;暂存BL ;取高4位 ;转换成ASCII码 ;取回原来的数据 ;取低4位 ;转换成ASCII码 ;指向下一个单元 ;B 口地址 ;待打印字符(ASCII码)送B 口(打印机端口) ;判 BUSY=PC5 TEST AL,0010000

24、0B;BUSY=PC5 JNZ WAITP MOV DX,0F3H MOV AL,00000011B OUT DX,AL NOP DEC AL ;PC1=1 命令(/STB=1) SUBP OUT DX,AL RET ENDP ;PC1=0 命令(/STB=0) 6.12 .MODEL SMALL .CODE .STARTUP MOV AL,00110110B ;CTCO命令字:方波信号发生器方式 MOV DX,9F0FH ;8254控制口地址 OUT DX,AL MOV DX,9F0CH ;CTC0通道地址 MOV AX,2000 ;计数常数=2MHz*1000us=2000 OUT DX,

25、AL ;实际收入低8位初值 MOV AL,AH ;取咼8位 OUT DX,AL ;写高8位初值 MOV AL01010100B ;CTC1命令字:速率发生器方式 MOV DX,9F0FH ;8254控制口地址 OUT DX,AL MOV DX,9F0DH ;CTC1通道地址 MOV AL,2 ;计数常数=2(最快) OUT DX,AL ;写初值 MOV AL10110010B ;CTC2命令字:负脉冲信号发生器方式 MOV DX,9F0FH ;8254控制口地址 OUT DX,AL MOV DX,9F0EH ;CTC2通道地址 MOV AL,0 ;计数常数-0000(最大值) OUT DX,A

26、L ;写初值 OUT DX,AL .EXIT END 6.14 (1)由地址:280H283H知:(地址不重叠,即全译码,1/0端口 16条地址线全部要参与译码 ) A15A14A13A12A11A10A9A8A7A6A5A4A3A2=0000 0010 1000 OOxx B 电路如下: OUTO产生2ms定时中断信号(方波) MOV AL,00110110B MOV DX,0283H OUT DX,AL MOV AX,20000 MOV DX,280H OUT DX,AL MOV AL,AH OUT DX,AL ;ctcO控制字 初值=5MHz*(2ms*2)=5000*4=20000 注

27、意:2ms仅为负脉冲宽度,因此一个周期=4ms ;CTC0通道 ;写低字节初值 ;写高字节初值 (3)将 OUTO 连接到 CLK1,CTC1 初值=1S/4ms=1000/4=250 MOV AL,01010110B MOV DX,0283H OUT DX,AL MOV AX,250 MOV DX,281H OUT DX,AL ;ctc1控制字 初值=1S/4ms=250 ;CTC1通道 写初值 第7章 7.9 (1);主片初始化 MOV AL,00010001B ; ICW1 OUT20H, AL MOV AL, 0FH ;中断类型号(ICW2) OUT 21H, AL MOV AL, 0

28、0000100B ;ICW3 OUT20H, AL MOV AL, 00010101B ;ICW4 OUT 21H, AL ;从片初始化 MOV AL, 00010001B ;ICW1 OUT0A0H ,AL MOV AL, 71H ;中断类型号(ICW2) OUT0A1H ,al MOV AL, 00000010B ;ICW3 OUT0A0H , AL MOV AL , 00000001B ; ICW4 OUT0A1H , AL (2) MOV AL , OUT 21H , MOV AL , OUT0A1H 00101000B AL 00100000B ,AL (3) MOV SI , 10

29、00 MOV DI , 2000 MOV AL , 0AH OUT20H , AL IN AL , 20H MOV BL,AL MOV DS:SI,AL INC SI MOV AL,0BH OUT 20H,AL IN AL , 20H MOV DS:SI,AL INC SI IN AL,21H MOV DS:SI,AL MOV AL , 0AH OUT0A0H , AL IN AL , 0A0H MOV BL,AL MOV ES:DI,AL INC DI MOV AL,0BH OUT 0A0H,AL IN AL , 0A0H MOV ES:DI,AL INC DI IN AL,0A1H MOV

30、 ES:DI,AL MOV AL,BL MOV CX,8 主片OCW1 从片OCW1 ;读主片IRR命令 ;读IRR进AL中 ;主片IRR暂存BL ;主片IRR存入内存 ;读主片ISR命令 ;读主片ISR进AL中 ;主片ISR存入内存 ;读主片IMR ;主片IMR存入内存 ;读从片IRR命令 ;读从IRR进AL中 ;从片IRR暂存BH ;从片IRR存入内存 ;读从片ISR命令 ;读从片ISR进AL中 ;从片ISR存入内存 ;读从片IMR ;从片IMR存入内存 ;取主片IRR LP10: MOV DL,0 SHR AL,1 ADDC DL,0 LOOP LP10 ;计1的个数 LP11: LP2

31、0: CMP DL,2 JAE LP11 JMP LRET MOV AL,BH MOV CX,8 MOV DL,0 SHR AL,1 ADDC DL,0 LOOP LP20 CMP DL,1 JZ EIOP ;=2? ;取从片IRR ;计1的个数 ;=2? JMP LRET EIOP: MOV AL,20H OUT 20H,AL OUT 0A0H,AL MOV AL,BL NOT AL ;EOI命令 ;OCW3 LRET: OUT 21H,AL MOV AL,BH NOT AL OUT 0A1H,AL NOP ;对主片IRR取反 ;屏蔽主片未申请的中断 ;对从片IRR取反 ;屏蔽从片未申请的中

32、断 .EXIT INSTR: PUSH AX PUSH DX MOV DX,3C0H IN AX,DX MOV WORD PTR DATABUF,AX CMP AX,2005H JA STOP CMP AX,0 JZ WRITEAA STOP: MOV AL,55H MOV DX,3C1H OUT DX,AL JMP RET0 WRITEAA: RET0: MOV BYTE PTR DA TABUF+5,0AAH MOV AL,20H;EOI 命令 OUT 20H,AL OUT 0A0H,AL POP DX POP AX IRET (5) INSTALL:CLI MOV DX,OFFSET I

33、NSTR MOV AX,2577H INT 21H IN AL,0A1H AND AL,01111111B OUT 0A1H,AL STI ;中断类型号77H(对应从片的IR7) 读IMR ;打开从片IR7中断 MOV AL,50H MOV DX,302H; OUT DX,AL MOV AL,98H MOV DX,306H OUT DX,AL 循环优先方式 MOV AL,10000000B MOV DX,300H OUT DX,AL MOV DX,304H OUT DX,AL 特殊循环优先 MOV AL,11000101B MOV DX,300H MOV DX,304H ;从片A0=0的地址

34、MOV DX,OFFSET INSTALL INT 27H 7.10 (1)电路改动系统地址线A1接8259的A0,其它地址不变 (b)U3的1脚原来接 A1的改接 A0 GAL编程:U4不变 GAL16V8 ;U3 Address Coding for Interrupt VER 2005 By MaWH A0A2A3A4 A5 A6 A7 A8 A9 GND A10I1I2I3 I4 NC NC CS2 CS1 VCC /CS 仁/AO */A2*/A3*/A4*A5*/A6*/A7*/A8*/A9*/A10*l1 /CS2=/A0 */A2*/A3*/A4*A5*/A6*A7*/A8*/

35、A9*/A10*l1 DESCRIPTION ;主片A0=1的地址 ;从片A0=1的地址 I 注片A0=0的地址 ;从片A0=0的地址 I ;IR5最先优先 注片A0=0的地址 OUT DX,AL OUT DX,AL 7.11 CR0=60000001H 知 PG=0,PE=1 保护方式 中断描述符首地址 =IDT表首地址+中断类型号*8=65000000H+11H*8=65000088H 所以中断描述符 =0042EE0081132012H 其中描述的偏移地址 =00422012H,段选择子=8113H 因此段描述符首地址 =GDT首地址+索引*8=00100000H+8110H=00108

36、110H 段描述符=0144F2007000仆FFH,其描述符的段基地址 =01007000H,因此 中断服务程序入口地址 =段基地址+偏移地址=01007000H+00422012H=01429012H 第10章 10.4. 1V 对应的数字量:由 1 = 5/256*D 得,Div = 256/5=51.2=5仁33H 同理 4V 对应的数字量 D4V=256/5*4=204.8=205=CDH DLVEQU 51 DHVEQU 205 MOV DX,3A9H MOV AL,DLV REPLP1: OUT DX,AL CMP AL,DHV JB INCDV REPLP2 DEC AL OU

37、T DX,AL CMP AL,DLV JA REPLP2 INCDV:INC AL JMP REPLP1 10.5 入口: 8255 口地址 320H323H 出口: 转换后的 12位数字量在BX中 ADCS PROC NEAR MOV DX, 323H ;8255控制寄存器端口 MOV AL, 10010011B ;8255A,B方式0输入.PC上半口输出,下半口输入 MOV DX, AL ;8255控制字写入控制寄存器 MOV AL, 00001010B OUT DX, AL ;PC5=0,使为低电平 MOV AL, 00001100B OUT DX, AL ;PC6=0,使为低电平 MOV AL, 00001111B OUT DX, AL ;PC7=1,使CE为高电平,启

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论