微机原理与接口技术 第6章 并行输入输出接口(8255A)

Slides:



Advertisements
Similar presentations
第6章 微型计算机和外设之间的 数据传输.
Advertisements

第五章 微型计算机和外设的数据传输 5.1 为什么用接口电路? 5.2 CPU和I/O设备之间的信号; 5.3 接口部件的I/O端口;
实验四 利用中规模芯片设计时序电路(二).
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第10章 FPGA硬件设计 <EDA技术与应用> 课程讲义
第5章 输入输出与接口技术.
第5章 输入输出与接口技术.
第五章 总线 及其形成 本节课之前,大家学习了:
第一章 绪论.
第 6 章 I/O 接口和总线 中国科学技术大学 何克东.
第7章 常用数字接口电路.
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
第三节 CPU与外设间的数据传送方式 CPU与外设的工作速度不一致, 如何使两者高效、可靠地进行数据传送, 是本节讨论的问题。
第 11 章.
第六章 输入/输出接口 6.1 输入/输出接口概述 6.2 I/O指令和地址译码 6.3 PC系统总线(放到本章后面详细讲述)
第八章 数据通信.
第8章 AT89S52单片机外部 存储器的扩展 1.
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
简单芯片扩展I/O接口 8255可编程接口芯片及其使用 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
微型机系统与接口技术复习.
第七章 MCS-51系统扩展 一、程序存储器扩展
第9章 AT89S52单片机的 I/O扩展 1.
第5章 输入输出与接口技术.
第三章 微机基本系统的设计 第一章 8086程序设计 第二章 MCS-51程序设计 第四章 存贮器与接口 第五章 并行接口
第6章 基本输入输出接口技术 【本章提要】 【学习目标】
第 14 章 并行通信及其接口电路.
第七章 MCS-51并行口的扩展 MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展.
第 9 章 可编程外围接口芯片 8255A 中国科学技术大学 何克东.
第七章 输入和输出 第一节 I/O接口 第三节 可编程DMA控制器8237A 第二节 CPU与外设数据传送的方式.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
第七章 可编程并行接口8255A §7.1并行接口的概述 §7.2 可编程并行接口8255A § A的0方式及其应用
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
第7章 微型机接口技术 可编程定时/计数器 可编程并行接口 串行接口与串行通信(概念) DMA控制器接口(不做要求) 模拟量输入/输出接口.
DM8148与DM8127 ISS框架讲解 广州创龙电子科技有限公司
逆向工程-汇编语言
DMA与DMA控制器 DMA(Direct Memory Access)的概念 DMA方式不用处理器干预完成M与I/O间数据传送。
CPU结构和功能.
第5章 单片机应用系统的扩展 5.1 单片机扩展的基本概念 5.2 存储器的扩展 5.2 I/O接口扩展电路设计.
第11章 基本I/O接口 罗文坚 中国科大 计算机学院
第6章作业 3、 需要128块芯片 片内译码地址线:10条 片选择地址线:至少4条
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
第五章:输入输出基本技术 主讲教师:范新民.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
C语言程序设计 主讲教师:陆幼利.
8.4 ADC0809接口电路及程序设计.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
可编程定时计数器.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
微机原理及应用 主讲:郑海春.
第7章 输入输出接口.
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
微型计算机技术 教 学 指 导(五) 太原广播电视大学 郭建勇.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月04日.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
HSC高速输出例程 HORNER APG.
2. MCS-51单片机的组成及结构分析 2.1 MCS-51单片机的内部结构及结构特点
第六章 I/O接口 一、I/O接口的功能 第一节 概 述 一、I/O 接口的功能 二、I/O接口的一般结构 第二节 输入输出寻址方式和指令
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
信号发生电路 -非正弦波发生电路.
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
Presentation transcript:

微机原理与接口技术 第6章 并行输入输出接口(8255A) 黄强 深圳大学 信息工程学院

本章内容位于 书本P330—P340

第一节 并行接口的基本概念 一、并行通信和串行通信 二、并行接口概述

