微机原理及应用 主讲:郑海春.

Slides:



Advertisements
Similar presentations
NAT与ICMP交互.
Advertisements

第6章 微型计算机和外设之间的 数据传输.
第五章 微型计算机和外设的数据传输 5.1 为什么用接口电路? 5.2 CPU和I/O设备之间的信号; 5.3 接口部件的I/O端口;
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
实验四 利用中规模芯片设计时序电路(二).
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第10章 DOS功能调用与BIOS中断调用.
第五章 总线 及其形成 本节课之前,大家学习了:
第五章 微处理器总线操作与时序 三、总线时序 一、 8086/8088引脚 二、最小模式和最大模式.
第一章 绪论.
第 6 章 I/O 接口和总线 中国科学技术大学 何克东.
第7章 常用数字接口电路.
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
第三节 CPU与外设间的数据传送方式 CPU与外设的工作速度不一致, 如何使两者高效、可靠地进行数据传送, 是本节讨论的问题。
第 11 章.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第六章 输入/输出接口 6.1 输入/输出接口概述 6.2 I/O指令和地址译码 6.3 PC系统总线(放到本章后面详细讲述)
第八章 数据通信.
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
微型机系统与接口技术复习.
第七章 MCS-51系统扩展 一、程序存储器扩展
第9章 AT89S52单片机的 I/O扩展 1.
第三章 微机基本系统的设计 第一章 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方式及其应用
第7章 微型机接口技术 可编程定时/计数器 可编程并行接口 串行接口与串行通信(概念) DMA控制器接口(不做要求) 模拟量输入/输出接口.
CPU结构和功能.
第11章 基本I/O接口 罗文坚 中国科大 计算机学院
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第九章 微处理器外部结构和总线操作时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
8.4 ADC0809接口电路及程序设计.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
数字电子技术 Digital Electronics Technology
可编程定时计数器.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
微机原理与接口技术 第6章 并行输入输出接口(8255A)
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
第7章 输入输出接口.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月04日.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第六章 I/O接口 一、I/O接口的功能 第一节 概 述 一、I/O 接口的功能 二、I/O接口的一般结构 第二节 输入输出寻址方式和指令
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
第八章 串行接口 8-1 串行通信的基本概念 8-2 可编程串行接口8251A A的应用.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
DSP技术与应用 电子与信息技术系.
Presentation transcript:

微机原理及应用 主讲:郑海春

第8章 并行接口芯片8255 8.1 可编程并行I/O接口芯片8255A的结构 8.2 8255A的工作方式选择 8.3 方式0的功能 8.3 方式0的功能 8.4 方式1的功能 8.5 方式2的功能 8.6 8255A应用举例

8.1 可编程并行I/O接口芯片8255A的结构 在接口电路中,要有输入输出数据的锁存器和缓冲器,要有状态(如Ready,Busy等)和控制命令寄存器,以便于CPU与接口电路之间采用程序条件查询方式来交换信息,也便于接口电路与外设之间传送信息。随着大规模集成电路技术的发展,生产了许多通用的可编程序的接口芯片。这些接口芯片按数据传送的方式可以分为并行接口和串行接口两大类。 并行接口和串行接口的“并行”和“串行”的含义不是指接口与CPU之间的数据传输(接口与CPU系统总线一侧的数据传输当然是并行的),而是指接口与外部设备一侧的数据传输。并行接口与外部设备之间用4根、8根或16根数据线同时传输4位、8位或16位二进制数,数据是并行传输的;串行接口与外部设备之间在1根数据线上,1位位串行传输二进制数据。 回顾: 问题:输入输出能不能由一个芯片来完成?

并行接口可以设计成单独的输入接口或单独的输出接口,还可以设计成输入/输出接口,即双向通信接口。例如:计算机系统连接打印机的接口是输出并行接口,连接磁盘驱动器的接口是双向通信接口。 并行口适用范围:并行接口与其相应的串行接口相比,具有传输速度快、信息率高等优点。但是,由于并行通信所用的传输线较多,在长距离传输时,电缆的损耗会成为突出的问题。所以,并行通信适用于数据传输速率较高、传输距离较短的场合。

8255的内部结构图

8255A由以下几个部分组成: (1)数据端口A、B、C 每一个端口都是8位,都可以作为输入或输出,通常端口A或B作为数据端口,而端口C作为控制或状态信息的端口,端口C分成两个4位的端口,它们分别与端口A和B配合使用,可以作为控制信号输出,或者作为状态信号输入。 (2)A组和B组控制电路 这是两组根据CPU的命令字控制8255A工作方式的电路。它们有控制寄存器,接受CPU输出的命令字,然后分别决定两组的工作方式。 A组控制电路控制端口A和端口C的上半部(PC7~PC4) B组控制电路控制端口B和端口C的下半部(PC3~PC0)

