好文档 - 专业文书写作范文服务资料分享网站

李伯成《微型计算机原理及应用》课后习题答案

天下 分享 时间: 加入收藏 我要投稿 点赞

62256 有8根数据线,15根地址线,故其容量为 215*8bit,即32 Kbyte, 所以仅需要1片;尽管题目要求只需要16K的空间,但在使用62256时不得不使用1片。

2164 有8根数据线,12根地址线,故其容量为 212*8bit,即4Kbyte, 所以需要4片;

21256 有1根数据线,10根地址线(实际为20根,分两组),但由于仅有一根数据线,要构成八位的存储器至少需要8片,但总容量为8*256Bit,远远超过题目的要求。

4.2 利用全地址译码将6264接在8088的系统总线上,其所占的地址范围为BE000H~BFFFFH,试画出连接图。

解答:6264有13根地址线,连接时接到系统总线的低13位,即A0~A12, 其他7根地址线A19~A13的 地址译码输入应该为:1011 111 B,故而有如下的连接: 4.3 试利用6264 芯片,在8088系统总线上实现0000H~03FFFH的内存区域,试画出

电路连接图。

解答:0000H~03FFFH的地址范围为214=16K, ,而6264芯片的容量为8*8K, 所以需要连接2片,其中,第一片的地址为00000H~01FFFH,第二片的地址为02000H~03FFFH,这里用74LS138的Y0、Y1 作为两个芯片的片选。 4.4 叙述EPROM的编程过程,说明EEPROM的编程过程。 EPROM编程通常采用两种模式:标准编程和快速编程:

标准编程是在VCC、VPP、CE、OE、地址信号、数据信号有效并稳定后加入50毫秒的PGM编程负脉冲,可以在写入一个数据后使OE变高而立即校验,也可以在所有数据写入后逐一校验。

标准编程有两大缺陷:一是时间过长,比如2764全片编程约需7分钟,时间过长;再是编程脉冲宽度稍大容易造成芯片因功耗过大而烧毁。

快速编程将PGM的宽度减小到100微妙左右,显然速度加快了500倍左右。 能否使用快速编程取决于芯片的型号。

EEPROM 由于可以在线擦除信息,所以可以单字节编程或自动按页编程。

在单字节写入时,CE为低,OE为高,在WE加入100纳秒的负脉冲,写入时间包括擦除原有内容和写入新内容的时间,一般为10毫秒以内,可以通过查询READY/BUSY的状态判定。

自动按页编程用高位线决定页地址,低位线决定页容量,然后一次写入一页内容,写完后查询READY/BUSY状态,此一过程耗时在300微秒左右,所以速度较快。

已有两片6116,现欲将其接到8088系统中去,其地址范围为40000H~40FFFH,试画出电路连接图;写入某数据并读出与之比较,若有错,则在DL中写入01H,若全对,在DL中写入EEH,试编写此检测程序。 解答:电路连接如图示:

检测程序定义为一个过程,编程如下: CHKRAM PROC FAR

PUSH SI; PUSH DL; PUSH CX; PUSH AX;

MOV CX,10000H; 待检验的单元个数 MOV SI,4000H; 存储体段地址 MOV DS,SI; MOV SI,0000H; 存储体首地址 CHK: MOV AL,0FFH; MOV [SI],AL; 写入检验数据FFH MOV AL,[SI]; 读出 ADD AL,01H JNZ RAMERR MOV AL,0; MOV [SI],AL; 写入另一格检验数据 MOV AL,[SI]; 读出 AND AL,AL JNZ RAMERR MOV DL,0EEH; 所有单元全对

JMP RAMCHKOUT RAMERR: MOV DL, 01H; 发现错误单元 RAMCHKOUT: POP AX; POP CX; POP DL; POP SI; RET ENDP CHKRAM

利用全地址译码将EPROM27128接到首地址为A0000H的内存区,试画出电路图。

解答:EPROM27128 的容量为8* 16K,所以有14根地址线, 那么如果将其接到首地址为A0000H 内存区,高6位地址线的排列应该为:1010 00B,所以有如下的连接: 4.7 内存地址从40000H到BBFFFH共有多少K?

解答:从40000H到BBFFFH的地址空间应该为 BBFFFH-40000H= 7BFFFH 每K为210,即3FFH,7BFFFH/3FFH=1F0H=496D 所以,该地址空间的范围应该为496KByte。

4.8 试判断8088系统中存储器译码器74LS138的输出Y0、Y4、Y6和Y7所决定的内存