通信指计算机与外设、计算机与计算机间的信息交换 一、并行通信和串行通信 通信指计算机与外设、计算机与计算机间的信息交换 通信的基本方法: 并行通信和串行通信

并行通信 并行通信适于短距离、高速通信 将数据的各位同时在多根并行传输线上进行传输。 数据的各位同时由源到达目的地 → 快 D0 D1 D2 D3 D4 D5 D6 D7 目 的 源 1 数据的各位同时由源到达目的地 → 快 多根数据线 → 距离短、远程费用高 并行通信适于短距离、高速通信

串行通信 串行通信适于长距离、中低速通信 将数据的各位按时间顺序依次在一根传输线上传输。 0 1 1 0 1 0 1 0 RD 目 的 TD 源 0 1 1 0 1 0 1 0 数据的各位依次由源到达目的地 → 慢 数据线少 → 远程, 费用低 串行通信适于长距离、中低速通信

二、并行接口概述 并行接口连接CPU与并行外设,实现 两者间的并行通信, 在信息传送过程中,起到输出锁存或输入缓冲的作用。 并行接口的典型硬件结构包括: 1、一个或一个以上具有锁存或缓冲的数据端口 2、与CPU进行数据交换所必须的控制和状态信号 3、与外设进行数据交换所必须的控制和状态信号 4、端口译码电路 5、控制电路

并行接口连接外设示意图

输入过程  外设将数据=>接口 →状态线“数据输入准备好”=1; →接口把接收到数据输入缓冲寄存器;  外设将数据=>接口 →状态线“数据输入准备好”=1; →接口把接收到数据输入缓冲寄存器; →数据输入回答=1,作为对外设响应信号; →外设撤消“数据”和“数据输入准备好”信号;  CPU从接口读取数据 →接口收到数据,设置“输入准备好”状态位; →供给CPU查询 或问CPU发中断请求; → CPU从接口读取数据, 接口自动清除状态寄存器输入准备好状态位(准备好); →数据总线处于高阻状态。开始下一个输入过程

输出过程 输出 :每当外设从接口取走一个数据以后,  CPU往接口中输出数据 →接口中状态寄存器发中断请求; →接口自动清除“输出准备”好。  将数据送往外设: 接口向外设发送一个“驱动信号”,启动外设接收数据。 →外设收到数据向接口发一个“数据输出回答”信号; →接口收到的信号将状态寄存器中“输出准好”=1; → CPU输出下一个数据。

可编程并行接口的工作方式和功能: 不可编程并行接口和可编程并行接口 是由硬件接线决定,不能用软件来控制。 可用软件编程的方法改变, 不可编程并行接口的工作方式和功能: 是由硬件接线决定,不能用软件来控制。 可编程并行接口的工作方式和功能: 可用软件编程的方法改变, 使接口具有更大的灵活性和通用性。

例 在80X86系列中使用8255A芯片 不同的产品系列研制出与之相匹配的接口芯片。 在并行接口芯片中, 在Z80系列中使用Z80-PIO芯片 在6800系列中使用MC6820PIA芯片 一般情况下不交叉使用,因为: 只有本系列的芯片才能更好地保证时序上的配合, 和各种功能的发挥,使CPU可靠与外设交换信息。

第二节 可编程并行接口8255A 一、8255A的引脚、编程结构 二、8255A的控制字 三、8255A三种工作方式

8255A 一、8255A引脚、编程结构 Intel系列的8位并行接口芯片 通用性强,使用灵活 可用程序设置和改变芯片的工作方式 PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB3 Intel系列的8位并行接口芯片 通用性强,使用灵活 可用程序设置和改变芯片的工作方式 是一种典型的可编程并行接口芯片 40个引脚,双列直插式

外 设 8255A 总线 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设 8255A 总线

外 设 1. 数据端口 A、B、C 8255A 每个端口8位,通过编程设定其为输入口或输出口 可用来和外设传送信息 端口A 端口C 端口B reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设 8255A 总线

