微机原理课后习题标准答案 下载本文

门输出有效,则输入必须全有效。

译码器74LSl38要工作,两低一高控制端必须同时有效,所以Al5~A7的数值为010001100。A6、A5、A4作为译码输入,A3~A0未参加译码,所以74LSl38的译码地址为010001100000XXXX~010001100111XXXX,即Y0至Y7分别对应端口地址4600H~460FH、4610H~461FH、4620H~'462FH、4630H~463FH、4640H~464FHl 4650H~465FH、4660H~466FH、4670H~467FH。 7、设计一个外设端口地址译码器,使CPU能寻址四个地址范围:(1)240~247H,(2)248~24FH,(3)250~257H,(4)258~25FH。

答:如果是重叠地址则译码电路如图8.2所示,如果是可变译码则译码电路如图8.3所示。

8、试用74LS244作为输入接口,读取三个开关的状态,用74LS273作为输出接口,点亮红、绿、黄三个发光二极管,示意图如图8.23所示。请画出PC/XT机系统总线的完整接口电路(包括端口地址译码的设计),端KI地址如图中所示(340H和348H),并编写能同时实现以下三种功能的程序: (1)K0、Kl、K2全部合上时,红灯亮; (2)K0、Kl、K2全部断开时,绿灯亮; (3)其他情况黄灯亮。 答:程序如下:

AGAIN:MOV DX,340H

IN AL,DX ;开关采样

AND AL,07H ;屏蔽无效位 CMP AL,0

JE RED ;全合上,转红灯亮 CMP AL,07H

JE GREEN ;全合上,转绿灯亮 MOV AL,01H ;否则,黄灯亮

25 / 29

JMP NEXT

RED:MOV AL,04H JMP NEXT

GREEN:MOV AL,02H NEXT:MOV DX,348H OUT DX,AL

JMP AGAIN

9、图8.24为一个LED接口电路,写出使8个LED管自上至下依次发亮2S的程序,并说明该接口属于何种输入输出控制方式?为什么?

答:该接口驱动的是发光二极管,属始终准备好的简单外设,所以可用无条件I/O。程序如下:

MOV AL,07FH ;共阳接法,送0亮 MOV CX,8

AGAIN:OUT 20H,AL ROR AL,l

CALL DELAY2S ;调用延迟2S子程序 LOOP AGAIN

第9章中断技术

1、什么叫中断?简述一个中断的全过程。

答:中断是指CPU正在执行某个程序,因为某种原因被打断,转去为这种原因服务,服务完后返回继续执行被暂时中断的程序。中断过程主要有中断请求、中断判优及响应、中断服务和中断返回。

2、确定中断的优先级(权)有哪两种方法?各有什么优缺点?IBM PC系列微机中断判优用的是什么方法?

答:确定中断优先级方法主要有查询法、请求链队法、响应链队法、编码比较法等。

查询法主要由查询的先后次序决定其优先级。请求链队法主要由其排队的先后次序决定其优先级,只有级别高无请求时,级别低才可以提出请求。响应链队法主要由其排队的先后次序决定其优先级,均可提出请求,但只响应排在最前面的请求。编码比较法主要是用于中断嵌套,判断是否有比当前正在服务的中断请求更高级别的中断请求,有则响应,无则屏蔽。

IBM PC系列微机中断判优用的是中断控制器8259A,其内部集成了可编程改变的请求优先级电路及编码比较电路,既可以处理中断的优先级、也可以处理中断嵌套的优先级。

3.8086/8088的中断分类?什么是中断向量?什么是中断向量表?8086/8088总共有多少级中断?它们的中断类型号是多少?中断向量表设在存储区的什么位置?

答:中断分类如图所示。

26 / 29

中断向量是指中断服务程序的入口地址。所有指中断服务程序的入口地址依次存放的区域称为中断向量表。8086/8088总共有256级中断,中断类型号从0至255。中断向量表设在存储区最起始的1 KB位置,每个中断向量占用4字节。 4、什么是不克屏蔽中断?什么是可屏蔽中断?它们得到CPU响应的条件是什么? 答:屏蔽和非屏蔽是指CPU接收到中断请求后,能否不响应中断请求,可以不响应的请求称为可屏蔽中断,必须响应的称为不可屏蔽中断。

非屏蔽中断响应的条件是:A.无总线请求;B.当前指令执行完毕。 可屏蔽中断响应的条件是:A.无总线请求;B.无不可屏蔽中断请求;C.IF----1;D.当前指令执行完毕。

5、8086/8088 CPU怎样得到中断服务程序地址?

答:8086/8088 CPU依据中断号乘以4找到中断向量表的位置,即从0段偏移中断号乘以4处连续取两个字,低字是中断服务程序的偏移地址,高字是中断服务程序的段地址。 6、8259A的中断屏蔽寄存器IMR和8086/8088的中断允许标志IF有什么差别?在中断响应过程中,它们怎样配合起来工作?

