
2019/11/18 5.1概述 微机技术与仪器系统设计 5.11/0信号的形式 5.1.2/0接口 第五章数字量输入输出 5.1.3I/0编址 5.1.41/0控制方式 5.1.1/0信号的形式 5.1.2/0接口 号70接口是位子系航与外慢间、用来协功完减锁扬传适 开关量 和拉削任务的泛辨电路 克整的/0接口不收包括接口的电路,还包指接口电路 数字量 的管理驱动狂序 P心机纯板的可躺在接口芯片、1/0慈战撞的电路板 脉冲量 (造配得)都是楼口电路 模拟量 口 -1/0 CPU 设备
2019/11/18 1 微机技术与仪器系统设计 第五章 数字量输入输出 1 • 5.1.1 I/O信号的形式 • 5.1.2 I/O接口 • 5.1.3 I/O编址 • 5.1.4 I/O控制方式 5.1 概述 5.1.1 I/O信号的形式 • 开关量 • 数字量 • 脉冲量 • 模拟量 • I/O接口是位于系统与外设间、用来协助完成数据传送 和控制任务的逻辑电路 • 完整的I/O接口不仅包括接口的电路,还包括接口电路 的管理驱动程序 • PC机系统板的可编程接口芯片、I/O总线槽的电路板 (适配器)都是接口电路 •CPU •接口 •电路 •I/O •设备 5.1.2 I/O接口 1 2 3 4

2019/11/18 I/O的内容分类 I/O接口的构成 地 许码 0端口1 ·/O接口传送的信患种类 (状态端口) DB /0瑞口2 ·数据信息 冲 致抵端口) ·状态信息 I0瑞口3 ·拉制信息 ·盛巴:信息传情的通道,是构成/O的基本单元 -/0 -CPU ◆浸 端口的分类 电蹈 设备 数据端口 状态端口 拉制端口 5.1.31/0接口的编址 、 (2)1/0端口与存储器统一编址 )1/0端口单独编址 *FFFFF ·特点: FFFF可 1.1/0端口相当于内存的一部分, ·1.端口与存储器分别独立编址,端 内存 口不占用内存空间 内存 使内存容量减小 2.对1/0端口的读/写与对存储 ·部分 2.设有专门的1/0指全对端口进行 FFFFI/O 空间 存伸是空间 器的读/写湘周,所有可对内存 读写,内存操作的指令不能用于1/0 0空间 操作的指令对1/0端口灼可使用 端口 I/o 3.抛令系统中不专设1/0抛今 部分 -00000 80x86采用/0端口独立编址 ·51系列单片机采用统一编址 2
2019/11/18 2 I/O的内容分类 • I/O接口传送的信息种类 • 数据信息 • 状态信息 • 控制信息 •CPU •接口 •电路 •I/O •设备 I/O接口的构成 • 端口:信息传输的通道,是构成I/O的基本单元 • 端口的分类 数据端口 状态端口 控制端口 ⑴ I/O端口单独编址 • 特点: • 1.端口与存储器分别独立编址,端 口不占用内存空间 • 2.设有专门的 I/O指令对端口进行 读写,内存操作的指令不能用于I/O 端口 •内存 •空间 •I/O •空间 •FFFFF •0 •FFFF •80x86采用I/O端口独立编址 •5.1.3 I/O接口的编址 (2)I/O端口与存储器统一编址 特点: 1.I/O端口相当于内存的一部分, 使内存容量减小 2.对I/O端口的读/写与对存储 器的读/写相同,所有可对内存 操作的指令对I/O端口均可使用 3.指令系统中不专设I/O指令 •内存 •部分 •I/O •部分 •存储器空间 •00000 •FFFFF •51系列单片机采用统一编址 5 6 7 8