外 设 端口A 8255A 有 3 种工作方式( 方式 0、方式 1、方式 2) 对外 8 根引脚 PA7 ~ PA0 端口A 端口C reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设 8255A 总线

端口B 外 设 8255A 有 2 种工作方式:方式 0、方式 1 对外 8 根引脚 PB7 ~ PB0 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设 8255A 总线

外 设 8255A 端口C 对外引脚PC0 ~ PC7 端口A 端口B 控制口 D 总线 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口B +5V GND 外 设 8255A 总线

外 设 当端口 A 在方式 1 或方式 2、端口 B 在方式 1 时, 端口 C 的某些位用于传送联络信号, 以适应CPU与外设间的各种数据传送方式的要求, 如查询传送的应答信号、中断传送的中断申请信号等; C口未被用作联络信号的其它位可工作在方式 0。 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

外 设 2. 控制端口D (A组和B组控制电路)  8位端口,无对外引脚  控制端口的内容决定A口、B口、C口的工作状态(输入或输出)  8位端口,无对外引脚  控制端口的内容决定A口、B口、C口的工作状态(输入或输出) 和工作方式(方式 0、1、2), 起控制作用。 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

外 设 3. 数据总线缓冲器(引脚D0~D7)  由1个8位双向三态缓冲器构成  8255A内各端口通过数据缓冲器与系统总线相连。 CPU与端口A、B、C间传送的数据, 以及CPU写入控制端口D中的控制字均通过数据缓冲器传送。 3. 数据总线缓冲器(引脚D0~D7) reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

外 设 4. 读写控制电路 (引脚CS、 RD、 WR)  控制数据总线缓冲器的状态。 数据总线缓冲器有3种状态:输入、输出、高阻态 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

外 设 端口A 端口C 端口B 控制口 D reset 数据 缓冲器 读写 控制 片选 译码 片内 +5V GND PA7 PA0 PC7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 RESET PC7 PC0 PB7 PB0 控制口 D 端口A 端口C 端口B +5V GND 外 设 RD WR CS PA7 PA0

外 设 5. 片内译码电路 (引脚A1、 A0) 选择被操作的端口 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

外 设 端口A 端口C 端口B 控制口 D reset 数据 缓冲器 读写 控制 片选 译码 片内 +5V GND PA7 PA0 PC7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 RESET PC7 PC0 PB7 PB0 控制口 D 端口A 端口C 端口B +5V GND 外 设 RD WR CS PA7 PA0

由CS、A1、A0、RD、WR引脚的不同组合, 实现各种不同的功能。      

1.方式控制字 2. C口按位置位/复位控制字 二、8255A的控制字

外 设  8255A控制口D的内容对数据端口A、B、C起控制作用, 故称为8255A的控制字。 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

例 假设8255A 控制端口的地址为Port_Ctrl,  通过编程向控制口写入不同的控制字, 可灵活的改变端口A、B、C的工作状态和工作方式。 例 假设8255A 控制端口的地址为Port_Ctrl, 8255A控制口的内容为CtrlData 设置控制字的程序段如下: MOV DX,Port_Ctrl ;置DX为控制口地址 MOV AL,CtrlData ;置控制字于AL中 OUT DX, AL ;将控制字写入控制口

D7=1, 方式控制字 D7=0 , C口按位置位/复位控制字  8255A有两种控制字,由写入内容的D7位区分: 设定A口、B口、C口的工作状态和工作方式。 工作状态:输入或输出 工作方式:方式 0、方式 1、方式 2 D7=0 , C口按位置位/复位控制字 使C口中的某一位为1(置位)或0(复位)。

外 设 1. 方式控制字 设定A口、B口、C口的工作状态和工作方式。 工作状态:输入或输出 工作方式:方式 0、方式 1、方式 2 端口A reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

方 式 控 制 字 各 位 含 义 B口 0 输出 1 输入 0 方式0 1 方式1 1 D7 D6 D5 D4 D3 D2 D1 D0 PC3~PC0 B口工作方式 PC7~PC4 A口 A口工作方式 00 方式0 01 方式1 1x 方式2 方 式 控 制 字 各 位 含 义

