《微机原理与接口技术》第6章 微计算机IO接口基础.ppt
第6章 微计算机IO接口基础 2.间接I/O端口寻址方式 (1) 输入指令格式: IN AL, DX 或 IN AX, DX 指令功能:将DX内容所指示的端口中的一个字节或一个字数据输入到寄存器AL或AX。 例如: MOV DX,300H IN AL , DX 第6章 微计算机IO接口基础 (2) 输入指令格式: OUT DXAL, AL 或 OUT DX, AX 指令功能:将寄存器AL(或AX)的内容经数据总线送入DX所指定的端口中。 例如: MOV DX,300H OUT DX , AX 第6章 微计算机IO接口基础 注意: 当端口地址大于0FFH(255)时,只能使用间接I/O端口寻址方式。 第6章 微计算机IO接口基础 6.4微机I/O接口设计 6.4.1 I/O接口硬件设计 不同的I/O设备,由于其组成与实现原理不同,它们相应的I/O接口内部的组成结构也有差异,但基本的功能部分比较相似。典型的I/O接口的组成如下图所示。 第6章 微计算机IO接口基础 典型I/O接口框图 CPU 数据端口 状态端口 控制端口 译 码 I/O 设备 数据总线 地址总线 控制总线 第6章 微计算机IO接口基础 微型计算机系统的接口具有通用性和可编程性两大特点。 通用性:是指采用标准化的通用接口,它将一般接口的各种功能逻辑电路制作在一块大规模或超大规模集成电路芯片中,可连接多种不同的外设。 可编程性:是指可以通过软件编程来设置I/O接口的功能、工作方式或工作状态,以适应连接不同外设的需要。 第6章 微计算机IO接口基础 6.4.2 I/O接口地址译码电路设计 I/O接口地址译码电路在设计时主要与如下信号有关: CS:片选信号,决定该接口是否工作。 IOR:I/O读信号。 IOW:I/O写信号。 An~0:地址信号,用于选择I/O接口内的寄存器。 MEM/IO:确定是访存操作或是访问I/O接口操作。 第6章 微计算机IO接口基础 AEN:指明是CPU操作(AEN=0)或是DMA操作(AEN=1) ,该信号用来避免在DMA周期,由DMA控制器对这些外部设备进行操作。IBM PC未使用该信号,在IBM PC中若要引用该信号,需由逻辑电路产生。 I/O端口译码电路设计可以采用基本门电路、专用译码器、开关式译码器以及可编程逻辑器件等来实现。 第6章 微计算机IO接口基础 1. 采用门电路的地址译码电路设计 设计步骤包括: 将端口地址的片选范围用二进制位表示; 设计步骤包括:建立译码电路的逻辑函数; 用门电路实现译码电路的逻辑函数。 例如,设某I/O接口电路中共分配四个端口地址,分别为300H、301H、302H和303H,要求采用门电路设计该I/O接口的译码电路。 第6章 微计算机IO接口基础 将端口地址用二进制数表示; A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 300H 1 1 0 0 0 0 0 0 0 0 301H 1 1 0 0 0 0 0 0 0 1 302H 1 1 0 0 0 0 0 0 1 0 303H 1 1 0 0 0 0 0 0 1 1 从上述二进制数地址表示可以看出,高位地址A9~A2必须,该接口电路才被选中。而A1和A0的不同组合就分别表示300H、301H、302H和303H。 第6章 微计算机IO接口基础 建立译码电路的逻辑函数 第6章 微计算机IO接口基础 用门电路实现上述逻辑函数 A8A9 A4A3A2 A7A6A5 第6章 微计算机IO接口基础 2. 采用专用译码器的地址译码电路设计 如果接口电路中需要输出多个端口地址的译码信号,可以采用专用译码器芯片来实现,采用这种方法可以使设计过程变得非常简单。 常用的译码器有2-4译码器(如双2-4译码器74LS139)、3-8译码器(如带锁存的74LS131和不带锁存的74LS138)、4-16译码器(如高电平输出有效的4514和低电平输出有效的4515)和6-64译码器等。 第6章 微计算机IO接口基础 Y0 Y1 Y2 Y3 Y4 C Y5 B Y6 A Y7 74LS138引脚图 Y7~Y0全为1 × × × 其它情况 Y7=0,其它为1 1 1 1 1 0 0 Y6=0,其它为1 0 1