微机系统与接口:第五讲(1) 数字量输入输出-基本输入输出_第1页
微机系统与接口:第五讲(1) 数字量输入输出-基本输入输出_第2页
微机系统与接口:第五讲(1) 数字量输入输出-基本输入输出_第3页
微机系统与接口:第五讲(1) 数字量输入输出-基本输入输出_第4页
微机系统与接口:第五讲(1) 数字量输入输出-基本输入输出_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章 数字量输入输出,本章内容,简单I/O接口 并行输入输出接口 中断控制系统 计数定时接口 串行输入输出接口 直接存储器存取DMA 系统总线及接口,简单I/O接口,什么是I/O接口(电路)? I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,CPU,I/O设备,I/O接口 电路,I/O信号的形式,开关量信号 数字量信号 脉冲量信号 模拟量信号,接口的作用,对输入输出数据进行缓冲和锁存 输出接口有锁存环节;输入接口有缓冲环节 实际的电路常见: 输出锁存缓冲环节、输入锁存缓冲环节 对信号的形式和数据

2、的格式进行变换 微机直接处理:数字量、开关量、脉冲量 对I/O端口进行寻址 与CPU和I/O设备进行联络,输入接口的缓冲环节,输入接口的锁存、缓冲环节,外 部 数 据 引 脚,锁存控制,锁存器,缓冲器,D,C,D,C,D,C,Q,Q,Q,选通,输出接口的锁存环节,输出接口的锁存、缓冲环节,接口电路的典型结构,从编程角度看,接口内部主要包括CPU可以进行读/写操作的临时寄存器,又称I/O端口(Port)。 各I/O端口由端口地址区分(80X86 64K) -编址方式,是构成I/O接口的基本单元 有自己的端口地址(端口号) 可供外部设备或CPU读/写 有宽度 端口内容是外部设备的信息反映,端口的基

3、本特性,I/O接口的基本功能,信号形式变换 电平转换和放大 锁存及缓冲 I/O定向 并串转换,I/O端口按功能分为三种类型,数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息,控制 外设或接口的工作方式,CPU对外设输入/输出的控制,CPU对外设输入/输出的控制,通过对接口电路中各I/O端口的读/写操作完成。 端口选择地址编号,I/O端口的编址,接口电路占用的I/O端口有两类编排形式 I/O端口单独编址 I/O地址空间独立于存储地址空间 如8086/8088 I/O端口与存储器统一编址 它们共享一个地址空间 如M68

4、00,I/O端口单独编址,优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富,80 x86采用I/O端口独立编址,I/O端口与存储器统一编址,优点: 不需要专门的I/O指令 I/O数据存取与存储器数据存取一样灵活 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易分清访问内存还是访问外设,内存 部分,I/O 部分,存储器空间,00000,FFFFF,8088的输入/输出指令和时序,输入指令IN IN AL, port IN AL, DX IN AX,port IN AX,DX ;(Port)(AL),