例 8255A与系统的连线如下, 片选译码地址为F0~F3h 1) 确定各端口地址; 2) 编程设置8255A : A口方式 0 输入,PC7~PC4输出 B口方式 0 输出,PC3~PC0输入 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 RESET PC7 PC0 PB7 PB0 控制口 D 端口A 端口C 端口B +5V GND 外 设 RD WR CS PA7 PA0 F0~F3h

1) 确定端口地址 由8255A编程结构知: 由8255A的CS与系统总线的连线知, 地址在F0~F3h可使CS有效,故: A7 A6 A5 A4 A3 A2 A1 A0 F0H 1 1 1 1 0 0 0 0 A口 F1H 1 1 1 1 0 0 0 1 B口 F2H 1 1 1 1 0 0 1 0 C口 F3H 1 1 1 1 0 0 1 1 D口 CS A1 A0 8255A 总线 最后得出结论: A口地址为 F0 H B口地址为 F1 H C口地址为 F2 H D口地址为 F3 H

2) 确定方式控制字 要求设置: A口方式0输入,PC7~PC4输出 B口方式0输出,PC3~PC0输入 2) 确定方式控制字 1 D7 D6 D5 D4 D3 D2 D1 D0 特征位 A口 方式 0 输入 PC7~PC4 输出 B口 PC3~PC0 要求设置: A口方式0输入,PC7~PC4输出 B口方式0输出,PC3~PC0输入 所以,方式控制字为 1001 0001B,即91H

或 MOV AL, 91H ; 方式控制字 设置方式控制字的程序段为: MOV DX, 0F3H ;控制口地址 OUT DX, AL 或 MOV AL, 91H ; 方式控制字 OUT 0F3H, AL

2. C口按位置位/复位控制字 作用是: 使C口中的某一位为1(置位)或0(复位); 或在A口、B口采用中断方式时,

C口按位置位/复位控制字各位含义: 0 复位 1 置位 D7 D6 D5 D4 D3 D2 D1 D0 设置内容 特征位,D7=0 D7 D6 D5 D4 D3 D2 D1 D0 设置内容 特征位,D7=0 表示是C口按位 置位/复位控制字 无意义 选择设置位 C口按位置位/复位控制字各位含义:

例 连线如上例, 通过控制口置 PC2 为 0,置 PC4 为 1 MOV DX,0F3H ;置DX为控制口地址 例 连线如上例, 通过控制口置 PC2 为 0,置 PC4 为 1 MOV DX,0F3H ;置DX为控制口地址 MOV AL,0000 0100B ;置PC2为0 OUT DX, AL MOV AL,0000 1001B ;置PC4为1

三、8255A的工作方式 1. 三种工作方式 2. 方式0 3. 方式1 4. 方式2

1. 三种工作方式 A口和B口之间没有硬件关系, 即可分别作为独立的输入或输出端口; C口和A口,C口和B口之间有硬件联系, 通过向控制口设置控制字可以改变这种联系。

外 设 8255A 总线 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设 8255A 总线

根据A口和C口、B口和C口之间硬件关系的不同, 可以有三种不同的工作方式, 分别称为方式 0、方式 1、方式 2。 方式 0: 与C口之间没有硬件联系。 方式 1: C口的某3根引脚作为端口与外设的联络信号。 方式 2: C口的某5根引脚作为端口与外设的联络信号。

1. 方式0(基本输入输出方式) 外 设 B口工作在方式 0 时,B口和C口之间没有硬件联系 端口A 端口C 端口B 控制口 D reset  A口工作在方式 0 时,A口和C口之间没有硬件联系 B口工作在方式 0 时,B口和C口之间没有硬件联系 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

