1 / 90

第七章 输入输出接口

第七章 输入输出接口. 7-1 输入输出数据传送方式 7-2 并行接口 7-3 并行接口 8255A 7-4 串行接口与串行通信 7-5 串行接口 8251A 第七章 小结 第七章 思考题. 通过对本章的学习, 您应该能够达到下列要求 : 描述接口与 CPU 和外设的信号 说明接口中主要的端口的作用 说明程序传送方 式的类型与原理 说明中断传送方 式原理 说明 DMA 原理 8255/8251 的应用. 学习目的. 接口就是 CPU 与外界的连接部件,是 CPU 与外界交换信息的中转站。 原始数据通过接口由输入设备送进去

clint
Download Presentation

第七章 输入输出接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第七章 输入输出接口 7-1 输入输出数据传送方式 7-2 并行接口 7-3 并行接口8255A 7-4 串行接口与串行通信 7-5 串行接口8251A 第七章 小结 第七章 思考题

  2. 通过对本章的学习,您应该能够达到下列要求:通过对本章的学习,您应该能够达到下列要求: 描述接口与CPU和外设的信号 说明接口中主要的端口的作用 说明程序传送方式的类型与原理 说明中断传送方式原理 说明DMA原理 8255/8251的应用 学习目的

  3. 接口就是CPU与外界的连接部件,是CPU与外界交换信息的中转站。接口就是CPU与外界的连接部件,是CPU与外界交换信息的中转站。 原始数据通过接口由输入设备送进去 运算结果通过接口由输出设备送出来 控制命令通过接口发出去 现场数据通过接口从输入设备送进去 7-1、微机的输入输出方式

  4. 一)、数据信息 1、数字量 2、模拟量 3、开关量 4、脉冲量 二)、状态信息 反映当前外设所处的工作状态。 三)、控制信息 CPU 通过接口向外设传送控制信息。 7-1-1、CPU和I/O设备之间的信号

  5. 一个接口有几个寄存器,不同类型的信息进入不同的寄存器,一般称这些寄存器为端口。一个接口有几个寄存器,不同类型的信息进入不同的寄存器,一般称这些寄存器为端口。 1、 I/O端口寻址方式 直接寻址(0~FFH): I N AL , 80H OUT 83H, AL 间接寻址(0000H~FFFFH) I N AL, DX OUT DX, AL 接口部件的I/O端口

  6. 2、端口 1)、数据端口 2)、状态端口 3)、控制端口

  7. 程序传送方式 中断传送方式 DMA方式 7-1-2、输入输出的控制方式

  8. 一、程序传送方式 由程序控制CPU与外设之间的数据交换。 1)、无条件传送方式 外设已准备好,不查询外设的状态 输入时,外设的数据已送到三态缓冲器。 输出时,CPU的输出信息已送到输出锁存器的输入端。

  9. 数据 输出端口 选中地址 写信号 输入端口 读信号 7-2、无条件传送

  10. M/IO有效 1、执行输入指令时,例:IN AL,80H, RD信号有,M/IO=0,输入三态缓冲器,被选通,已准备好的数据进入数据总线,送到AL. 2.执行输入指令时, 读信号有效 80H

  11. 例1:输入:IN AL,80H;(80H)=10H 将80H端口的内容送AL。 IO/M=1,RD=0,AL=10H 例2:输出:OUT 82H,AL;AL=10H 将AL中的内容送82H端口。 IO/M=1,WR=0,(82H)=10H

  12. 2、条件(查询)传送方式 程序测试外 设的状态,若满足,传送, 不满足,等待。 数据传送过程: 1)、CPU从接口读取状态字; 2)、CPU检测状态字的对应位是否满足“就绪” 条件,如果不满足,回到第一步读取状态 字; 3)、如状态字表明外设已处于“就绪”状态,则 传送数据。

  13. 查询部分的程序: POLL:IN AL,S-PORT ;读入状态 TEST AL,40H ;检查忙标志 JNZ POLL MOV AL,STORE OUT D-PORT,AL ;输出数据 ……..

  14. 1).中断传送方式的原理 启动外设 外设准备好数据,发一个选通信号 外设向CPU发中断请求 CPU受到中断请求信号,暂停现行程序 CPU执行中断服务程序,执行输入输出操作 中断服务程序结束,返回原来程序 2、中断传送方式

  15. 1)、软件查询方式 在中断处理子程序的开始部份,安排一段带优先级查询的程序。 2)、简单硬件方式--菊花链电路 当一个设备发出中断请求信号INTR,若CPU允许中断,则回发中断应答信号INTA,INTA会由级别高的设备向级别低的设备传递。 2、中断优先级

  16. 7-8、(a) 、 (b)

  17. 3)、专用硬件方式 可编程中断控制器8259A。

  18. 1、查询式传送方式有什么优缺点? 中断方式为什么能弥补查询式传送方式 的缺点? 2、解决中断优先级的方法有哪些?各有什 么优缺点? 思考题

  19. 为什么要用DMA方式传送数据 什么是DMA方式 DMA传送原理 DMA控制器的工作特点 3、直接存储器存取方式(DMA)(Direct Memory Access)

  20. 查询方式传送数据: 查询时占用CPU时间 中断方式传数据: 比查询方式传送数据效率要高,但执行中断服务程序,CPU要保护断点、保护一些寄存器等操作,使CPU花费时间。 DMA方式 用专用接口电路直接和存储器进行数据传送。 (一)、为什么要用DMA方式传送数据

  21. 1、DMA控制器与其它接口电路的不同点: 具有接管和控制系统总线的功能,但在取得总线控制权之前,与其它接口芯片一样,受CPU的控制。 在DMA方式,DMA管理总线,控制 传送数据的开始与结束,传送的字节数, 传送的方向及地址。 (二)、DMA的传送原理

  22. DMA 的传送原理

  23. ①能接受外设的请求,并能向CPU发DMA请求信号;①能接受外设的请求,并能向CPU发DMA请求信号; ②CPU接到DMA请求信号,如果允许,CPU发DMA响应信号,DMA控制器接管总线,进入DMA方式; ③能寻址存储器,并修改地址; ④能向外设发读/写信号; ⑤能控制传诵的字节数,判断DMA是否结束; ⑥DMA结束时,能向CPU发出结束信号,将总线控制权交还CPU; 2、DMA的功能:

  24. 1.接口应该具备那些端口?其功能? 2.CPU与外设传送数据,主要有哪些方式? 特点是什么? 3.简述无条件传送方式的原理. 4.简述查询式输入接口原理. 思考题

  25. 并行通信就是把一个字符的各数位用几条线进行传输。并行通信就是把一个字符的各数位用几条线进行传输。 和串行通信相比,在同样的传输率下,并行通信的信息实际传输速度快,信息率高。 实现并行通信的接口就是并行接口。 一个并行接口可以设计为只用来作为输出接口,也可以只用来作为输入接口,此外,还可以将它设计成既作为输入又作为输出的接口。 §7-2 并行通信和并行接口

  26. 一个控制寄存器 ,用来接收CPU对它的控制命令。一个状态寄存器,提供各种状态位供CPU查询。输入缓冲寄存器和输出寄存器,实现实现输入和输出。 1.输入过程

  27. 2.输出过程

  28. 8255A是INTER系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片的工作方式。 7-3-1、8255A的内部结构 1.数据端口A、B、C 2.A组控制和B组控制 3.读/写控制逻辑电路 4.数据总线缓冲器 §7-3 可编程并行通信接口8255A

  29. RESET:复位信号,低电平有效。 D7~D0 :和数据线相连。 CS :芯片选择信号,低电平有效。 RD :芯片读出信号,低电平有效。 WR :芯片写入信号,低电平有效。 A1、A0:端口选择信号。 A1、A0=00,选中端口A; A1、A0=01,选中端口B; A1、A0=10,选中端口C; A1、A0=11,选中控制端口; 4.读写控制信号

  30. 一.控制字:分为两类。 芯片各端口的方式选择控制字,它可以使8255A的3个数据端口工作在不同的工作方式。 C端口按位置1/0控制字,它可以使C端口中的任何一位进行置位或复位。 8255A的3种基本工作方式: 方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向的传输方式 7-3-2、 8255A的控制字

  31. 1.方式控制字

  32. 2. 端口C置1/0控制字 D7 D6 D5 D4 D3 D2 D1 D0 0 1=置1 0=置0 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7 端口C 置1/0 控制字 图、端口C置1/0控制字

  33. 例1:设A端口工作方式0,输出,B端口工作于方式0,输入。例1:设A端口工作方式0,输出,B端口工作于方式0,输入。 方式选择控制字: 10 0 0 1/00 1 1/0 =10000010=82H A口方式0 B口输入 B口方式0 方式选择 A口输出 C口 高位 不用 C口 低位 不用

  34. 注意: ① 端口A可以工作在3种工作方式中的任意一种; ②端口B只能工作在方式0或方式1; ③端口C被分为高4位和低4位,可以分别工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式.

  35. 例2:设8255A的控制口地址为00EEH,要求对端口C的PC7置1,则控制字00001111B=0FH,要求对端口C的PC3置0,控制字为00000110B=06H。例2:设8255A的控制口地址为00EEH,要求对端口C的PC7置1,则控制字00001111B=0FH,要求对端口C的PC3置0,控制字为00000110B=06H。 下面的程序可以实现上述要求: MOV AL , 0FH ;对PC7置1的控制字 MOV DX , 00EEH ;控制口地址送DX OUT DX , AL ;对PC7置1操作 MOV AL , 06H ;对PC3置0的控制字 OUT DX , AL ;对PC3进行置0的操作

  36. 1.方式0--基本输入输出方式 ① 任何一个端口可以作为输入口,也可以作为输出口,各端口之间没有规定必须的关系。 ② 各个端口输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。 方式0使用场合 两种: 一种是同步传送, 另一种是查询式传送。 7-3-2.8255A的工作方式

  37. 数据输入输出要在选通信号控制下工作. 端口A和端口B可以分别作为两个数据口工作于方式1,并且,任何一个端口可以为输入口或输出口。 1)方式1输入:A口控制信号的定义: D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 1 1/0 PC4.PC5 1=输入 0=输出 方式1 端口A输入 2. 方式1——选通的输入输出方式

  38. RD PA7~PA0 INTE A STBA PC4 PC5 IBFA PC3 INTRA PC6.PC7 I O A口方式1输入有关信号的规定 中断允许信号,INTE由STB(PC4)置“1”,INTR有效 选同信号输入端,低电平有效 输入缓冲区满信号,低电平有效 它是8255送往CPU的中断请求 信号,高电平有效。

  39. D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 端口B输入 方式1 图1:B口方式1输入有关信号的规定 中断允许信号,INTE由STB(PC2)置“1”,INTR有效 RD PB7~PB0 选同信号输入端,低电平有效 INTE B PC2 STBB 输入缓冲区满信号,低电平有效 PC1 IBFB 它是8255送往CPU的中断请求 信号,高电平有效。 PC0 INTRB

  40. ① OBF(Output Buffer Full)输出缓冲器满信号,低电平有效。 ② ACK(Acknowledge):外设响应信号,它是由外设送给8255A的,低电平有效。 ③ INTR(Interrupt Request):中断请求信号,高电平有效。 ④ INTE(Interrupt Enable):中断允许信号。为1时,使端口处于中断允许状态,而为0时,使端口处于中断屏蔽状态。 2)方式1输出

  41. D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 0 1/0 PC4.PC5 1=输入 0=输出 方式1 端口A输出 WR PA7~PA0 INTE A ACKA PC6 PC7 OBFA INTRA PC3 PC4.PC5 I O 图:A口方式1输出有关信号的规定 中断允许信号,INTE由PC6(ACKA)置“1”,INTR有效 外设响应信号,是外设送给8255A的 输出缓冲区满信号,低电平有效 中断请求信号

  42. D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 端口B输出 方式1 WR PC7~PC0 INTE B PC2 ACKB PC1 OBFB PC0 INTRB 中断允许信号,INTE由ACKB(PC2)置“1”,INTR有效 外设响应信号,是外设送给8255A的 输出缓冲区满信号,高电平有效 中断请求信号 B口方式1输出有关信号的规定

  43. 3)方式1的使用场合 在采用中断方式进行输入/输出的场合,如果外部设备能为8255A提供选通信号或着数据接收应答信号,那么,通常使用8255A的端口工作方式1的情况。

  44. D7 D6 D5 D4 D3 D2 D1 D0 1 1 端口A方式 B组方式 0=方式0 1=方式1 PC7~PC0 1=输入 0=输出 端口B 1=输入 0=输出 3.方式2——双向传输方式 ①方式2只适用于端口A ②端口A工作于方式2时,端口C用5个数位自动配合端口A提供控制。

  45. INTRA PC3 PA7 ~PA0 PC7 OBFA INTE1 PC6 ACKA INTE2 PC4 STBA WR RD PC5 IBFA PC2~PC0 I O 方式2的控制信号 输出缓冲区满信号 外设收到数据,发响应信号 外设准备好数据,发选通信号 8255A收到数据,向外设 发输入缓冲区满信号

  46. 例1、用8255A控制三个发光二极管依秩序循环显示。例1、用8255A控制三个发光二极管依秩序循环显示。 1、硬件设计: +5V 200 D7 ~D0 PA0 PA1 PA2 8255A A0 A1PB0 CS 8086 CPU 2K 译码器 地址线 +5V 7-3-3. 8255使用举例:

  47. 用8255A控制三个发光二极管显示。假设开关闭合时,点亮发光二极管,开管断开时息灭二极管。8255A的端口地址为:用8255A控制三个发光二极管显示。假设开关闭合时,点亮发光二极管,开管断开时息灭二极管。8255A的端口地址为: A 端口:0040H B 端口:0042H C 端口:0044H 控制口:0046H 试编写8255初始化程序段和控制三个发光二极管显示程序段。

  48. 开始 8255A初始化 N 启动? Y 1号亮 延时 返回DOS 2号亮 延时 3号亮 延时

More Related