假设基于我们的实验台采用 8253 、 8259 和 8255 三类接口芯片各 1 片实现以下功能:用 8253 的通道 0 以二进制方式计数,每隔 10ms 向 8259 的 IR2 提交一中断请求信号, CPU 在其对应的中断服务子读取 8255 芯片 A 口(接 8 个二进制开关)的内容,将高 4 位取反,低 4 位不变,送至 8255 的 B 口驱动 LED ; 8253 通道 0 的信号 gate 由 8255 C 口的 PC3 控制,在将其恒置 1 。假设系统提供一个频率为 10KHz 的时钟信号; 8259 的端口地址为 20H~21H , 8253 端口地址为 40H~43H , 8255 的端口地址为 60H~63H 。 ( 1 )画出几个芯片之间关键控制信号的连接关系,并标明传输方向。 ( 2 ) 8253 的通道 0 应工作在方式 。 ( 3 )将以下补全。说明:控制字中无关位设成 0 ,控制字可用十六进制或二进制表示,分别以 H 和 B 为后缀,其他全部用十六进制表示,后缀 H 可省略。 ; 8259 初始化 单片、要 ICW4 、边沿触发、一般全嵌套、非缓冲、正常 EOI 、中断类型号为 28H~2FH MOV AL , OUT , AL MOV AL , OUT , AL MOV AL , OUT , AL ; 填写中断向量表 MOV AX, 0000H MOV DS, AX MOV AX, 2080H MOV [ ], AX MOV AX, 0000H MOV [ ], AX ...... ; 8253 初始化,设置工作方式、计数初值 MOV AL , OUT , AL MOV AL , OUT , AL ; 8255 初始化 , 设置工作方式、 gate 值 MOV AL, OUT , AL MOV AL, OUT , AL ; 中断服务子程序 , 起始地址 0000:2080 PUSH AX IN AL, XOR AL, ; 将 AL 的高 4 位取反 , 低 4 位不变 OUT , AL MOV AL , 20H OUT 20H, AL ; 写 OCW2 ,宣告本次中断服务结束 POP AX IRET