由方式控制字决定是输入还是输出。 作为输出口相当于普通的锁存器 实现CPU与外设间的数据传送。 1 1/0 特征位 A口 工作方式 I/O 工作在方式 0 的端口,为单向传送端口, 由方式控制字决定是输入还是输出。 1 1/0 特征位 A口 工作方式 I/O PC7~PC4 B口 PC3~PC0 工作在方式 0 的端口: 作为输入口相当于普通的三态门 作为输出口相当于普通的锁存器  CPU可利用方式 0 下的端口,直接对端口进行读写操作, 实现CPU与外设间的数据传送。

方式 0 输入 方式0输入(IN AL,PORT) 框图 三态缓冲器 地址译码器 & 数据 来自外设 8 IO/ M RD 数据总线 地址总线

输入数据 CS , A D -- D 方式0 输入 ( IN AL,PORT ) 时序 数据有效 1 7 t RD DF RA HR RR IR AR 输入数据 CS , A 1 D 7 -- D

方式0输入时序基本情况:  外设的数据已经准备好,数据存入接口数据寄存器,  CPU执行一条 (IN AL,PORT)指令从8255A读取数据,  I/O读周期,8088CPU与8255A在时序上不能很好配合, 需要CPU插入一个等待状态。

方式0输出 方式0输出(OUT PORT,AL) 框图: 8 数据总线 锁存器 8 地址译码器 地址总线 到外设 CE IO/ M & WR

方式0输出 (OUT PORT, AL)时序 WR 输出数据 CS , A D -- D 数据有效 t WA WW AW WR 输出数据 CS , A 1 D 7 -- D DW WD WB I/O写周期,8088CPU与8255A在时序上不能很好配合, 需要CPU插入一个等待状态。

外 设 2. 方式1(选通输入输出方式)  B口工作在方式1时, C口的某3根引脚作为B口的联络信号。 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

工作在方式 1 的端口,为单向传送端口。 由方式控制字决定是输入还是输出。 1 1/0 D7 D6 D5 D4 D3 D2 D1 D0 1/0 D7 D6 D5 D4 D3 D2 D1 D0 特征位 A口 工作方式 I/O PC7~PC4 B口 PC3~PC0

在方式 1 下,C口作为A口、B口联络信号的引脚, 其动作关系在芯片设计和制造时已固定, 不由用户自己安排,也不能编程改变。 不受方式控制字的控制。该出则出,该入则入。 不受C口按位置位/复位控制字控制, 即对这些位的置位/复位不影响这些引脚信号。 1 1/0 特征位 A口 工作方式 I/O PC7~PC4 B口 PC3~PC0

利用方式 1 下的联络信号, 可方便地实现查询或中断方式的硬件设计, 使CPU能够有效、可靠地与外设进行数据传送。  A口、B口在输入或输出不同的工作状态时, C口联络信号的引脚和意义也不同。

方式1下输入端口的联络信号 1 A口方式1输入控制字 B口方式1输入控制字 D7~D0 D7~D0 PA7~PA0 PB7~PB0 A口方式1输入控制字 B口方式1输入控制字 D7~D0 D7~D0 PA7~PA0 PB7~PB0 INTEA PC4 INTEB PC2 PC4 STBA INTRA PC2 STBB PC5 IBFA PC1 IBFB 与门 与门 RD PC3 RD PC0 INTRB A口方式1输入时 B口方式1输入时 相应的联络信号 相应的联络信号

对方式1输入的端口,C口提供与外部联络的信号有: ① STB 选通信号(低电平有效) 由外设发出,送给8255A, 作用是将外设送来的数据锁存到8255A的输入端口。 ② IBF 输入缓冲器满信号(高电平有效) 8255A 发出, 表示外设送来的数据已进入输入端口。 当外设送来的数据送入输入端口后, 8255A自动发出IBF。 ③ INTR 中断申请信号 (高电平或上升沿有效) 8255A 发出,用来向CPU发出中断申请。 STB、IBF、INTE均为1时,8255A自动发出INTR。 PA7~PA0 PC4 PC5 PC3 INTEA 与门 IBF STB INTR