2019/11/18 意净5.1.31/0接口的编址 存情馨映象偏址 1/0草妆蝙址 5.1.41/0控制方式 属性 1/0端口与存情器统一址 单款墙址 如何发起和完成一次传送 0851系列 80X86 ·直接传送方式 特优燕: : ·查询方式 不高要专门的0溜令 /0端口的地址空闲妆立 /0数据存取与存储器数括存 样灵活 拉制和地址评吗电路相对时筒草 ·中断方式 专门的1/0潮个使和序清晰品读 1/0端口要占去部分存储器地 ·直接存储器访问方式(DMA) 址变间 1/0抛今没有存储要靴冷平富 序不品阅读(不马分清访存 和诗问外 10 直接传送方式 沙、 查询方式 在CPU与慢地变化的设备变换散择时,可以认为它们总是处 CPU需要先了部(查询)外设的工作状态,然后在外 于“就情”快志,随时可以进杆数蒂传进,这就是无泰件 设可以交提信惠的情况下(就情)卖现数择输入或 传适,或称直楼传进、同步传送 输出 道合于简单设备,如LD数码管、接能成妆知如普 无泰件传延的楼口和操作均十分简单 ·对多个外设的情况,则©PU按一定瓶序依次查询(轮 动)。先查询的外设将化先进行散据交换 这种传送有前授:外泛必须威时就蜡 12 3
2019/11/18 3 存储器映象编址 I/O单独编址 属 性 I/O端口与存储器统一编址 单独编址 应 用 MCS51系列 80X86 特 点 优点: 不需要专门的I/O指令 I/O数据存取与存储器数据存 取一样灵活 缺点: I/O端口要占去部分存储器地 址空间 程序不易阅读(不易分清访存 和访问外设) 优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富 •5.1.3 I/O接口的编址 5.1.4 I/O 控制方式 • 直接传送方式 • 查询方式 • 中断方式 • 直接存储器访问方式(DMA) ——如何发起和完成一次传送 直接传送方式 • 在CPU与慢速变化的设备交换数据时,可以认为它们总是处 于“就绪”状态,随时可以进行数据传送,这就是无条件 传送,或称直接传送、同步传送 • 适合于简单设备,如LED数码管、按键或按纽等 • 无条件传送的接口和操作均十分简单 • 这种传送有前提:外设必须随时就绪 查询方式 • CPU需要先了解(查询)外设的工作状态,然后在外 设可以交换信息的情况下(就绪)实现数据输入或 输出 • 对多个外设的情况,则CPU按一定顺序依次查询(轮 询)。先查询的外设将优先进行数据交换 9 10 11 12

2019/11/18 查询传送的两个环节 查询输入接口 输入状态 仙)查询环节 一寻址状态口 mov dx.8000h:DX指向状态端口 N 就绪? status:in al,dx :读状态端口 一读取状志寄存罪的标志位 TY test al,01h :测试标志位D0 一若不就墙就娘续查询,直亚就情 ②以传递环节 数据交换 jz status :D0=0,未就绪,继续查询 incdx :D0=1,就绪,DX指向数据端口 一寻址数振口 in al.dx 从数据端口输入数据 一是输入,通过情入指令从数据端口读入数据 一是输出,通过输出湘令南数据端口输出数据 3.中断传送方式 主程序 注意: ,中断服务程序 中嘶传送是一种效率更高的程序传送方式 ,CPU在执行接序中,被内部 ·对外设 进行传送的中断服务程序是顶先设计好的 成外亦的率件所打嘶,黄去 进行处理 ·中断请求是外设随机向CPU提出的 执行一段预先变排好的中所 ·CPU对请求的检测是有规獐的:一鞭是在每条指个 服务程序;服务站来后,又 返回断点 的最后一个时钟周期采样中断请求输入引脚 运园原来的前点,感续执行 原来的覆序 16 4
2019/11/18 4 查询传送的两个环节 ⑴ 查询环节 –寻址状态口 –读取状态寄存器的标志位 –若不就绪就继续查询,直至就绪 ⑵ 传送环节 –寻址数据口 –是输入,通过输入指令从数据端口读入数据 –是输出,通过输出指令向数据端口输出数据 •输入状态 •就绪? •数据交换•Y •N 查询输入接口 mov dx,8000h ;DX指向状态端口 status: in al,dx ;读状态端口 test al,01h ;测试标志位D0 jz status ;D0=0,未就绪,继续查询 inc dx ;D0=1,就绪,DX指向数据端口 in al,dx ;从数据端口输入数据 • 查询传送的特点是:工作可靠,适用面宽,但传送效率 低 3.中断传送方式 •断点 •主程序 •中断服务程序 •中断请求 •对外设 •进行处理 •继续执行 •返回断点 • CPU在执行程序中,被内部 或外部的事件所打断,转去 执行一段预先安排好的中断 服务程序;服务结束后,又 返回原来的断点,继续执行 原来的程序 • 中断传送是一种效率更高的程序传送方式 • 进行传送的中断服务程序是预先设计好的 • 中断请求是外设随机向CPU提出的 • CPU对请求的检测是有规律的:一般是在每条指令 的最后一个时钟周期采样中断请求输入引脚 • 注意: 13 14 15 16