(3)数据总线缓冲器 这是一个8位双向三态数据缓冲器。8255A通过它与系统数据总线相连。输入数据、输出数据、CPU发给8255A的控制字和从8255A读入的外设状态信息等都是通过这个缓冲器,在8255A的内、外数据总线之间传递。 (4)读/写和控制逻辑 它与CPU的地址总线中的A1、A0以及有关的控制信号(RD,WR,RESET)相连,由它控制把CPU的控制命令或输出数据送至相应的端口,也由它控制把外设的状态信息或输入数据通过相应的端口,送至CPU。

8255的引脚图

8255的端口选择和操作 -CS A1 A0 读操作-RD 写操作-WR 0 0 0 读端口A 写端口A 0 0 1 读端口B 写端口B 0 0 0 读端口A 写端口A 0 0 1 读端口B 写端口B 0 1 0 读端口C 写端口C 0 1 1 非法 写方式字和位控字 补充: IBM PC/XT机上,数据口A/B/C和控制口的I/O地址分别为:60H、61H、62H和63H

第8章 并行接口芯片8255 8.1 可编程并行I/O接口芯片8255A的结构 8.2 8255A的工作方式选择 8.3 方式0的功能 8.3 方式0的功能 8.4 方式1的功能 8.5 方式2的功能 8.6 8255A应用举例

8.2 8255A的工作方式选择 8255A的三种基本工作方式: 方式0 ——基本输入输出 方式1 ——选通输入输出 方式2 ——双向传送 其中端口A可以被选择工作于方式0,1和2三种中的任何一种。端口B只能被选择工作于方式0和1中的一种。当端口A和端口B被选择工作于方式0时,端口C也可以工作于方式0,一旦端口A和端口B中任一个工作于方式1或2时,端口C被分解成两部分,上半部随端口A,下半部分随端口B。这时端口C已经不再作为数据信息的通道,而是作为它的附属于端口的状态信息。

8255A的编程控制字: 8255A有两个控制字:工作方式控制字和端口C置位/复位控制字。这两个控制字共用一个地址,即当端口选择A0、A1都为1时,就是访问8255A控制字寄存器的地址。用控制字的D7位作为标识位来区分是方式选择控制字,还是端口C置位/复位控制字。D7位为1,为方式选择控制字;D7位为0,为端口C置位/复位控制字。 (1)工作方式控制字:用来设定通道的工作方式及数据的传送方向的。 (2)端口C置位/复位控制字:向控制寄存器写入控制字,而使C口的某一位置位或复位。

(1)工作方式控制字

工作方式控制字举例: 例1:端口A方式0输入,端口B方式0输出,端口C方式0输出,请写出工作方式控制字。

工作方式控制字举例: 例2:端口A方式1输入,端口B方式1输出,请写出工作方式控制字。

工作方式控制字举例: 例3:端口A方式2双向,端口B方式1输入,请写出工作方式控制字。

(2)端口C置位/复位控制字

端口C置位/复位控制字举例: 例1:对C3位清0,请写出控制字。

端口C置位/复位控制字举例: 例2:对C4位置1,请写出控制字。

第8章 并行接口芯片8255 8.1 可编程并行I/O接口芯片8255A的结构 8.2 8255A的工作方式选择 8.3 方式0的功能 8.3 方式0的功能 8.4 方式1的功能 8.5 方式2的功能 8.6 8255A应用举例

8.3 方式0的功能 1、两个8位端口(A、B),和两个4位端口(端口C) 2、任一个端口可以作为输入或输出 3、输出是锁存的 8.3 方式0的功能 1、两个8位端口(A、B),和两个4位端口(端口C) 2、任一个端口可以作为输入或输出 3、输出是锁存的 4、输入是不锁存的 方式0是一种基本的输入或输出方式。这种方式没有规定固定的用于应答式的联络信号线。方式0可作为查询式输入或输出的接口电路,此时端口A和B可分别作为一个数据端口,而取端口C的某些位作为这两个数据端口的控制和状态信息。

方式0 —示例1 已知条件: A口地址:300H B口地址:301H C口地址:302H 控制口地址:303H 8255A Vcc PA0 . Vcc PB0 PB7 CS D0~D7 数据总线 RD WR A0 A1 RESET 地址总线 A0~A15 时钟发生 器RESET 8255A