答:8259A的中断屏蔽寄存器IMR设置的是中断请求线路上的屏蔽,即请求能否送出。8086/8088的中断允许标志IF是站在CPU的角度,即CPU接收到请求可否不去响应。

若IF=0,则CPU不会有中断响应过程,即不再理会8259A送给CPU的中断请求;若IF=1,CPU在合适的时候对8259A的中断请求给出响应,再由8259A内部去决定响应的哪个请求(8259A的排队电路及编码比较电路及屏蔽工作,IMR位为l的中断请求不参加排队),而后由8259A送可响应的最高级别请求的中断号给CPU。

7、简述8259A的主要功能。对8259A的编程有哪两类?它们分别在什么时候进行?

功能见书145页, ICW初始化编程,OCW操作控制,编程流程参考149~152页

8、8259A仅有两个端口地址,如何识别4条ICW命令和3条OCW命令?

27 / 29

教材P148表9.1和图9.15

9、有关优先级,8259A有哪几种操作方式?其含义是什么? 教材P153

10、8259A的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?特殊屏蔽方式一般用在什么场合? 教材P154 11、8259A有几种结束中断处理的方式?各自应用在什么场合?在非自动结束中断方式中,如果没有在中断处理程序结束前发中断结束命令,会出现什么问题? 参考152页,中断结束方式

12、怎么用8259A的屏蔽命令字来禁止IR3和IR5引脚上的请求?又怎样撤销这一禁止命令?设8259A的端口地址为93H,94H,写出有关命令。 答:禁止IR3和IR5中断:

IN AL,93H OR AL,28H OUT 93H,AL

撤销禁止IR3和IR5中断:

IN AL,93H AND AL,D7H OUT 93H,AL

13、若8086系统采用单片8259A,其中断类型码为46H,则其中断向量表的中断向量地址指针是多少?这个中断源应连向瓜的哪一个输入端?若中断服务程序入口地址为0ABC00H,则其向量区对应的4个单元的数码依次为多少?

答:其中断向量表的中断向量地址指针是0:46H'4,即0:ll8H。这个中断源应连向IR的IR6输入端。若中断服务程序入口地址为0ABC00H,则其向量区对应的4个单元的数码依次为00、0C、00、AB,这只是其中一种方案,其实答案很多。

14、若8086系统采用级联方式,主8259A的中断类型码从30H开始,端口地址为20H,2lH,从8259A的INT接主片的IR7,从片的中断类型码从40H开始,端口地址为22H,23H。均不要ICW4。试对其进行初始化编程。 答:根据上述使用要求和硬件连接情况,对8259A的主片和从片分别编程如下。 (1)主8259A初始化

INTA00 EQU 20H ;8259A主片端口0 INTA01 EQU 21H ;8259A主片端口l

MOV AL,0001000B;ICWl:边沿触发、级联、不要ICW4 OUT INTA00,AL

JMP SHORT$+2 ;I/O端口延时要求(下同)

MOV AL,0011000B;ICW:设置中断类型号的高5位为00110B OUT INTA01,AL JMP SHORT$+2

MOV AL,10000000B;ICW,主片的IR2接从片的INT OUT INT01,AL (2)从8259A初始化

INTB00 EQU 22H ;从8259A端口0 INTB01 EQU 23H ;从8259A端口l

28 / 29

MOV AL,00010000B:ICWl OUT INTB00,AL JMP SHORT$+2

MOV AL,01000000B:ICW2:中断类型号的高5位为01000B OUT INTB01,AL JMP SHORT$+2

MOV AL,00000111B;ICW3:从片的INT接主片的IR2

OUT INTB01,AL

15、自己定义一个软中断,中断类型码为79H 答案略

第10章可编程接口芯片及其应用

1、8255A的三个端口的基本特点是什么?

答:PA口工作于三种工作方式(方式0、方式1、方式2),PB口可工作于两种工作方式(方式0、方式1),PC口只可工作于一种工作方式(方式0)或部分引脚作为PA口或PB口工作非方式0时的联系信号线。 2、请画出8255A的内部结构及引脚图。 教材P165图10.1和10.2

3、请简述8255A的三种工作方式的主要特点。 教材P166

4、请画出8255A PB口工作于方式1输入时的引脚连接图。 参考教材P168图10.7

5、请画出8255A PA口工作于方式2时的引脚连接图。 参考教材P170图10.14

6、请写出8255A的工作方式控制字及置位/复位控制字各位的含义。 参考教材P171 7、请用8255A及相关器件设计一个具有8个按键,依次按下各键对应指示灯亮,未按下键以跑马灯的方式显示,每个显示500 ms后下一个显示,设延时500 ms的子程序为DELAY500,并编程实现。 答:设计如图l0.1所示。

29 / 29