2019/11/18 4.直接存储器访问DMA方式 DMA传送的工作过程 ·外设访问存馈器: (作)CPU对DA拉制幕进行和始化设置 外设→CPU-一存情器 外设CPU存德器 2)外设、DAC和CPU三者通过应答信号建立联系: GPU将总线交给DAC控制 ·直接存情器存取DLA: 外设一存储器 (3)DA传送选 外设存储最 一D队读存情器:存储器+外设 ,CPL弄放总线,由DMA控制器管理 -D队写存储是:存储是←外设 4④)自动增减地址和计数,判断传递完成否 传送方式的比较 5.2系统总线与接口 ·无条件传送:慢速外设需与CPU保#同步 ·数据信号的连接 ·查询传遂:简单可靠,效率较低 ·拉制信号的连接(IOR、IOW和AN) 中断传送:外设主动,可与CPU并行工作,但 ·地址信号的连接 每次传送需要大量颤外时间开销 ·1/0地址空间采用分片管理的方法 ·DMA传送:DMAC拉制,外设直接和存情器进 芯片地址和片内地址合起来决定工/口空间的物理地址 行数据传送,违合大量、快追数据传送 ·地址译码乘用部分诉码的方法 一表只用A9~A0,共20个物理地址 19 20 5
2019/11/18 5 4. 直接存储器访问DMA方式 • 外设访问存储器: 外设→CPU→存储器 外设←CPU←存储器 • 直接存储器存取DMA: 外设→存储器 外设←存储器 • CPU释放总线,由DMA控制器管理 DMA传送的工作过程 ⑴ CPU对DMA控制器进行初始化设置 ⑵ 外设、DMAC和CPU三者通过应答信号建立联系: CPU将总线交给DMAC控制 ⑶ DMA传送 –DMA读存储器:存储器 → 外设 –DMA写存储器:存储器 ← 外设 ⑷ 自动增减地址和计数,判断传送完成否 传送方式的比较 • 无条件传送:慢速外设需与CPU保持同步 • 查询传送: 简单可靠,效率较低 • 中断传送:外设主动,可与CPU并行工作,但 每次传送需要大量额外时间开销 • DMA传送:DMAC控制,外设直接和存储器进 行数据传送,适合大量、快速数据传送 5.2 系统总线与接口 • 数据信号的连接 • 控制信号的连接(IOR、IOW和AEN) • 地址信号的连接 • I/O地址空间采用分片管理的方法 芯片地址和片内地址合起来决定I/O空间的物理地址 • 地址译码采用部分译码的方法 一般只用A9~A0,共210个物理地址 17 18 19 20

2019/11/18 工/O端口的地址分配举例 青利用门控电路和译码器 数线DB 【例】设计端口地址为218H的译码电路 念核行OUT南时,爱出请口的地址音 MOV DX,218H IN AL,DX 或 OUT DX,AL 对应218H墙口的地址售号为(只取A9A0), A9A8A7A6A5A4A3A2A1A0(地址信号) 7415138 1000011000 2 8 H RD 译码电路 WR 只要瀹足此地址取值的保码电略均可 PC O接口 简单输入接口举例 简单输出接口举例 缓中器;锁存器 缓冲器;锁存器 7244 Ag-Ag 码 B4→ LED 74LS06 MOV DX,219H MOV DX,218H OUT DX,AL M AL,DX 23 6
2019/11/18 6 I/O端口的地址分配举例 【例】设计端口地址为218H的译码电路 分析: CPU执行IN/OUT指令时,发出端口的地址信号 MOV DX, 218H IN AL, DX 或 OUT DX, AL 对应218H端口的地址信号为(只取A9~A0): A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 (地址信号) 1 0 0 0 0 1 1 0 0 0 B 2 1 8 H 只要满足此地址取值的译码电路均可 利用门控电路和译码器 MOV DX,218H IN AL,DX 简单输入接口举例 缓冲器;锁存器 简单输出接口举例 缓冲器;锁存器 MOV DX,219H OUT DX,AL 21 22 23 24