程序框图 code segment assume cs:code start: mov dx,303h ;8255控制端口地址 B口方式0 code segment assume cs:code start: mov dx,303h ;8255控制端口地址 mov al,90h ;100 10 0 0 0B 工作方式控制字 out dx,al ;设置A口输入,B口输出 next: mov dx,300H ;A口地址 in al,dx ;读开关量 mov dx,301H ;B口地址 out dx,al ;写发光二极管状态 jmp next code ends end start B口输出

方式0 —示例2 已知条件: A口地址:300H B口地址:301H C口地址:302H 控制口地址:303H

out dx,al ;设置A口输出,B口输入,PC0输入 next: mov dx,303h ;8255控制端口地址 mov al,00h code segment assume cs:code start: mov dx,303h ;8255控制端口地址 mov al,83h ;1 00 0 0 0 1 1 B 工作方式控制字 out dx,al ;设置A口输出,B口输入,PC0输入 next: mov dx,303h ;8255控制端口地址 mov al,00h out dx, al ;使PC0复位 mov dx, 302h ;C端口地址 que:in al,dx ;查询PC0是否为1 test al,01h jz que ;PC0为0则继续查询 mov dx,301h ;B口地址 in al,dx ;读开关量 mov dx,300h ; A口地址 out dx,al ;写发光二极管状态 jmp next code ends end start A口方式0 A口输出 B口输入 C口下输入 B口方式0

第8章 并行接口芯片8255 8.1 可编程并行I/O接口芯片8255A的结构 8.2 8255A的工作方式选择 8.3 方式0的功能 8.3 方式0的功能 8.4 方式1的功能 8.5 方式2的功能 8.6 8255A应用举例

8.4 方式1的功能 1、用作一个或两个选通端口 2、每个端口包括:8位数据和三条控制线,提供中断逻辑 3、任何一个端口都可作为输入或输出 4、输入输出都是锁存的 这是一种选通的I/O方式。在这种方式时,端口A或端口B仍作为数据的输入/输出口,但同时规定端口C的某些位作为控制或状态信息。

方式1输入:外设->CPU zhc 2004-9-22 说明:STB和IBF是一对用于和外设联络的信号,INTR是用于向CPU发出中断请求的信号。此外,还有决定INTR能否发出的中断允许INTE信号(此信号是不与端口C的实际引脚有联系的内部信号)。 总结:STB选通信号,由外部输入,低电平有效。它有效时,将外部输入的数据锁存到所选端口的输入锁存器中。 IBF输入缓冲器满信号。8255A向外部输出,高电平有效。当其有效时,表示数据已输入至输入锁存器,它由STB信号置位,而RD信号的上升沿使其复位。 INTR中断请求信号,高电平有效。这是8255A给CPU输出的中断请求信号,以请求CPU服务。它是当STB为高电平、IBF为高电平和INTE(中断允许)为高电平时被置为高,而由RD信号的下降沿清除。 INTEA端口A中断允许信号,可由用户通过对PC4的按位置位/复位来控制(PC4=1,允许中断)。而INTEB由PC2的置位/复位控制。 过程:-STB=0, 数据锁存入8255A,IBF=1;-STB↑,片内INTE=1,INTR ↑,向CPU发出中断请求;CPU响应中断后,-RD↓,CPU读8255A中数据,INTR ↓,-RD ↑使IBF复位↓。

zhc 2004-9-22 说明:STB和IBF是一对用于和外设联络的信号,INTR是用于向CPU发出中断请求的信号。此外,还有决定INTR能否发出的中断允许INTE信号(此信号是不与端口C的实际引脚有联系的内部信号)。 总结:STB选通信号,由外部输入,低电平有效。它有效时,将外部输入的数据锁存到所选端口的输入锁存器中。 IBF输入缓冲器满信号。8255A向外部输出,高电平有效。当其有效时,表示数据已输入至输入锁存器,它由STB信号置位,而RD信号的上升沿使其复位。 INTR中断请求信号,高电平有效。这是8255A给CPU输出的中断请求信号,以请求CPU服务。它是当STB为高电平、IBF为高电平和INTE(中断允许)为高电平时被置为高,而由RD信号的下降沿清除。 INTEA端口A中断允许信号,可由用户通过对PC4的按位置位/复位来控制(PC4=1,允许中断)。而INTEB由PC2的置位/复位控制。 方式1的输入时序图