5、(Port+1)(AH,输出指令OUT OUT port,AL OUT DX,AL OUT port, AX OUT DX,AX,IN/OUT 与存储器读写的差异,8088CPU最小模式下, I/O端口读周期时序,8088CPU最小模式下, I/O端口写周期时序,读、写控制逻辑电路1,读、写控制逻辑电路2,PC总线:I/O端口读周期时序,PC总线:I/O端口写周期时序,D7 D0,IOW,A15A0,ALE,CLK,T4,T1,T2,T3,Tw,IN AL ,21H,A9,A8,A7,A6,A5,A,B,C,G2B,G2A,G1,Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,10110,10

6、112,IN AL,21H,存储器,A0,CS,端口1,端口2,20H,21H,8259,8253,A1,A0,CS,端口1,端口2,端口3,端口4,00,01,10,11,40H,41H,42H,43H,0,1,CPU系统,A0,A1,A0,10112,AEN,MEMR,IN AL,21H,21,1,IOR,IOR,F0,0,0,0,0,1,1,1,0,OUT 43H,AL,A9,A8,A7,A6,A5,A,B,C,G2B,G2A,G1,Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,1011E,10120,存储器,A0,CS,端口1,端口2,20H,21H,8259,8253,A1,A0,

7、CS,端口1,端口2,端口3,端口4,00,01,10,11,40H,41H,42H,43H,0,1,CPU系统,A0,A1,A0,AEN,OUT 43H,AL,MOV AL,90,MEMR,43,1,1,10120,IOW,IOW,90,总线,0,0,0,1,0,1,1,1,例:一个输入设备的简单接口电路,该电路在CPU执行指令 MOV DX, 284H IN AL, DX 将输入设备的数据读入 CPU内AL中,图中译码电路的作用: 只当A15A0上出现284H时, (即0000 0010 1000 0100B) 输出0,其他输出1,IO总线,P290图5.11 74LS244G1/G2,例

8、:一个输入设备的简单接口电路,执行: MOV DX, 284H IN AL, DX,01101101B=6DH,IN指令时序,问题: P290图5.11 K2,K5,K8闭合时DB=?, (AL)=,例:一个输入设备的简单接口电路,MOV DX, 288H IN AL, DX,输入设备接口电路,即硬件上保证: 只在CPU执行从288H端口输入数据时,三态门处于工作状态,使输入设备的数据送上总线侧,而CPU执行其它指令时,三态门均处于高阻状态,使输入设备的数据线与总线侧断开,思考:其他的指令为什么不可以,例:IN AL, 50H; MOV AL, 0288H,例:一个输出设备的简单接口电路,该电

9、路在CPU执行指令 MOV AL, 81H MOV DX, 288H OUT DX, AL CPU内AL中的数据81H送至输出设备,图中译码电路的作用: 只当A15A0上出现288H时, (即0000 0010 1000 1000B) 输出0,其他输出1,参见P291图5.12,例:一个输出设备的简单接口电路,IO总线,锁存器,输出 设备,数据线,IOW,地址 译码,地址线,288H,0,0,0,D7 D0,A15 A0,与 非,例:LED指示灯,OUT指令时序,A15A0,CLK,IOW,D7D0,T4,T1,T2,T3,Tw,0000 0010 1000 1000,执行: MOV AL,

10、81H MOV DX, 288H OUT DX, AL,例:一个输出设备的简单接口电路,PC总线,锁存器,输出 设备,数据线,IOW,地址 译码,地址线,288H,0,0,0,D7 D0,A15 A0,与 非,例:LED指示灯,MOV DX, 288H OUT DX, AL,输出设备接口电路,即硬件上保证: 只在CPU执行从288H端口输出数据时,锁存器处于触发状态,其输出随输入变化,而CPU执行其它指令时,锁存器均处于锁存状态, 其输出不随输入变化,思考:其他的指令为什么不可以? 例:OUT 50H,AL; MOV 0288H,AL,问题:对本电路 MOV DX,288H IN AL,DX

11、结果如何,I/O端口的译码,译码电路的作用 译码电路的构成(与存储器译码相似) 设计译码电路的方法 片内译码和片选译码,I/O译码电路的作用,将CPU执行IN/OUT指令发出的信号,“翻译”成欲操作端口的选通信号,此信号常作为接口内三态门或锁存器的控制信号,接通或断开接口数据线与系统的连接,IN指令时序,OUT指令时序,设计译码电路的方法,根据端口地址确定地址信号A15A0的条件取值,用门电路、译码器及组合、PLD/GAL实现满足条件情况的电路 设计I/O译码电路时: 端口的选通信号通常为低电平有效, 除端口的地址信号参加译码外,控制信号IOW、IOR (IO/M、 AEN也可参加译码,译 码

12、 电 路,A0 A1 A14 A15 IOR IOW AEN,例:设计端口地址为218H的译码电路,分析 CPU执行IN/OUT指令时,发出端口的地址信号 MOV DX, 218H IN AL, DX 或 OUT DX, AL 对应218H端口的地址信号为(只取A9A0): 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 只要满足此地址取值的译码电路均可,方法一、用门电路实现218H的地址译码,译码电路部分满足: 只当地址信号A9 A0为: A9A8A7A6A5A4A3A2A1A0 1 0 0 0 0 1 1

13、 0 0 0 即218H时,输出“0 ” , 使I/O接口的/CS有效, 否则输出“1 ”,使I/O接口的/CS无效,地址重叠现象,注意译码电路中: 由于高位地址线A15A10 未参与译码, 即: 地址A15A0为: 10 0001 1000 均能输出“0 ”低电平, 所以该电路使: 一个端口对应多个地址 共26=64个 218,618, A18,E18,等等,实现电路,数 据 线 DB,RD,WR,CS,端口 译码 电路,0,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 AEN IOR IOW,I/O接口,IO总线,D0 D7,D0 D7,1 0 0 0 0 1 1 0 0 0

14、 0,74LS30,5V,74LS20,1,0,0,74LS32,74LS30为 8 输入与非门 74LS20为 4 输入与非门 74LS32为 2 输入或门 当地址信号为: A9A8A7A6A5A4A3A2A1A0 0 0 0 0 1 1 0 0 0 即地址为 218H 或门74LS32输出“0 ” , 使I/O接口的CS有效,方法二、用译码器、门电路组合实现地址译码,74LS138 3-8译码器,A Y0 B Y1 C Y2 G1 Y3 Y4 G2A Y5 Y6 G2B Y7,0 0 0 0 1 1 0 0 0 0 1 0 0,A0 A1 A2 AEN A3 A4 A5 A6 A7 A8

15、A9 IOR IOW,IO总线,CS,D0 D7,数 据 线 DB,D0 D7,端口 译码电路,I/O接口,当端口地址信号为: A9 A8 A7 A6 A5 1 0 0 0 0 A4 A3 A2 A1 A0 1 1 0 0 0 即 218H时, Y0输出0, 使I/O接口的CS有效,74LS138译码器功能表,74LS138 3-8译码器,思考:Y2Y7译出的端口地址各是多少,219H 21AH 21BH 21CH 21DH 21EH 21FH,218H,思考2,将A0与A2位置互换,Y0Y7译出的地址各是多少,74LS138 3-8译码器,A Y0 B Y1 C Y2 G1 Y3 Y4 G2

16、A Y5 Y6 G2B Y7,0 1 1 0 0 0 0 1 0 0,端 口 译码电路,A2 A1 A0 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW,IO 总 线,I/O地址的译码方法小结,I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点: 部分译码时,通常是中间地址线不连接 部分译码也有最低地址线不连接的情况 每个接口电路通常只占用几个I/O地址,这时可以利用基本逻辑门电路进行地址译码 除采用译码器、门电路进行译码外,I/O地址译码还经常采用可编程逻辑器件PLD 为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码,IBM

17、 PC/XT主机板的I/O译码电路,Y0 Y1 Y2 Y3 Y4 Y5,Y6 Y7,A5 A6 A7,A8 A9 AEN,IOW,A B C,G2B G2A G1,74LS138,DMA CS(8237) INTR CS(8259) T/C CS(8253) PPI CS(8255,WRTDMAPG (写DMA页面寄存器,WRTNMIREG (写NMI屏蔽寄存器,数据传送方式,程序控制下的数据传送通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送、中断传送 直接存储器存取(DMA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线

18、来完成外设和存储器间的数据传送 I/O处理机CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理,无条件传送方式及其接口,在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送 适合于简单设备,如LED数码管、按键或按纽等 无条件传送的接口和操作均十分简单 这种传送有前提:外设必须随时就绪,无条件传送流程,其它功能,用IO指令传输数据 (out 数据端口,al) (in al,数据端口,其它功能,IO设备,接口电路 数据端口,数据,CPU,数据,无条件传送:输入示例,无条件传送:输入示例,无条件传送:输出

19、示例,数据锁存器,CS,D7D0,A15A1,A0,0160H,地址译码器,无条件传送:输出实例,无条件传送:输入输出接口,K7,K1,K0,5V,D0D7,A0A15,CLK,LS06 反相 驱动器,LS273 8D 锁存器,LS244 三态 缓冲器,8000H,译码,5V,LED0,LED7,查询传送方式及其接口,CPU需要选了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出 对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换 查询传送的特点是:工作可靠,适用面宽,但传送效率低,查询传送的两个环节,查询环节 寻址状态口 读

20、取状态寄存器的标志位 若不就绪就继续查询,直至就绪 传送环节 寻址数据口 是输入,通过输入指令从数据端口读入数据 是输出,通过输出指令向数据端口输出数据,查询传送流程,其它功能,从状态口读入状态信息 (In a1, 状态端口,数据准备好? (Cmp a1,某数,用I/O指令传输数据 (Out 数据端口 ,a1 ) (In a1 , 数据端口,其它功能,CPU,状态端口,I/O设备,接口电路,BUSY,BUSY,外设正忙,数据端口,查询传送流程,其它功能,从状态口读入状态信息 (In a1, 状态端口,数据准备好? (Cmp a1,某数,用I/O指令传输数据 (Out 数据端口 ,a1 ) (I

21、n a1 , 数据端口,其它功能,状态端口,I/O设备,接口电路,CPU,BUSY,BUSY,外设正忙,数据端口,数据端口,数据,I/O设备,数据,查询传送流程,其它功能,从状态口读入状态信息 (In a1, 状态端口,数据准备好? (Cmp a1,某数,用I/O指令传输数据 (Out 数据端口 ,a1 ) (In a1 , 数据端口,其它功能,状态端口,接口电路,CPU,BUSY,READY,READY,外设空闲,查询输入接口,5V,8D 锁存器,8位 三态 缓冲器,译码,1位 三态 缓冲器,R,Q,A0A15,8000H,8001H,D0D7,D0,D,输入 设备,查询输入接口,mov d

22、x,8000h ;DX指向状态端口 status: in al,dx ;读状态端口 test al,01h ;测试标志位D0 jz status ;D00,未就绪,继续查询 inc dx ;D01,就绪,DX指向数据端口 in al,dx ;从数据端口输入数据,查询输出接口,8D 锁存器,译码,1位 三态 缓冲器,R,Q,A0A15,8000H,8001H,D0D7,D7,D,5V,输出 设备,查询输出接口,mov dx,8000h;DX指向状态端口 status: in al,dx ;读取状态端口的状态数据 test al,80h ;测试标志位D7 jnz status ;D71,未就绪,继

23、续查询 inc dx ;D70,就绪,DX指向数据端口 mov al,buf ;变量buf送AL out dx,al ;将数据输出给数据端口,资料,端口(PORT,端口泛指I/O地址,通常对应接口电路的寄存器 一个接口电路可以具有多个I/O端口(寄存器),每个端口用来保存和交换不同的信息 数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息 输入、输出端口可以是同一个I/O地址,就绪(Ready,在输入场合 “就绪”说明输入接口已准备好送往CPU的数据,正等着CPU来读取 该状态也可用接口中数据缓冲器已“满”来描述 在输出场合 “就绪”说明输出接口已做好准备,等

温馨提示

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

评论

0/150

提交评论