地址范围,电路连接见附图。 解答: 根据示意图,A19、A18、A17、A16 的电平值为 1X00B,由于采用的是部分译码(A18未使用),所以每个地址

译码输出对应的两个地址范围。

Y0对应 A15、A14、A13 均为0,所以其地址范围应该为: 当A18=0时,地址范围为:

1000 0000 0000 0000 ~ 1000 0001 1111 1111 1111 B 即80000H~ 81FFFH 当 A18=1时,地址范围为:

1100 0000 0000 0000 ~ 1100 0001 1111 1111 1111B 即C0000H~ C1FFFFH Y4 对应的 A15、A14、A13 为 100,所以其地址范围应该为:

当A18=0 时,地址范围为:

1000 1000 0000 0000 0000B~ 1000 1001 1111 1111 1111B 即88000H~ 89FFFH 当A18=1时,地址范围为:

1100 1000 0000 0000 0000 ~1100 1001 1111 1111 1111B 即C8000H~C9FFFH Y6 对应的A15、A14、A13 为110,所以其地址范围为: 当A18=0时,地址范围为:

1000 1100 0000 0000 0000B~ 1000 1101 1111 1111 1111B 即 8C000H~ 8DFFFH 当A18=1 时,地址范围为:

1100 1100 0000 0000 0000 B~ 1100 1101 1111 1111 1111B 即CC000H~CDFFFH Y7 对应的A15、A14、A14为111,所以其地址范围为:

当 A18=0时,地址范围为:

1000 1110 0000 0000 0000B~ 1000 1111 1111 1111 1111B 即 8E000H~ 8FFFFH

当 A18=1 时,地址范围为:

1100 1110 0000 0000 0000B~ 1100 1111 1111 1111 1111 B 即CE000H~CFFFFH。

李伯成《微机原理》习题 第五章

本章作业参考书目:

1. 王永山等: 微型计算机原理与应用 西安电子科大出版社 1998 3. 洪志全等 编 《现代计算机接口技术》 电子工业出版社 2002年4月 5-1 满足那些条件8086CPU才能响应中断源的中断请求?

参考答案:

8088/8086的中断承认需要满足4个条件:

(1) 一条指令执行之后---因为8088/8086CPU只在指令周期的最后一个时钟周期检测INTR信号;

(2) 中断允许标志IF=1;

(3) 没有发生 NMI、HOLD和RESET;

(4) 指令STI、IREI指令执行之后须再执行一条其他指令,但一些指令组合(如REP)要视为一个指令总体。

5-2 说明8088/8086 软件中断指令INT n的执行过程。

由指令INT n引起的中断也称为“异常”,即软件中断或内部中断。这里,INT 为指令操作码,n 是中断类型号(中断向量码);当该指令执行时,CPU 根据中断向量码的数值在中断向量表(IDT---Interrupt Direction Table)找到相应的中断服务程序入口地址,在对CS 、IP和FLAG进行入栈保护之后,进而转向指定程序的运行。

5-3 用三态门 74LS244 作为输入接口,接口地址规定为04E5H,试画出其与8088的总线连接

图。

解:根据题意,当地址线上的电平为 0000 0100 1110 0101 且IOR信号为低(IOR低电平有效)时,74LS244的门控信号E1、E2应该为低,据此画出下列电路: 5-4 利用具有三态输出的锁存器74LS374 作为输出接口,就接口地址为0E504H,试画出连接图。

若5-3题中的输入接口的BIT3、BIT4、BIT7同时为1时,将DATA为首地址的10个内存数据连续由输出接口输出。若不满足则等待,试编写程序。

解:根据题意,当地址线上的电平为 1110 0101 0000 0100 且IOW信号为低(IOW低电平有效)时,74LS374的时钟端CP 应该为低,而 74LS374的OE始终为低,据此画出下列电路:

根据题5-3和题5-4 电路,如果题5-3电路中的BIT3、BIT4 和BIT7 同时为1,则将以DATA为首地址的10个数据连续由0E504H输出口输出,不满足条件等待,对应的程序段如下: OUTWAIT : MOV DX,04E5H IN AL,DX JZ OUTWAIT; MOV SI,OFFSET DATA MOV CL,0AH; 数据个数

MOV DX,0E504H

OUTPUT: MOV AL,SI INC SI OUT DX,AL LOOP OUTPUT

5-5若要求8259 的地址为E010H和E011H,试画出与8080总线的连接图。若系统中只有一片8259,允许8个中断源边沿触发,不要缓冲,一般全嵌套方式,中断向量定为40H,试编写初始化程序。