INTE 中断允许控制信号 A口,对PC4置位, 使INTEA=1, 允许中断 对方式1输入的端口,8255A内部的控制信号有: 作用是控制是否允许8255A的中断申请信号INTR发出。 PA7~PA0 PC4 PC5 PC3 INTEA 与门 IBF STB INTR 此信号无引出, 通过控制口对C口相应位的置位/复位设置允许或不允许。 A口,对PC4置位, 使INTEA=1, 允许中断 对PC4复位, 使INTEA=0, 不允许中断 B口,对PC2置位, 使INTEB=1, 允许中断 对PC2复位, 使INTEB=0, 不允许中断

方式1的输入时序: 从工作在方式1下的输入端口输入数据时, 有关信号的变化关系。 外设送来数据 当INTE=1时 ② ③ ① RD D7~D0 PA7~PA0 PC4 PC5 PC3 INTEA 与门 IBF STB INTR PB7~PB0 PA7~PA0 STB IBF INTR RD

① 当外设数据准备好,将数据送至端口线PA7~PA0或PB7~PB0 ② 外设发出选通信号STB: (1) 将数据锁存在输入端口内。 IBF INTR RD 外设送来数据 ② 当INTE=1时 ③ ① D7~D0 PC4 PC5 PC3 INTEA 与门 ① 当外设数据准备好,将数据送至端口线PA7~PA0或PB7~PB0 ② 外设发出选通信号STB: (1) 将数据锁存在输入端口内。 (2) 使IBF变高,表示输入端口满,可用于阻止外设输入新数据 (3) 如果INTE=1, STB的上升沿使INTR变高,发出中断请求。 ③ 中断处理程序中CPU 读取数据,发出RD信号: (1) RD 的下降沿清除INTR (2) RD 的上升沿清除IBF (3) 端口内的数据进入CPU

小结:方式1输入时,中断申请信号发出的条件是: ① STB=1 由外设输入负脉冲信号满足 ② IBF=1  此信号由8255A自动产生,       STB信号置1, RD的上升沿置0           ③ INTE=1 此信号无引出,通过编程实现:       A口,由控制口对PC4置位       B口,由控制口对PC2置位 RD D7~D0 PA7~PA0 PC4 PC5 PC3 INTEA 与门 IBF STB INTR RD D7~D0 PB7~PB0 PC2 PC1 PC0 INTEA 与门 IBF STB INTR PA7~PA0 PB7~PB0 STB IBF INTR RD 外设送来数据 ② 当INTE=1时 ③ ①

注意: 在方式1下,作为联络信号的外部引脚PC4、PC2, 不受C口按位置位/复位控制字控制, 即对这些位的置位/复位不影响这些引脚信号的输入/输出, 而只在8255A内部对INTE信号起作用。 PA7~PA0 PC4 PC5 PC3 INTEA 与门 IBFA STBA INTRA RD D7~D0 PB7~PB0 PC2 PC1 PC0 INTEB IBFB STBB INTRB 1 A口方式1输入控制字 B口方式1输入控制字

方式1下输出端口的联络信号 A口方式1输出时 相应的联络信号 B口方式1输出时 1 A口方式1输出控制字 B口方式1输出控制字 A口方式1输出控制字 B口方式1输出控制字 PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA WR D7~D0 PB7~PB0 PC2 PC1 PC0 INTEB OBFB ACKB INTRB

对方式1输出的端口,C口提供与外部联络的信号有: ① OBF 输出缓冲器满信号(低电平有效)  当数据送至8255A输出缓冲器后,8255A自动发出。 表示CPU送来的数据已进入8255A输出端口, 可用来通知外设把数据取走。 ② ACK 外设响应信号(低电平有效)   由外设发出,送给8255A。 作用是通知 8255A 输出端口的数据已被外设取走, 可以传送下一个数据。 ③ INTR 中断申请信号(高电平或上升沿有效)   8255A 发出, 用来向CPU发出中断申请。  当OBF 、ACK、INTE均为1时,8255A自动发出INTR。 PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA

对方式1输出的端口,8255A内部的控制信号有: A口,对PC6置位, 使INTEA=1, 允许中断 INTE 中断允许控制信号 作用是控制是否允许中断申请信号INTR发出。 PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA 此信号无引出, 通过控制口对C口相应位的置位/复位设置允许或不允许。 A口,对PC6置位, 使INTEA=1, 允许中断 对PC6复位, 使INTEA=0, 不允许中断 B口,对PC2置位, 使INTEB=1, 允许中断 对PC2复位, 使INTEB=0, 不允许中断

方式1的输出时序: 向工作在方式1下的输出端口输出数据时, 有关信号的变化关系。 ① ② ③ D7~D0 PA7~PA0 INTEA PC6 与门 OBFA ACKA INTRA WR D7~D0 方式1的输出时序: 向工作在方式1下的输出端口输出数据时, 有关信号的变化关系。 ① D7~D0 送往外设数据 数据写入端口 WR OBF INTR ACK ② ③ 当INTE=1时

① ② ③ WR OBF ACK PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA D7~D0 送往外设数据 数据写入端口 ② ③ ① PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA D7~D0 D7~D0 INTR ① CPU输出数据 ② CPU发出WR: (1) 数据写到 8255A的端口 (2) 使OBF有效,表示输出端口满, 可作为外设的选通信号,通知外设取数据。 (3)清除中断请求信号INTR ③ 外设接受到数据后,发出ACK信号: (1) ACK的下降沿使OBF变高, (2) 当INTE=1, ACK的上升沿使INTR变高, 发出中断请求,请求CPU输出新的数据。

小结: 方式1输出时,中断申请信号发出的条件是: 小结: 方式1输出时,中断申请信号发出的条件是: ① OBF=1  此信号由8255A自动产生, WR上升沿置0, ACK下降沿置1  ② ACK=1 由外设输入负脉冲信号满足 ③ INTE=1 此信号无引出,通过编程实现:        A口,由控制口对PC6置位        B口,由控制口对PC2置位 PA7~PA0 PC6 PC7 PC3 INTEA 与门 WR D7~D0 OBF ACK INTR D7~D0 WR OBF INTR ACK 当INTE=1时 送往外设数据 数据写入端口 ② ③ ① PB7~PB0 PC2 PC1 PC0 INTEA 与门 WR D7~D0 OBF ACK INTR

注意: 在方式1下,作为联络信号的外部引脚PC6、PC2, 不受C口按位置位/复位控制字控制, PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA WR D7~D0 PB7~PB0 PC2 PC1 PC0 INTEB OBFB ACKB INTRB 1 A口方式1输出控制字 B口方式1输出控制字 注意: 在方式1下,作为联络信号的外部引脚PC6、PC2, 不受C口按位置位/复位控制字控制, 即对这些位的置位/复位不影响这些引脚信号的输入/输出, 而只在8255A内部对INTE信号起作用。

3.方式2 (双向传送方式) 外 设 端口工作在方式 2时,C口的某5根引脚作为端口的联络信号  8255A 只有A口可以工作在方式 2 下。 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 外 设

 A口工作在方式 2 下,C口未做联络信号的3条引脚, 可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。  与方式 0、方式 1的单向传送不同, 工作在方式 2下的端口,具有双向传送功能。 1 X 1/0 D7 D6 D5 D4 D3 D2 D1 D0 特征位 A口 工作方式 I/O PC7~PC4 B口 PC3~PC0  A口工作在方式 2 下,C口未做联络信号的3条引脚, 可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。 由方式控制字决定其输入/输出。

工作在方式2时,C口有5根引脚作为A口的联络信号, 是方式1下A口输入、输出联络信号的组合。 PA7~PA0 PC6 PC7 ACKA OBFA D7~D0 RD WR PC4 PC5 STBA IBFA INTEA1 INTEA2 与 门 PC3 INTRA 或门 工作在方式2时,C口有5根引脚作为A口的联络信号, 是方式1下A口输入、输出联络信号的组合。 方式2下的时序为方式1输入/输出两者的组合(略)。