【2017年整理】第7章 输入输出和接口应用

上传人:姜** 文档编号:1005715 上传时间:2017-05-25 格式:DOC 页数:33 大小:418.83KB
返回 下载 相关 举报
【2017年整理】第7章 输入输出和接口应用_第1页
第1页 / 共33页
【2017年整理】第7章 输入输出和接口应用_第2页
第2页 / 共33页
【2017年整理】第7章 输入输出和接口应用_第3页
第3页 / 共33页
【2017年整理】第7章 输入输出和接口应用_第4页
第4页 / 共33页
【2017年整理】第7章 输入输出和接口应用_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《【2017年整理】第7章 输入输出和接口应用》由会员分享,可在线阅读,更多相关《【2017年整理】第7章 输入输出和接口应用(33页珍藏版)》请在金锄头文库上搜索。

1、1第七章 输入/输出和接口应用(input/output and interface application)7.1 接口(interface)外设的工作状态及数据通过接口送给主机,主机对外设的命令及数据通过接口送到外设主机 接口 外设信息:数据(数字量,模拟量,开关量) ,状态,控制接口:CPU 与内存及 CPU 与外设之间通过总线进行连接的逻辑部件(电路) ,有存储器接口和 I/O 接口端口:I/O 接口内的寄存器,用来暂存和传送 CPU 与外设交换的数据、状态和控制信息,每个端口都有一个地址一I/O 接口的作用1外设与主机速度匹配2主机与外设交换信息:状态信息、数据信息和控制信息3变换传

2、输方式二I/O 接口的主要职能实现数据缓冲,地址译码(提供 I/O 地址) ,信息转换,提供命令译码和状态信息,定时和控制.三I/O 端口的编址方式1统一编址:也叫存储器编址,即存储器对应输入输出方式2独立编址:也叫 I/O 编址,即端口寻址的输入输出方式7.2 输入/输出方式(I/O mode)通常采用三种输入/输出方式,即程序控制、程序中断、直接存储器存取一程序控制输入/输出方式1无条件传送CPU 不考虑外设状态,只管用 IN、OUT 指令传送数据2条件传送,即查询方式CPU 在传送数据之前先查询外设状态,如果外设准备就绪,就与外设交换数据,否则继续查询2CHECK:IN AL,STATU

3、S;读状态端口AND AL,80H ;检查最高位是否为 0(0 为准备好)JNZ CHECK ;未准备好,继续检查MOV AL,STORE;准备好,从内存取数OUT DATA,AL ;从数据端口输出二程序中断输入/输出方式CPU 执行主程序,不用查询外设状态,而由外设通过中断请求线INTR(或 NMI)向 CPU 请求中断,CPU 响应后与外设进行信息交换,完成后继续执行主程序三直接存储器存取方式 DMA(Diract Memory Access)在 DMA 方式中,CPU 响应总线请求让出总线,由 DMA 控制器直接控制存储器与外设的互相传送(见 P197,F8-14 )另有一种叫专用 I/

4、O 处理机方式被广泛采用,原来由 CPU 完成的各种 I/O 操作与控制全部由 I/O 处理机(IOP )完成,与 CPU 并行工作。在 8086/8088 系列中, 8089 就是一个常用的高性能 IOP,它有 2 个独立通道,每个都兼有 CPU 功能和 DMA 功能。 IOP 专门用于处理高速 I/O 设备。7.3 定时与计数(timing and counting)Intel 8253 可编程定时器/计数器(可编程间隔定时器 PITProgrammable Interval Timer)采用 NMOS 工艺,单一+5V 电源,24 脚双列一8253 的基本结构和功能1 结构:内部结构及引