2019/11/18 接口应用举例 接口应用举例 EQU 284 CS1 EQU 288H 0 DELAYTIME EQU 3000 空闲 MOV DX,CS1 N AL,DX AEN 甲 0 MOV CX,DELAYTIME 机 乙机 74LS04 CHKS: MOV DX,CSO STROB哑0 N AL,DX AND AL,1 JZ DATIN LOOP CHKS DATIN: MOV DX,CS1 N ALDX 25 采用 输入操作情况下,除非计算机等特语,百则无 法传进给计算机。 5.3中断控制系统 A)程序查询方式 B)中斯方式 C)DMA方式 ·8086CPU有条地址总桃可形成的存 中断:CPU做行准序的过程中,由于外部事件(外 地可可可数为 中的 部或内部)使其前停转而处理另一段程序,处理完 进行/0操作,其地址 后返回原前停处继峡往下故行的过程。 间为可寻址。 ·X86PC机可以访问的/O空间有: ·A)4GB B)1MB C)64KB D)1KB 27 28 7
2019/11/18 7 接口应用举例 0 0 1 0 0 0 1 1 0 0 0 空闲 甲 机 乙 机 接口应用举例 CS0 EQU 284H CS1 EQU 288H DELAYTIME EQU 3000 MOV DX,CS1 IN AL,DX MOV CX,DELAYTIME CHKS: MOV DX,CS0 IN AL,DX AND AL, 1 JZ DATIN LOOP CHKS . DATIN: MOV DX,CS1 IN AL,DX • 当采用 输入操作情况下,除非计算机等待数据,否则无 法传送数据给计算机。 • A) 程序查询方式; • B) 中断方式; • C) DMA方式 • X86PC机可以访问的I/O空间有: • A) 4GB B) 1MB C) 64KB • D) 1KB • 8086 CPU有 条地址总线,可形成 的存 贮器地址空间,可寻址范围为 ;地址总线 中的 条线可用于I/O寻址,形成 的输 入输出地址空间,地址范围为 ;PC机中 用了 条地址线进行I/O操作,其地址空 间为 可寻址范围 。 5.3 中断控制系统 • 中断:CPU执行程序的过程中,由于外部事件(外 部或内部)使其暂停转而处理另一段程序,处理完 后返回原暂停处继续往下执行的过程。 25 26 27 28

2019/11/18 米子屏藏中断的响应过程 中断向量表 ·条件:NTR引脚上收到一个高电平的中断请求信号,且当 ·中断类型号0一255 前IF=与 中斯向量表地址0一3FFH CPU工作: (1KB) 年4个单元对应中新类型号 ◆从戴希总服上读取中所臭型码,其存入内部前存器 n的中断矢量,其中存储中 ◆将标态寄存兽的值推入堆我 出中时 所服务子程序的入口地址 ◆北标态寄存善的中晰允许标态「和单步下清零 (CS:P),低两字节存 点中 P,高两字节存CS。 ,◆将断底保扩到难栈中(包括CS和P的值) 事直中 ◆派帮中断臭型两到内存的0收的中断向量兼中找到中晰 向,再根据中向士转入相应的中所处理子序 为中 30 ·用户若想装入自己的中断向量到向量表中, 假设类型号为60H 假设类型号为60H的中断地址为: SEG_INTR:OFFSET_INTR. 7,的外部中断由」 CLI CLD AX,0 给地址品 MOV MOV ES.AX MOV DI,4.60H :DI指向表中对应位量 D0S功能调用指令T21H中断向量存放的物理地址为 MOV AX,OFFSET INTR;取偏移地址 STOSW MOV AX,SEG INTR ;取段基址 STOSW STI 31 8
2019/11/18 8 可屏蔽中断的响应过程 •条件:INTR引脚上收到一个高电平的中断请求信号,且当 前IF=1 •CPU工作: •◆从数据总线上读取中断类型码,将其存入内部暂存器 •◆将标志寄存器的值推入堆栈 •◆把标志寄存器的中断允许标志IF和单步TF清零 •◆将断点保护到堆栈中(包括CS和IP的值) •◆根据中断类型码到内存的0段的中断向量表中找到中断 向量,再根据中断向量转入相应的中断处理子程序 • 中断类型号0~255 • 中断向量表地址0~3FFH (1KB) • 每4个单元对应中断类型号 n的中断矢量,其中存储中 断服务子程序的入口地址 (CS:IP),低两字节存 IP,高两字节存CS。 中断向量表 •用户若想装入自己的中断向量到向量表中, •假设类型号为60H •假设类型号为60H 的中断地址为: • CLI CLD MOV AX, 0 MOV ES, AX MOV DI, 460H ; DI 指向表中对应位置 MOV AX, OFFSET_INTR ; 取偏移地址 STOSW MOV AX, SEG_INTR ; 取段基址 STOSW STI •SEG_INTR: OFFSET_INTR。 29 30 31 32