方式1输出:CPU - >外设 zhc 2004-9-22 说明:ACK和OBF是一对用于和外设联络的信号,INTR是用于向CPU发出中断请求的信号。此外,还有决定INTR能否发出的中断允许INTE信号(此信号是不与端口C的实际引脚有联系的内部信号)。 总结:OBF输出缓冲器满信号。8255A向外部输出,低电平有效。当其有效时,表示CPU已经把数据输出给指定的端口,外设可以把数据输出。它由输出命令WR的上升沿设置为有效,由ACK的有效信号使其恢复为高。 ACK低电平有效,这是一个外设的响应信号,指示CPU输出给8255A的数据已经由外设接收。 INTR中断请求信号,高电平有效。当输出装置已经接收了CPU输出的数据后,它用来作为向CPU提出新的中断请求,要求CPU继续输出数据。当OBF为“1”(高电平)ACK为“1”(高电平)和INTE为“1”(高电平)时,使其置位(高电平),INTR信号的复位,是由写信号WR的下降沿触发的。 INTEA端口A中断允许信号,可由用户通过对PC6的按位置位/复位来控制(PC6=1,允许中断)。而INTEB由PC2的置位/复位控制。 过程:-ACK=0, 外设从8255A取走数据,-OBF↑, 输出锁存器空,INTR ↑, 向CPU申请,望CPU再输出下一数据; CPU响应中断后, -WR↓, CPU写数据到8255A,-WR=0,INTR ↓, 撤消中断,-WR ↑使-OBF复位↓,向外设表明8255有新数据。

zhc 2004-9-22 说明:STB和IBF是一对用于和外设联络的信号,INTR是用于向CPU发出中断请求的信号。此外,还有决定INTR能否发出的中断允许INTE信号(此信号是不与端口C的实际引脚有联系的内部信号)。 总结:STB选通信号,由外部输入,低电平有效。它有效时,将外部输入的数据锁存到所选端口的输入锁存器中。 IBF输入缓冲器满信号。8255A向外部输出,高电平有效。当其有效时,表示数据已输入至输入锁存器,它由STB信号置位,而RD信号的上升沿使其复位。 INTR中断请求信号,高电平有效。这是8255A给CPU输出的中断请求信号,以请求CPU服务。它是当STB为高电平、IBF为高电平和INTE(中断允许)为高电平时被置为高,而由RD信号的下降沿清除。 INTEA端口A中断允许信号,可由用户通过对PC4的按位置位/复位来控制(PC4=1,允许中断)。而INTEB由PC2的置位/复位控制。 方式1的输出时序图

方式1 —示例 已知条件: A口地址:300H B口地址:301H C口地址:302H 控制口地址:303H 8255A PA0 PA7 . Vcc PB0 PB7 CS D0~D7 数据总线 RD WR A0 A1 RESET 地址总线 A0~A15 时钟发生 器RESET 8255A PC4 PC2

PA: 方式1,输入; PB: 方式1,输出 Proceeding:-STB , -ACK input from a pulse, then test PC5 (IBF) and test PC1 (-OBF)

START: MOV AL, 0B4H; 1011 0100B MOV DX, 303H OUT DX, AL ;write mode CW LP1: MOV DX, 302H IN AL, DX TEST AL, 00100000B ;test PC5 (IBF) JZ LP1 MOV DX, 300H IN AL, DX ; read Port A (switch status) LP2: MOV DX, 302H IN AL, DX TEST AL, 00000010B ;test PC1 (-OBF) JZ LP2 MOV DX,301H OUT DX, AL ;port B output JMP START

第8章 并行接口芯片8255 8.1 可编程并行I/O接口芯片8255A的结构 8.2 8255A的工作方式选择 8.3 方式0的功能 8.3 方式0的功能 8.4 方式1的功能 8.5 方式2的功能 8.6 8255A应用举例

8.5 方式2的功能 方式2的功能 1、方式2只用于端口A 2、一个8位的双向总线端口(A)和一个5位控制端口(端口C),提供中断逻辑 8.5 方式2的功能 方式2的功能 1、方式2只用于端口A 2、一个8位的双向总线端口(A)和一个5位控制端口(端口C),提供中断逻辑 3、输入输出都是锁存的 4、5位控制端口用作端口A的控制和状态信息 这种工作方式,使外设可以在单一的8位总线上,即能发送数据也能接收数据(双向总线I/O)。工作时可用程序查询方式,也可工作在中断方式。

方式2双向传输

输入:外设发-STBa=0将数据存入A口,8255发IBFa给外设,A口收到数据,INTE1=1,向CPU发INTRa,CPU响应后,CPU可以从A口读入数据。 输出:CPU输出数据琐存到A口,-OBFa↓,通知外设可从A口读取数据。外设需要读数据,给8255发-ACKa=0,将锁存于A口的数据输出到外设。 方式2实质就是方式1输入与输出的综合。

问题:为什么8255A要提供三种工作方式? 为了满足并行输入输出的不同需要,实现可靠的数据传输。若不需要考虑外部设备的状态,则可以选择方式0,若需要考虑外部设备的状态就需要用选通输入输出,方式1,若需要双向传送则需要用方式2。