当前位置:文档之家› 微机原理与接口技术 第七章 课后答案

微机原理与接口技术 第七章 课后答案

第七章作业参考答案
1. 8086/8088共有多少矢量号?每一个矢量号占用矢量表的几个字节空间?它们的内容含义是什么?中断矢量表定位于内存储器的何处?若中断矢量号N=19H,计算该中断程序的矢量在矢量表中的地址。

答:8086/8088共有256个矢量号。

每一个矢量号占用矢量表的4个字节空间,前2个字节内容表示中断服务子程序入口地址的偏移地址;后2个字节内容表示中断服务子程序入口地址的段地址。

中断矢量表定位于内存储器的00000H~003FFH。

当N=19H时,在矢量表中的地址为:0000:0064H.
2.若中断矢量表地址00060H存放4200H,00062H中存放1080H,则对应的中断类型号是多少?中断服务程序的入口地址(逻辑地址)是多少?
答:对应的中断类型号是18H。

中断服务程序的入口地址(逻辑地址)是1080:4200H.
3.什么是中断?PC机中有哪些类型中断?应用程序在修改中断矢量时,为什么要关中断?答:中断是指当CPU正常运行程序时,由于CPU内部事件或外设请求,引起CPU暂时中断当前正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,执行完中断服务子程序后,再返回原断点处继续执行被暂时中断的程序。

PC机的中断类型:外部中断与内部中断。

在应用程序修改中断矢量时,防止其它中断发生,因此需要关中断。

4.8259A的ICW2设置了中断类型码的哪几位?说明对8259A分别设置ICW2为30H、34H、38H有什么区别?
答:8259A的ICW2设置了中断类型码的高5位,低3位自动插入。

当8259A对ICW2设置为30H时,说明中断类型码为30H~37H;
当8259A对ICW2设置为34H时,中断类型码仍为30H~37H;
当8259A对ICW2设置为38H时,说明中断类型码为38H~3FH;
5.在由8086构成的最小方式系统中,有一片8259A构成中断控制系统。

设在片内A0=0时的端口地址用P8259A表示,在片内A0=1时的端口地址用P8259B表示。

若执行程序段:MOV DX, P8259A ;初始化
MOV AL, 00011011B
OUT DX, AL
MOV DX, P8259B
MOV AL, 10001000B
OUT DX, AL
MOV AL, 00001101B
OUT DX, AL
MOV AL, 11000010B ;OCW1
OUT DX, AL
试问:中断结束的方式是什么?中断级IR6的中断类型号是什么?IR1和IR2上有效的中断请求信号在IF=1时能否引起CPU的中断?
答:中断结束的方式是一般EOI方式;
中断级IR6的中断类型号是8EH;IR1不能引起中断而IR2可以引起中断。

6.8259A的初始化命令字和操作命令字有什么区别?它们分别对应于编程结构中哪些内部寄存器?
答:8259A的初始化命令字只在对芯片进行初始化时使用;而操作命令字在芯片工作过程中使用。

初始化命令字有:ICW1、ICW2、ICW3和ICW4;
操作命令字有:OCW1、OCW2和OCW3。

7.一片8259A可以管理几级中断源?若系统有22级中断源,该采用什么措施?请具体画出8259A的接线原理图。

答:一片8259A 可以管理8级中断源;
若系统有22级中断源,应采用芯片级联的措施;
8.怎样用8259A 的屏蔽字来禁止IR 3和IR 5引脚上的请求?又如何撤消该禁止命令?假设8259A 的端口地址为93H 、94H 。

解:利用OCW1禁止与允许中断
MOV DX ,0093H
IN AL ,DX
OR AL ,28H
OUT DX ,AL ;禁止IR 3和IR 5
MOV DX ,0093H
IN AL ,DX
AND AL ,0D7H
OUT DX ,AL ;允许IR 3和IR 5
9.8253芯片的时钟信号CLK 和门控信号GATE 分别起什么作用?
解:8253芯片的时钟信号CLK ,在计数方式中是外部脉冲的输入;在定时方式中,是基准信号的输入。

8253芯片的门控信号GA TE ,是控制定时/计数器正常工作的信号。

10.织布机控制系统如图7.21所示,设8253的端口地址为80H ~83H 。

(1)假设织布机每织0.5米发出一个正脉冲,要求每织120米触发剪裁设备把布剪断,试编写初始化程序。

(2)假设系统提供的信号频率为1MHz ,要求利用8253的其余通道产生0.1秒的周期信号,试编写相应的初始化程序。

答:(1)MOV AL,10H MOV DX , 0083H OUT DX, AL
MOV DX, 0080H
MOV AL, 240
OUT DX, AL
图7.21 主 8259 从 8259 从 8259 IR0 IR7 IR0 IR1 IR2 IR7 … … … IR0 IR7
INT INT
或MOV AL, 30H
MOV DX,0083H
OUT DX,AL
MOV DX,0080H
MOV AX,240
OUT DX,AL
MOV AL,AH
OUT DX,AL
(2)参考设计方案:
1MHZ的信号频率作为CLK1的输入,时间初值定为1000,OUT1的输出作为CLK2的输入,时间初值定为100,则OUT2输出的周期为0.1s.
MOV DX, 0083H
MOV AL, 74H
OUT DX, AL
MOV DX, 0081H
MOV AX, 1000
OUT DX, AL
MOV AL, AH
OUT DX, AL ;初始化定时器1
MOV DX, 0083H
MOV AL, 0B4H
OUT DX, AL
MOV DX, 0082H
MOV AX, 100
OUT DX, AL
MOV AL, AH
OUT DX, AL ;初始化定时器2
答题时可以有不同的形式,只要满足初始化要求即可。

11.在8086系统中有一片8253,其端口地址为80H、82H、84H、86H,可以使用的时钟信号为500KHz。

(1)要求利用计数器0在GATE0触发信号作用下,由OUT0输出如图7.22所示信号,试编程实现。

(2)利用计数器2在OUT2上产生周期为1298µs的方波信号,请编写初始化程序。

(3)将计数器2的当前计数值读入AX寄存器,试编写程序段。

500KHz GA TE0 OUT0
0.6ms
解:(1)计数初值:0.6×500=300
程序段:MOV DX,0086H
MOV AL,30H
OUT DX,AL ;设置方式控制字
MOV AX,300
MOV DX,80H
OUT DX,AL
MOV AL,AH
OUT DX,AL ;写入计数初值
(2)计数初值:1.298×500=649
程序段:MOV DX,0086H
MOV AL,0B6H
OUT DX,AL ;设置方式控制字
MOV AX,649
MOV DX,84H
OUT DX,AL
MOV AL,AH
OUT DX,AL ;写入计数初值
(3)程序段:MOV DX,0086H
MOV AL,0B0H
OUT DX,AL ;设置方式控制字
MOV AL,80H
OUT DX,AL ;计数值锁存
MOV DX,0084H
IN AL,DX ;读出计数值
MOV BL,AL
IN AL,DX
MOV AH,AL
MOV AL,BL
12.下面是一个8253的初始化程序段。

8253的控制口地址为46H,3个计数器端口地址分别为40H、42H、44H。

在8253初始化之前,先将8259A的所有中断进行屏蔽,8259A的奇地址端口为81H。

请对下面程序段加详细注释,并用十进制数表示出各计数器的初值。

相关主题