2019/11/18 中断控制器8259A •中断申请 00-D7 D0-D7 -8259 接口1 1、8259A的引肿、辅程站构和工作过程 8086 楼口2 观查 CPU R 2、8259A的铺程 IR2 接口3 打机 。1.设里中断屏蔽字 F 楼口4 是示器 ■2.发中断结来命令BOI .INTR -INT 3、8259A在BMP℃/XT系统中的应用 IR6 .INTA -INTA IR7 34 8259A的功能 可铺程中断拉制器ntd8259A的引脚 团名 (1)楼收多个外事中断请求信号,进行优先航判断,选择 -A D,-D. 一个当前优壳:最高的中断请求,通过NT熊进给8086 -INTA 续拉入 CPU。 W 写翰人 (2)南动提供中所廉务框序的入口地址。 A 命今透样地址 (3)多种中断管理方式,通过端准来进择,道应客种系能 的要求。 2009 CAS,CAS。级连线 (4)具有8版优先版拉制,通过:展用9片8259A可以构成64 从程序(允许板中 主从式中断泰。 CAS INT INTA 中晰型输人 (⑤)奉一版中嘶擦可孩立被屏蔽或允许。 4 -CAS R。R 原请求的入 36 9
2019/11/18 9 1、8259A的引脚、编程结构和工作过程 2、8259A的编程 1. 设置中断屏蔽字 2. 发中断结束命令EOI 3、8259A在IBM PC/XT系统中的应用 中断控制器8259A •中断申请 •管理接口 •8259 IR0 IR1 IR2 IR3 IR4 IR5 • IR6 IR7 •8086 •CPU •INTR •IF •INTA •中断申请 接口1 网络 接口2 硬盘 接口3 打印机 接口4 显示器 •INT •INTA D0~D7 D0~D7 8259A的功能 (1)接收多个外部中断请求信号,进行优先级判断,选择 一个当前优先级最高的中断请求,通过 INTR 线送给 8086 CPU。 (2)自动提供中断服务程序的入口地址。 (3)多种中断管理方式,通过编程来选择,适应各种系统 的要求。 (4)具有8级优先级控制,通过级联用9片8259A可以构成64 级主从式中断系统。 (5)每一级中断都可独立被屏蔽或允许。 可编程中断控制器Intel 8259A的引脚 33 34 35 36

2019/11/18 8259A航联 Intel8259A内部功能框图 T 留 R D-D INTA 城拉制 INT GND INTA INT GND 37 ntdl8259A内部寄存器 Intel8259A内部寄存器 ,中断请求寄存器IRR(Interrupt Request Register) ·中断服务寄存器ISR(In-Request Register) -保存8条外界中断请求信号R0~一R7的请求状态 -保存正在被8259A服务着的中断状态 -D位为1表示R明脚有中断请求,为0表示无请求 -D位为1表示R中断正注服务中:为表示没有被服务 密盆圈“ 园留益 40 10
2019/11/18 10 8259A 级联 Intel 8259A 内部功能框图 Intel 8259A 内部寄存器 • 中断请求寄存器IRR (Interrupt Request Register) – 保存8条外界中断请求信号IR0~IR7的请求状态 – Di位为1表示IRi引脚有中断请求;为0表示无请求 Intel 8259A 内部寄存器 • 中断服务寄存器ISR (In-Request Register) – 保存正在被8259A服务着的中断状态 – Di位为1表示IRi中断正在服务中;为0表示没有被服务 37 38 39 40