900 likes | 1.08k Views
第七章 输入输出接口. 7-1 输入输出数据传送方式 7-2 并行接口 7-3 并行接口 8255A 7-4 串行接口与串行通信 7-5 串行接口 8251A 第七章 小结 第七章 思考题. 通过对本章的学习, 您应该能够达到下列要求 : 描述接口与 CPU 和外设的信号 说明接口中主要的端口的作用 说明程序传送方 式的类型与原理 说明中断传送方 式原理 说明 DMA 原理 8255/8251 的应用. 学习目的. 接口就是 CPU 与外界的连接部件,是 CPU 与外界交换信息的中转站。 原始数据通过接口由输入设备送进去
E N D
第七章 输入输出接口 7-1 输入输出数据传送方式 7-2 并行接口 7-3 并行接口8255A 7-4 串行接口与串行通信 7-5 串行接口8251A 第七章 小结 第七章 思考题
通过对本章的学习,您应该能够达到下列要求:通过对本章的学习,您应该能够达到下列要求: 描述接口与CPU和外设的信号 说明接口中主要的端口的作用 说明程序传送方式的类型与原理 说明中断传送方式原理 说明DMA原理 8255/8251的应用 学习目的
接口就是CPU与外界的连接部件,是CPU与外界交换信息的中转站。接口就是CPU与外界的连接部件,是CPU与外界交换信息的中转站。 原始数据通过接口由输入设备送进去 运算结果通过接口由输出设备送出来 控制命令通过接口发出去 现场数据通过接口从输入设备送进去 7-1、微机的输入输出方式
一)、数据信息 1、数字量 2、模拟量 3、开关量 4、脉冲量 二)、状态信息 反映当前外设所处的工作状态。 三)、控制信息 CPU 通过接口向外设传送控制信息。 7-1-1、CPU和I/O设备之间的信号
一个接口有几个寄存器,不同类型的信息进入不同的寄存器,一般称这些寄存器为端口。一个接口有几个寄存器,不同类型的信息进入不同的寄存器,一般称这些寄存器为端口。 1、 I/O端口寻址方式 直接寻址(0~FFH): I N AL , 80H OUT 83H, AL 间接寻址(0000H~FFFFH) I N AL, DX OUT DX, AL 接口部件的I/O端口
2、端口 1)、数据端口 2)、状态端口 3)、控制端口
程序传送方式 中断传送方式 DMA方式 7-1-2、输入输出的控制方式
一、程序传送方式 由程序控制CPU与外设之间的数据交换。 1)、无条件传送方式 外设已准备好,不查询外设的状态 输入时,外设的数据已送到三态缓冲器。 输出时,CPU的输出信息已送到输出锁存器的输入端。
数据 输出端口 选中地址 写信号 输入端口 读信号 7-2、无条件传送
M/IO有效 1、执行输入指令时,例:IN AL,80H, RD信号有,M/IO=0,输入三态缓冲器,被选通,已准备好的数据进入数据总线,送到AL. 2.执行输入指令时, 读信号有效 80H
例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
2、条件(查询)传送方式 程序测试外 设的状态,若满足,传送, 不满足,等待。 数据传送过程: 1)、CPU从接口读取状态字; 2)、CPU检测状态字的对应位是否满足“就绪” 条件,如果不满足,回到第一步读取状态 字; 3)、如状态字表明外设已处于“就绪”状态,则 传送数据。
查询部分的程序: POLL:IN AL,S-PORT ;读入状态 TEST AL,40H ;检查忙标志 JNZ POLL MOV AL,STORE OUT D-PORT,AL ;输出数据 ……..
1).中断传送方式的原理 启动外设 外设准备好数据,发一个选通信号 外设向CPU发中断请求 CPU受到中断请求信号,暂停现行程序 CPU执行中断服务程序,执行输入输出操作 中断服务程序结束,返回原来程序 2、中断传送方式
1)、软件查询方式 在中断处理子程序的开始部份,安排一段带优先级查询的程序。 2)、简单硬件方式--菊花链电路 当一个设备发出中断请求信号INTR,若CPU允许中断,则回发中断应答信号INTA,INTA会由级别高的设备向级别低的设备传递。 2、中断优先级
3)、专用硬件方式 可编程中断控制器8259A。
1、查询式传送方式有什么优缺点? 中断方式为什么能弥补查询式传送方式 的缺点? 2、解决中断优先级的方法有哪些?各有什 么优缺点? 思考题
为什么要用DMA方式传送数据 什么是DMA方式 DMA传送原理 DMA控制器的工作特点 3、直接存储器存取方式(DMA)(Direct Memory Access)
查询方式传送数据: 查询时占用CPU时间 中断方式传数据: 比查询方式传送数据效率要高,但执行中断服务程序,CPU要保护断点、保护一些寄存器等操作,使CPU花费时间。 DMA方式 用专用接口电路直接和存储器进行数据传送。 (一)、为什么要用DMA方式传送数据
1、DMA控制器与其它接口电路的不同点: 具有接管和控制系统总线的功能,但在取得总线控制权之前,与其它接口芯片一样,受CPU的控制。 在DMA方式,DMA管理总线,控制 传送数据的开始与结束,传送的字节数, 传送的方向及地址。 (二)、DMA的传送原理
①能接受外设的请求,并能向CPU发DMA请求信号;①能接受外设的请求,并能向CPU发DMA请求信号; ②CPU接到DMA请求信号,如果允许,CPU发DMA响应信号,DMA控制器接管总线,进入DMA方式; ③能寻址存储器,并修改地址; ④能向外设发读/写信号; ⑤能控制传诵的字节数,判断DMA是否结束; ⑥DMA结束时,能向CPU发出结束信号,将总线控制权交还CPU; 2、DMA的功能:
1.接口应该具备那些端口?其功能? 2.CPU与外设传送数据,主要有哪些方式? 特点是什么? 3.简述无条件传送方式的原理. 4.简述查询式输入接口原理. 思考题
并行通信就是把一个字符的各数位用几条线进行传输。并行通信就是把一个字符的各数位用几条线进行传输。 和串行通信相比,在同样的传输率下,并行通信的信息实际传输速度快,信息率高。 实现并行通信的接口就是并行接口。 一个并行接口可以设计为只用来作为输出接口,也可以只用来作为输入接口,此外,还可以将它设计成既作为输入又作为输出的接口。 §7-2 并行通信和并行接口
一个控制寄存器 ,用来接收CPU对它的控制命令。一个状态寄存器,提供各种状态位供CPU查询。输入缓冲寄存器和输出寄存器,实现实现输入和输出。 1.输入过程
8255A是INTER系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片的工作方式。 7-3-1、8255A的内部结构 1.数据端口A、B、C 2.A组控制和B组控制 3.读/写控制逻辑电路 4.数据总线缓冲器 §7-3 可编程并行通信接口8255A
RESET:复位信号,低电平有效。 D7~D0 :和数据线相连。 CS :芯片选择信号,低电平有效。 RD :芯片读出信号,低电平有效。 WR :芯片写入信号,低电平有效。 A1、A0:端口选择信号。 A1、A0=00,选中端口A; A1、A0=01,选中端口B; A1、A0=10,选中端口C; A1、A0=11,选中控制端口; 4.读写控制信号
一.控制字:分为两类。 芯片各端口的方式选择控制字,它可以使8255A的3个数据端口工作在不同的工作方式。 C端口按位置1/0控制字,它可以使C端口中的任何一位进行置位或复位。 8255A的3种基本工作方式: 方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向的传输方式 7-3-2、 8255A的控制字
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控制字
例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口 低位 不用
注意: ① 端口A可以工作在3种工作方式中的任意一种; ②端口B只能工作在方式0或方式1; ③端口C被分为高4位和低4位,可以分别工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式.
例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的操作
1.方式0--基本输入输出方式 ① 任何一个端口可以作为输入口,也可以作为输出口,各端口之间没有规定必须的关系。 ② 各个端口输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。 方式0使用场合 两种: 一种是同步传送, 另一种是查询式传送。 7-3-2.8255A的工作方式
数据输入输出要在选通信号控制下工作. 端口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——选通的输入输出方式
RD PA7~PA0 INTE A STBA PC4 PC5 IBFA PC3 INTRA PC6.PC7 I O A口方式1输入有关信号的规定 中断允许信号,INTE由STB(PC4)置“1”,INTR有效 选同信号输入端,低电平有效 输入缓冲区满信号,低电平有效 它是8255送往CPU的中断请求 信号,高电平有效。
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
① OBF(Output Buffer Full)输出缓冲器满信号,低电平有效。 ② ACK(Acknowledge):外设响应信号,它是由外设送给8255A的,低电平有效。 ③ INTR(Interrupt Request):中断请求信号,高电平有效。 ④ INTE(Interrupt Enable):中断允许信号。为1时,使端口处于中断允许状态,而为0时,使端口处于中断屏蔽状态。 2)方式1输出
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的 输出缓冲区满信号,低电平有效 中断请求信号
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输出有关信号的规定
3)方式1的使用场合 在采用中断方式进行输入/输出的场合,如果外部设备能为8255A提供选通信号或着数据接收应答信号,那么,通常使用8255A的端口工作方式1的情况。
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提供控制。
INTRA PC3 PA7 ~PA0 PC7 OBFA INTE1 PC6 ACKA INTE2 PC4 STBA WR RD PC5 IBFA PC2~PC0 I O 方式2的控制信号 输出缓冲区满信号 外设收到数据,发响应信号 外设准备好数据,发选通信号 8255A收到数据,向外设 发输入缓冲区满信号
例1、用8255A控制三个发光二极管依秩序循环显示。例1、用8255A控制三个发光二极管依秩序循环显示。 1、硬件设计: +5V 200 D7 ~D0 PA0 PA1 PA2 8255A A0 A1PB0 CS 8086 CPU 2K 译码器 地址线 +5V 7-3-3. 8255使用举例:
用8255A控制三个发光二极管显示。假设开关闭合时,点亮发光二极管,开管断开时息灭二极管。8255A的端口地址为:用8255A控制三个发光二极管显示。假设开关闭合时,点亮发光二极管,开管断开时息灭二极管。8255A的端口地址为: A 端口:0040H B 端口:0042H C 端口:0044H 控制口:0046H 试编写8255初始化程序段和控制三个发光二极管显示程序段。
开始 8255A初始化 N 启动? Y 1号亮 延时 返回DOS 2号亮 延时 3号亮 延时