130 likes | 270 Views
微机接口技术与应用 ( 第二章). 本章内容 2.1 I/O 端口 及其编址方式 2.2 I/O 端口地址分配 2.3 I/O 端口地址译码. 地址. 0000 H. I/O 空间. 整个地址空间. ( 256 个). 00F FH. 0100 H. M 空间. ( 65280 个). ( 64 KB ). FFFFH. 端口( port ): 是 接口电路中 能被 CPU 直接 访问 的寄存器。 端口的种类: 数据口、状态口、命令口. I/O 端口和 I/O 操作 1 ) I/O 端口. 2 ) I/O 操作. 本质: I/O 端口的操作.
E N D
本章内容 2.1 I/O端口及其编址方式 2.2 I/O端口地址分配 2.3 I/O端口地址译码
地址 0000H I/O空间 ... 整个地址空间 (256个) 00FFH 0100H ... M空间 (65280个) (64KB) FFFFH 端口(port):是接口电路中能被CPU直接访问的寄存器。 端口的种类:数据口、状态口、命令口 • I/O端口和I/O操作 1)I/O端口 2)I/O操作 本质:I/O端口的操作 Motorola系列、 Apple系列、 部分小型机 端口地址编址方式 1)统一编址(存储器映象方式) 原则: M与I/O共用整个地址空间;I/O端口与存储单 元等同——M与I/O地址不重叠 优点: I/O 可有较大编址空间,易扩展; I/O操作指令类型多、功能齐全; 缺点:M的地址空间受限; I/O指令较长,执行速度较慢 本章首页
地址 0000H 地址 00H M空间 ... I/O空间 ... (256个) (64KB) FFH FFFFH 2)独立编址(I/O映象方式、专用I/O指令方式) 原则: M与I/O分开编址、互不干扰——M与I/O地址不重叠 优点: M空间不受I/O空间影响;有专用I/O指令(程序清晰);I/O指令短,执行速度快 缺点:I/O指令种类有限, I/O空间不易扩展 PC系列、 Z-80系列 独立编址方式的端口访问 1)I/O指令 • 注意事项 • PORT范围(长格式):00H~FFH • 数据寄存器:AL/AX • 端口间址寄存器(短格式):DX 输入 IN AL ,PORT IN AL ,DX IN AX ,PORT IN AX ,DX 输出 OUT PORT ,AL OUT DX ,AL OUT PORT ,AX OUT DX ,AX 本章首页
2)I/O端口访问 设某输出设备的状态READY(高有效)可由端口PORTS中读出(D7位),数据端口地址为PORTD,编写程序段,将内存中BUF单元的内容输出给该设备。 WAIT: MOV DX ,PORTS IN AL ,DX AND AL ,80H ;读取状态字,判断READY=1? JZ WAIT ;READY=0,等待 MOV DX ,PORTD MOV AL ,BUF OUT DX ,AL ;将数据输出到端口PORTD 本章首页
I/O接口硬件分类 1)系统板上的I/O芯片 定时/计数器、中断控制器、DMA控制器、并行接口等 2)I/O扩展槽上的接口控制卡 软驱卡、硬驱卡、声卡、视卡等 I/O端口地址分配 PC微机I/O地址:A0~A15,非完全译码,地址空间(1KB):000~3FFH PC机:前512个(A9=0)分配给系统板;后512个( A9=1)分配给扩展槽 AT机:前256个(00H~FFH)分配给系统板;后768个分配给扩展槽 具体分配如表所示 I/O端口地址选用原则 1)凡是系统配置占用了的地址一律不能使用 2)计算机厂家申明保留的地址最好不要使用 3)可用留作实验卡的地址:300H~31FH;最好用地址开关 本章首页
I/O端口地址分配表 扩展槽上接口控制卡的端口地址 系统板上接口芯片的端口地址 本章首页
逻辑组合 译码电路 I/OCS16 IOR IOW I/O地址译码电路工作原理及作用 1)地址译码电路的作用 作用:地址+控制信号 接口芯片的选择信号 常用控制信号:SHBE、 、AEN、 、 AEN=0:避免在DMA期间,由DMA控制器对这些以非DMA方式传送的端口执行 DMA操作 2)地址译码电路的输出信号 输出信号:低电平有效 I/O地址译码方法 片间选择:高位地址+控制信号 片选信号 片内端口选择:低位地址直接与接口芯片地址线相连, 低位地址线不参与译码,进行I/O芯片内部端口寻址。低位 地址线也叫接口电路中的寄存器寻址线,其根数决定于 接口中的寄存器的个数。 高位地址、 低位地址的划分 本章首页
A9 & 74LS30 1 A8 A7 1)固定式端口地址译码 门电路译码法——单个地址或地址范围 例:图中译码输出地址2FH(只读、AEN=0) 试分析将图中的A1、A2去掉后,译码输出的地址 译码器(以74LS138为例)译码法——多个地址或地址范围 A6 A5 A4 A3 74LS32 A2 1 Y 1 A1 & 1 A0 三——八译码器74LS138的逻辑功能: 当其3个译码控制端都为有效,即:G1=1,G2A=G2B=0时,它的8个译码输出端(Y0~Y7)有且只有一个为有效(低电平),有效引脚的编码由输入选择信号C、B、A决定;即:CBA=i,则Yi=0(i=0~7) 1 AEN 74LS20 1 1 IOR ? I/O端口地址译码电路设计 地址范围:n根地址线参与译码,译出地址含2n个 例:PC机系统板上的端口地址译码电路(为每个接口芯片分配一个含有32个地址的地址范围) 本章首页
(74LS138) A7 (8237) C A6 B (8259) A5 A (8253) (8255) A9 A8 (写DMA页面寄存器) G1 1 AEN 74LS85 (74LS138) (写NMI屏蔽寄存器) A9 A3 A4 IOW C A8 A2 A3 WRTDMAPG B A7 A1 A2 Y0 Y1 Y4 Y3 Y5 Y6 Y1 Y2 Y7 Y0 A A6 A0 DIP … G2B G2A G2B G2A A5 S0 B3 DMACS AEN S1 B2 1 1 G1 A=B S2 B1 T/C CS INTRCS WRTNMIREG A<B S3 B0 PPICS A>B Y0:140H~143H Y1:144H~147H Y6:158H~15BH Y7:15CH~15FH A=B …… Vcc 各芯片的地址: 8237:00H~1FH 8259:20H~3FH 8253:40H~5FH 8255:60H~7FH 写DMA页面寄存器:80H~9FH 写NMI屏蔽寄存器:A0H~BFH 2)可选式端口地址译码 比较器+地址开关 原理:当比较器输出有效(相等)时,译码输出有效 分析S0、S2闭合时译码输出地址 本章首页
若要求Y3的地址为24CH~24FH,如何设置开关;若要求为32CH~32FH呢?若要求Y3的地址为24CH~24FH,如何设置开关;若要求为32CH~32FH呢? 24CH~24FH:S0、S3断开;S1、S2闭合 32CH~32FH:该电路无法实现 1 1 1 1 1 1 & AEN 74LS30 A9 Ai C A8 =1 S … 1 Vcc A3 74LS32 A2 & … Y ? A0 74LS20 NOTE:由开关控制的地址才能改变 使用跳接开关 异或门+地址开关 原理: 若要求异或门的输出C=1, 则两个输入端逻辑电平反, 即:若开关S闭合,则Ai=1; 否则,Ai=0 若要求异或门的输出C=0,则两个输入端逻辑电平相同, 即:若开关S闭合,则Ai=0;否则,Ai=1 本章首页
S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 +5V 74LS136 … 74LS138 12 9 5 2 12 9 5 2 9 5 G1 A C B 3 6 11 13 11 10 8 3 6 8 3 6 8 1 13 10 1 10 2 1 4 4 4 AEN IOR Y0~Y7 地址 170H~177H A2 A1 A0 A3 … A6 … A10 A11 A7 芯片74LS136:内含4个异或门,各异或门与引脚的关系 IOW Y7 Y0 G2B G2A 6 3 1 4 =1 =1 要求Y0~Y7的地址为328H~32FH,如何设置开关 2 5 11 12 =1 13 8 9 =1 ? 10 S0、S2、S5、S6、S9闭合 本章首页
本章要点 端口的概念 端口的地址编址方式及其特点 I/O端口地址选用的原则 掌握I/O端口地址译码电路的工作原理 I/O端口地址译码电路的设计与分析 本章首页