当前位置:首页 > 《汇编语言、微机原理及接口技术(第3版)》郑初华 - 课后题解答 - 图文
(3)其他情况黄灯亮。 答:程序如下:
AGAIN:MOV DX,340H
IN AL,DX ;开关采样 AND AL,07H ;屏蔽无效位 CMP AL,0
JE RED ;全合上,转红灯亮 CMP AL,07H
JE GREEN ;全合上,转绿灯亮 MOV AL,01H ;否则,黄灯亮 JMP NEXT
RED:MOV AL,04H JMP NEXT
GREEN:MOV AL,02H NEXT:MOV DX,348H OUT DX,AL JMP AGAIN
13.图8.5为一个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章中断技术
21
1.什么叫中断?简述一个中断的全过程。
答:中断是指CPU正在执行某个程序,因为某种原因被打断,转去为这种原因服务,服务完后返回继续执行被暂时中断的程序。中断过程主要有中断请求、中断判优及响应、中断服务和中断返回。
2.确定中断的优先级(权)有哪两种方法?各有什么优缺点?IBM PC系列微机中断判优用的是什么方法?
答:确定中断优先级方法主要有查询法、请求链队法、响应链队法、编码比较法等。 查询法主要由查询的先后次序决定其优先级。请求链队法主要由其排队的先后次序决定其优先级,只有级别高无请求时,级别低才可以提出请求。响应链队法主要由其排队的先后次序决定其优先级,均可提出请求,但只响应排在最前面的请求。编码比较法主要是用于中断嵌套,判断是否有比当前正在服务的中断请求更高级别的中断请求,有则响应,无则屏蔽。 IBM PC系列微机中断判优用的是中断控制器8259A,其内部集成了可编程改变的请求优先级电路及编码比较电路,既可以处理中断的优先级、也可以处理中断嵌套的优先级。 3.8086/8088的中断分哪两大类?什么是中断向量?什么是中断向量表?8086/8088总共有多少级中断?它们的中断类型号是多少?中断向量表设在存储区的什么位置? 答:中断分类如图9.1所示。
中断向量是指中断服务程序的入口地址。所有指中断服务程序的入口地址依次存放的区域称为中断向量表。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段偏移中断号
22
乘以4处连续取两个字,低字是中断服务程序的偏移地址,高字是中断服务程序的段地址。 软件中断和硬件中断的处理主要是获取中断号的方法不同,软件中断的中断号是编程人员指定或CPU内定的,不可屏蔽硬件中断的中断号为2,可屏蔽硬件中断的中断号是由中断控制器8259A在中断响应期间送给CPU的,即必须有中断响应过程。
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。
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 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
23
第10章 可编程接口芯片及其应用
1.8255A的三个端口的基本特点是什么?
答:PA口工作于三种工作方式(方式0、方式1、方式2),PB口可工作于两种工作方式(方式0、方式1),PC口只可工作于一种工作方式(方式0)或部分引脚作为PA口或PB口工作非方式0时的联系信号线。
6.请记忆8255A的工作方式控制字及置位/复位控制字。
答:参见教材《汇编语言微机原理及接口技术(第2版)》10.1节“可编程接口芯片及其应用”中的图l0.15。 7.请用8255A及相关器件设计一个具有8个按键,依次按下各键对应指示灯亮,未按下键以跑马灯的方式显示,每个显示500 ms后下一个显示,设延时500 ms的子程序为DELAY500,并编程实现。
答:设计如图l0.1所示。
14.假定某PC系统扩展一块8253,该芯片配置的地址为308H~30BH,要求从OUT0频率为l000Hz的方波,从OUTl频率为100Hz的单时钟脉冲波,从OUT2频率为1Hz的方波。CLK0的时钟是4.77MHz,请画出8253通道GATE0~GATE2及从CLKl~CLK2的接线图。计算出各通道的计数初值及选定各通道的工作方式。然后编制各通道的初始化程序段。 答:8253通道GATE0~GATE2及从CLKl~CLK2的接线图如图l0.3所示。
题意fout0=1000Hz,fclk0=4.77Hz,所以N0=fclk0/fout0=4.77MHz/1000Hz=4770,工作于方式3。
fclk1=fout0=1000Hz,fout1=l00Hz,所以N1=fclk1/fout1=1000Hz/l00Hz=10,工作于方式2.
fclk2=fout0=1000Hz,fout2=1Hz,所以N2=fclk2/fout2=1000Hz/1Hz=1000,工作于方式3。 各通道的初始化程序段如下: ;0通道初始化程序。 MOV AL,0011011lB MOV DX,30BH OUT DX,AL MOV DX,308H MOV AL,70H OUT DX,AL MOV AL,47H OUT DX,AL
;1通道初始化程序
24
MOV AL,01010101B MOV DX,30BH OUT DX,AL MOV DX,309H MOV AL,10H OUT DX,AL ;2通道初始化程序
MOV AL,1011011lB MOV DX,30BH OUT DX,AL
MOV DX,30AH MOV AL,0 OUT DX,AL MOV AL,10H OUT DX,AL
25
共分享92篇相关文档