微机原理与接口技术课件:第6章 输入输出和中断技术_第1页
微机原理与接口技术课件:第6章 输入输出和中断技术_第2页
微机原理与接口技术课件:第6章 输入输出和中断技术_第3页
微机原理与接口技术课件:第6章 输入输出和中断技术_第4页
微机原理与接口技术课件:第6章 输入输出和中断技术_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Ch.6 输入输出和中断技术,本章内容 基本概念 I/O端口的编址 输入输出的基本方法:无条件、查询、中断、DMA 中断 中断基本概念 8086/8088中断系统 8259中断控制器 DMA DMA的基本概念 DMA工作过程 DMA的三种传输方式,6.1 输入/输出接口(I/O接口),6.1.1 概述 什么是I/O接口? 把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之 间的信息交换。 I/O接口要解决的问题 速度匹配(Buffer) 信号电平和驱动能力(电平转换器、驱动器) 信号形式匹配(A/D、D/A) 信息格式(字节流、块、数据包、帧) 时序匹配(定时关系) 总线隔离(三态门),

2、I/O接口的功能 I/O地址译码与设备选择 把选中的与总线相接,未选中的与总线隔离(高阻态) 数据的缓冲与暂存 缓解接口与CPU工作速度的差异 对外设进行监测、控制与管理,中断处理 信号电平与类型的转换 形式、格式、电平、功率、码制等,6.1.2 I/O接口的编址方式 I/O端口: I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。 不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号称为端口地址(或端口号、接口地址)。 端口有两种编址方式:统一编址和独立编址。,1. 统一编址 把外设接口与内存统一进行编址

3、。各占据统一地址空间的不同部分。 优点 指令统一,灵活; 访问控制信号统一。 缺点 内存可用地址空间减小,0,地址空间(共1MB),内存地址 (960KB),I/O地址 (64KB),FFFFFH,EFFFFH F0000H,2. 独立编址 外设地址空间和内存地址空间相互独立。 优点:内存地址空间不受I/O编址的影响 缺点:I/O指令功能较弱,8088/8086 CPU的I/O编址方式 采用I/O独立编址方式(但地址线与存储器共用) 地址线上的地址信号用 来区分: 时为I/O地址 I/O操作只使用20根地址线中的16根: A15 A0 可寻址的I/O端口数为64K(65536)个 I/O地址范

4、围为0FFFFH IBM PC只使用了1024个I/O地址(03FFH),6.1.3 I/O端口地址的译码 、 、 A15 A0 OUT指令将使总线的 信号有效 IN指令将使总线的 信号有效 当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。 例如: 某外设接口有4个端口,地址为2F0H2F3H,则其基地址为2F0H,由A15A2译码得到,而A1、A0用来确定4个端口中的某一个。,6.1.4 I/O数据的传送方式 并行 一个数据单位(通常为字节)的各位同时传送

5、速度快、距离短、成本高 例:PC机的并行接口(通常用于连接打印机) 串行 数据按位进行传送 速度慢、距离远、成本低 例: PC机的串行接口(通常用于串行通信),6.2.1 接口电路的基本结构,6.2 简单接口电路,数据线,控制线,状态线,DB,CB,AB,数据输入寄存器 (or 三态门),数据输出寄存器 (锁存器),状态寄存器 (or 三态门),命令寄存器,译码 电路,控制 逻辑,数据输入/输出寄存器暂存输入/输出的数据 命令寄存器存放控制命令,用来设定接口功能、工作参数和工作方式。 状态寄存器保存外设当前状态,以供CPU读取。,简单接口电路,数据输入接口 必须具有三态输出能力,以便与总线挂接

6、 外设有数据保持能力时可用三态门实现 外设无数据保持能力时用三态输出的锁存器实现 数据输出接口 常用锁存器实现,三态门:高电平、低电平、高阻态 通常一个器件中包含8个三态门 常用芯片:74LS244(教材图6.3) 应用例子:开关接口 工作波形图如下:,A0A15,IOR#,译码输出,D0D7,开关状态,地址有效,简单的输入接口举例,接口电路图如下:,83FCH 83FFH,译码器,锁存器:由D触发器构成 通常一个器件包含8个D触发器 常用芯片:(教材图6.5、图6.6) 74LS273 74LS374(具有三态输出的锁存器,内部结构见图6.8) 应用例子:发光二极管接口,简单的输出接口举例,

7、译 码 器,=1,=1,. . .,. . .,. . .,+5V,R,D0 D7,CP,Q0,Q7,. . .,D0D7,A0A15,IOW#,74LS273,R,输入/输出接口综合应用例子,根据开关状态在7段数码管上显示数字或符号 共阳极7段数码管结构见教材图6.10 用74LS273作为输出接口,把数据送到7段数码管 74LS273的地址假设为F0H 用74LS244作为输入口,读入开关K0K3的状态 74LS244的地址假设为F1H 当开关的状态分别为00001111时,在7段数码管上对应显示0F (7段码表见下页),O1 I1 O2 I2 O3 I3 O4 I4 E1#,K0K3,+

8、5V,G G2A G2B C B A,1,74LS244,D0 Q0 | Q1 D7 Q2 Q3 Q4 CP Q5 Q6 Q7,a b c d e f g DP,7406,反相器,74LS273,Rx8,1,74LS138,D0D7,IOW#,IOR#,Y0,Y1,F0H = 0000 0000 1111 0000 F1H = 0000 0000 1111 0001,保存原来的中断向量 movah,35h moval,0eh;中断类型码 int21h;取原中断向量(在es:bx中) movsave_ip,bx;保存原来的中断向量 movsave_cs,es,;设置自己的中断向量 pushds movdx,offset my_int movax,seg my_int movds,ax;DS:DX的内容为my_int的首地址 movah,25h moval,0eh int21h ;设置自己的中断向量 popds ;初始化堆栈指针 movsp,my_stack_top ;设置8259A的中断屏蔽字 inal,21h andal,10111111b;开放IR6中断 out21h,al sti ,子程序如下: my_int proc far pusha popa mo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论