A9A8IORIOWA7A6A5A4
图7.1
11. 在IBM PC系统中,如果AEN信号未参加I/O端口地址译码,会出现什么问题?在没有DMA
机构的其它微机系统中,是否存在同样的问题?
答:在IBM PC系统中,如果AEN信号未参加I/O端口地址译码,则会出现DMA机构与I/O端口竞争总线的问题。在没有DMA机构的其他微机系统中,不会存在同样的问题。
12. 在8088 CPU 工作在最大方式组成的微机系统中,利用74LS244设计一个输入端口,分配给该端
口的地址为04E5H,试画出连接图。
解:连接图如图7.2所示。
片选信号
图7.2
13. 在上题的基础上,利用74LS374设计一个输出端口,分配给该端口的地址为E504H,试画出连
接图。若上题中输入端口的bit3、 bit4和bit7 同时为1,将内存BUFFER开始的连续10个字节单元的数据由E504H端口输出;若不满足条件,则等待。试编写程序。 解:连接图如图7.3所示。
图7.3
程序如下: MOV CX ,10
LEA SI,BUFFER MOV DX,04E5H WAIT1:IN AL,DX AND AL,98H CMP AL,98H JNZ WAIT1 MOV DX,0E504H L1:MOV AL,[SI] OUT DX,AL INC SI LOOP L1
HLT
14.在8086最大系统中,分别利用2片74LS244和74LS273设计16位输入和输出接口,其起始端口地址为504H、506H,画出硬件连接图
解:硬件连接图如图7.4所示。
图7.4 硬件连接图
9章习题
1.
下列地址哪些能够分配给8253/8254的计数器0?为什么?(23H、54H、97H、51H、FCH、59H) 解:因为已经约定采用A2,A1作为8253的内部地址线,而且计数器0的地址为00,所以在题中所给的地址中只有51H,59H的A2和A1同时为0,即:A2A1=00. 2.
如果计数器0设定为方式0,GATE0=1,CLK0=1MHz,时常数为N=1000,请画出OUT0的波形。如果计数器1设定为方式1,其它参数与计数器0相同,画出OUT1的波形。
3.
编程实现:将8253计数器0设置成方式4,并置时常数10000,然后处于等待状态,直到CE的内容≤1000后再向下执行。 解:
MOV DX,COUNTD ;写入计数器0的方式控制字 MOV AL,00111000B OUT DX,AL
MOV DX,COUNTA ;设置计数器0的常数 MOV AX,10000 OUT DX,AL XCHG AL,AH OUT DX,AL
L1: MOV DX,COUNTD ;写入计数器0的方式控制字 MOV AL,0H OUT DX,AL
MOV DX,COUNTA ;读入CE IN AL,DX MOV AH,AL IN AL,DX XCHG AL,AH
CMP AX,1000 ;判别CE当前大小 JA L1
4.
利用8253可以实现确定时间的延迟,编程实现延时10秒的程序段(设可以使用的基准时钟为1MHz)。 解:本题使用计数器0和计数器1,并且计数器0的输出OUT0作为计数器1的时钟输入CLK1. 程序如下: MOV MOV MOV MOV
DX,COUNTD AL,00110100B DX,COUNTA
AX,10000 ;写计数器0时常数,分频得到100Hz时钟频率
;写计数器0方式控制字
OUT DX,AL
OUT DX,AL