解:电路连接见图示,根据8259的ICW格式,有如下数据:

ICW1 0 00 1 0 0 1 1 = 13H 特征位 无意义 特征位 边沿触发 无意义 单片 有ICW4 ICW2 0 1 0 0 0 0 0 = 40H 无ICW3 (单片,无级连控制) ICW4 000 0 00 1 1 = 03H

无意义 一般嵌套 非缓冲模式 自动EOI 8086模式 据上述有下列初始化语句: MOV DX,0E010H;方式控制寄存器端口1地址 MOV AL,13H OUT DX,AL MOV DX,0E011H;方式控制寄存器端口2地址 MOV AL,40H OUT DX,AL MOV AL,03H OUT DX,AL;

5-5 DMAC(8237)占几个接口地址?这些地址在读写时的作用是什么?叙述DMAC由内存向接

口传送一个数据块的过程。若希望利用8237 把内存中的一个数据块传送到内存的另一个区域,应当如何处理?当考虑到8237工作在8088系统,数据是由内存的某一段向另外的一段传送且数据块的长度大于64KB,应当如何考虑?

答: 8237的A0~ A3在其空闲周期作为内部寄存器的选址线,故而8237 共占用

16个端口地址;

当利用8237由内存向接口传送一个数据块时,8237送出内存地址及MEMR控制信号,将选中的存储单元的内容读出并放置到数据总线,同时,DMAC送出IOW 控制信号,将数据写到预选的规定接口中,此后,DMAC自动修改内部寄存器得值,以适应下一个数据的传送;

当利用8237把内存中的一个数据块传送到内存的另一个区域时,选择通道0和通道1 实现传送。这时由通道0送出源区地址和MEMR控制信号,将选中的数据送入8237内部暂存器,同时修改源区地址指针;此后,由通道1 送出目的区地址和MEMW信号,将内部暂存器的数据写到目的区,同时通道1修改地址和字节计数,当通道1的字节计数器为零时或者外部输入了EOP信号,传送结束。

数据是由内存的某一段向另外的一段传送且数据块的长度大于64KB时, 可以利用页面寄存器技术来完成,即改变写入页面寄存器74LS670的内容,以达到传送64KB以上的内容。 5-7说明微机中常用的外设编址方式及其优缺点。 答:在微机系统中主要采用两种外设的编址,即外设与内存统一编址和外设和内存独立编址; 统一编址又称存储器映射编址,即把内存的部分地址分配给外设,这样,外设就占用了部分内存地址,这样做的好处是不需要I/O 指令,但也就不易分辨存储器操作指令还是I/O指令,同时,内存范围相应的减小了。

独立编址时,内存空间和外设地址空间是相对独立的。这样,地址范围相应扩大,但需要IO/M信号和对应的输入、输出指令。

5-8 说明8088中采用中断方式工作时必须由设计人员完成的3项工作。 答:在采用中断方式工作时,程序设计人员通常要做的3项工作如下:

(1)、编写中断服务程序,即ISP;在编写ISP时,要注意现场保护、中断嵌套以及中断标志的处理;

(2)、确定中断向量,此时要注意,如果系统采用了8259,那么在中断向量表内至少要有32个连续的字节;

(3)、填写中断向量表,即把ISP的段地址和偏移地址填入向量表中相应的字节, 这是,可以用机器指令方式,也可以统过DOS 调用来完成,具体方法如下:

机器指令方式: MOV AX,0 MOV DS,AX; 中断向量表段地址设置 MOV SI,(向量码* 4); 向量表中的地址 MOV DX,OFFSET ISP; 中断服务程序偏移地址 MOV [SI],DX MOV DX,SEG ISP; 中断服务程序的段地址 MOV [SI+2],DX

DOS调用方式: MOV AH,25H; DOS调用功能号 MOV AL,向量码; MOV DX,SEG ISP MOV DS,DX

MOV DX, OFFSET ISP INT 21H

李伯成《微型计算机原理及应用》课后习题答案

62256有8根数据线,15根地址线,故其容量为215*8bit,即32Kbyte,所以仅需要1片;尽管题目要求只需要16K的空间,但在使用62256时不得不使用1片。2164有8根数据线,12根地址线,故其容量为212*8bit,即4Kbyte,所以需要4片;21256有1根数据线,10根地址线(实际为20根,分两组),但由于仅有一根数据线
推荐度:
点击下载文档文档为doc格式
5li9q8vhit6ehs64cxfu8wrp7230fg017pd
领取福利

微信扫码领取福利

微信扫码分享