5、脚(见 P188,F8-2,F8-3)38253 由数据总线缓冲器、读/写逻辑、控制字寄存器、三个计数器组成数据总线缓冲器读/写逻辑(见 P189,T8-1 )CS RD WR A1 A0寄存器选择和操作0 1 0 0 00 1 0 0 10 1 0 1 00 1 0 1 10 0 1 0 00 0 1 0 1写入计数器 0#写入计数器 1#写入计数器 2#写入控制寄存器读计数器 0#读计数器 1#40 0 1 1 00 0 1 1 11 x x x x0 1 1 x x读计数器 2#无操作(三态)未选中(三态)无操作(三态)控制字寄存器三个计数器 (见 P186,F8-1)由一个 16 位的

6、可预置值的减法计数器构成,引脚CLK输入脉冲,其周期不能小于 380ns(即 f方式 1 输入(见 P218,F9-5)16 STB:选通输入,低有效时数据由外部送入输入锁存器 IBF:输入缓冲器满,高有效时表示输入锁存器满,它由 STB 置位,RD 上升沿复位 INTR:中断请求,高有效时 8255A 向 CPU 请求中断, A 口用PC3,B 口用 PC0它是当 STB、IBF、INTE 为高时有效的(被置高) INTE A:A 口中断允许,由用户对 PC4 置位/ 复位来控制INTE B:B 口中断允许,由用户对 PC2 置位/复位来控制方式 1 输出(见 P217,F9-4) OBF

7、:输出缓冲器满,低有效时表示 CPU 已把数据输出到端口OBF 由 WR 的上升沿置有效,由 ACK 有效使其恢复为高 ACK:外设响应信号,低有效时表示已接收 CPU 输出的数据 INTR:中断请求,高有效时表示外设已接收数据,请求再输出数17据当 ACK、OBF、INTE 为高时 INTR 置位(=1) ,WR 的后沿使其复位(=0) INTE A:A 口中断允许,由用户对 PC6 置位/ 复位来控制INTE B:B 口中断允许,由用户对 PC2 置位/复位来控制3方式 2(见 P219,F9-6)选通双向输入输出方式,可工作于查询或中断方式方式 2 只有 A 口可用 INTR:中断请求,

8、高电平有效,输入或输出都可向 CPU 请求中断 OBF :输出缓冲器满,低有效时表示 CPU 已把数据送到端口 A ACK:响应信号,低有效启动 A 口三态输出缓冲器送出数据(否则缓冲器三态)ACK 上升沿作为数据已输出的回答信号 INTE1:与输出缓冲器相关的中断允许,对应 PC6,1 允许、0 屏蔽 STB:选通输入,低有效时外设把数据输入到端口输入锁存器 IBF:输入缓冲器满,高有效时表示数据已进入输入锁存器 INTE2:与输入缓冲器相关的中断允许,对应 PC4,1 允许、0 屏18蔽当 A 口工作于方式 2 时,B 口可工作在方式 0、方式 1,此时 C口各位的功能为:D7 D6 D5

9、 D4 D3 D2 D1 D0I/O I/O I/O 方式 0OBFA INTE1 IBFA INTE2 INTRA INTEB IBFB INTRB 方式 1 输入(ACK A) (STB A) (STB B)INTEB OBFB INTRB 方式 1 输出(ACK B)A 组状态 B 组状态(方式控制字设置完后)它形成一个方式状态字,CPU 可用读 C 口得到例:设 A 口为双向中断传送, B 口为方式 1 输入,则方式控制字为1 1 1 1 11000110B=C6HA B B方 方 输式 式 入2 1A 口方式 2 输入中断允许,则 PC4=1,C 口置位/复位控制字为00001001

10、B=09HA 口方式 2 输出中断允许,则 PC6=1,C 口置位/复位控制字为00001101B=0DH注意:一个按位置位/复位控制字只能对 C 口的某一位设置CPU 响应中断,则在中断服务子程序中首先从 C 口读状态字,判别 IBF 或 OBF 是否有效以决定输入或输出如果 A 口或 B 口工作于选通 I/O 方式而屏蔽中断,则 C 口的状态字可作查询或 I/O 方式之用四IBM PC/XT 的 8255A-5 使用PC/XT 系统板上使用一片 8255A-5,工作在方式 0(1)A 口在系统上电自检时暂为输出,输出部件检测标志,自检后设为输入,用于键盘中断处理程序中读取已串并转换完的键盘

11、扫描码(2)B 口输出,用于对键盘串并转换, RAM 和 I/O 通道检验以及扬声器等的启动控制(3)C 口输入,高 4 位为一些状态测试位,低 4 位用来读取系统板的配置开关 DIP 的设置情况8255A-5 在系统中的 I/O 地址:A 口 60H19B 口 61HC 口 62H控制字寄存器63H对 B 口,PB0:1 定时器 2 选通控制PB1:1 扬声器数据PB2:备用PB3:0 允许读 DIP 低 4 位/1 允许读 DIP 高 4 位PB4:0 允许 RAM 奇校验PB5:0 允许 I/O 通道校验PB6:0 保持键盘时钟为低PB7:0 允许键盘数据/1 清除键盘数据对 C 口高

12、4 位,PC4:1 扬声器状态PC5:1 定时器通道 2 输出PC6:1 I/O 通道校验PC7:1 RAM 奇偶校验DIP 开关 ON 为 0,OFF 为 1SW-8 SW-7 SW-6 SW-5 SW-4 SW-3 SW-2 SW-1软盘驱动器数 显示器 系统板上 RAM 001 个 014025 彩色 01128KB 0常规 0正常工作20012 个 108025 彩色 10192KB 1循环自检103 个 11单色或多个 11256KB114 个 显示器 00640KB 1有 8087以下是 ROM-BIOS 初始化部分的读系统开关的一段 8255A-5 初始化编程,读 DIP 开关程

13、序段MOV AL,10001001B ;方式 0,A 口、B 口输出,C 口输入OUT 63H,AL ;MOV AL,10100101B ;PB 3 为低以读取 DIP 低 4 位OUT 61H,AL ;送到 B 口 ;先做其他测试IN AL,62H ;读 C 口AND AL, 0FH ;截取低 4 位MOV AH,AL ;存于 AH 中MOV AL,10101101B ;使 PB3 为高电平,其他位不变OUT 61H,ALNOP ;等待数据输入稳定IN AL,62H ;再读 C 口MOV CL,4 ;设置循环计数为 4ROL AL,CLAND AL, 0F0H ;取高 4 位OR AL,AH

14、 ;高 4 位低 4 位合并SUB AH, AH ;AX 的高字节清 0MOV DATA_WORDOFFSET EQUIP-FLAG,AX;存入设备标志单元(2 字节)MOV AL,10011001B ;重设 8255A 方式 0,A 口、B 口、C口输入OUT 63H,AL至此得 8 位 DIP 配置状态,系统进入正常工作例 1CPU 通过 8255A 的 PA0 输出 500HZ 的矩形波即在 PA0 交替输出“0” 、 “1”电平,各保持 1ms设 8255A 端口地址为 60H63HSTART:MOV AL,80H ;OUT 63H,ALXOR AL,ALREPT: OUT 60H,A

15、LCALL D1MSNOT ALJMP REPTD1MS: MOV CX,280WAIT: LOOP WAITRET21例 28255 通过 PC/XT62 芯总线与系统连接,其地址为218H21BH,现用 C 口连接 8 个发光二极管,若 C 口输出低电平灯亮,高电平灯灭请用软件定时,使一个灯亮,每隔0.5 秒从低位向高位循环移动一次,若有键按下则停止运行CODE SEGMENTASSUME CS:CODE,DS:CODE,SS:CODESTART: MOV AX,CODEMOV DS,AXMOV SS,AXMOV AX,0100HMOV SP,AXMOV DX,21BH ;8255 控制口地址MOV AL,10000000B ;C 口输出OUT DX,ALMOV DX,21AH ;C 口地址MOV BH,0FEHCONT: MOV

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号