第6章YA及专题 微机系统的并行IO接口_第1页
第6章YA及专题 微机系统的并行IO接口_第2页
第6章YA及专题 微机系统的并行IO接口_第3页
第6章YA及专题 微机系统的并行IO接口_第4页
第6章YA及专题 微机系统的并行IO接口_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、第第8 8章章微机系统的并行微机系统的并行I/OI/O接口技术接口技术本章要点本章要点8255A内部结构及外部引脚 8255A和CPU及外设的信号连接8255A三种工作方式和设置方法82558255A A控制字与应用控制字与应用8.1 并行并行I/OI/O接口概述接口概述分类:(1)按数据传送方向分为:输入接口、输出接口;并行接口就是在通信过程中能够同时传送数据所有位的接口芯片。并行接口通常以字节或字为单位传送,速度快,效率高;适合近距离传送。(2)按传输数据形式分为:单向传送接口、双向传送接口;(3)按接口电路结构分为:简单接口、可编程接口;(4)按传送信息类型分为:数字接口和模拟接口。 8

2、.2 并行并行I/OI/O接口芯片接口芯片8255A Intel 8255A是通用可编程并行I/O接口电路芯片,可为多种并行I/O设备提供接口; 是Intel公司为8085、80X86系列微处理器配套的接口芯片,也可以和其他微处理器系统相配; 一片8255A有3个独立输入输出端口(A口、B口、C口)及一个控制寄存器; 既可作输入接口,也可作为输出接口; 80X86系统中常采用8255A作为键盘、扬声器、打印机等外设接口电路芯片。 内内部部数数据据总总线线 PB7PB0 B 组组 B 口口 (8 位位 ) PC3PC0 B 组组 C 口口 (4 位位 ) PC7PC4 PA7PA0 A 组组 A

3、 口口 (8 位位 ) A 组组 C 口口 (4 位位 ) A 组组控控 制制 B 组组控控 制制 D7D0 数数 据据 总总 线线 缓缓 冲冲 器器 读读 /写写控控 制制逻逻 辑辑 RD W R A1 A0 RESET CS 一、一、8255A内部内部结构及外部引脚结构及外部引脚8.2 并行并行I/OI/O接口芯片接口芯片8255A 40根引脚,双列直插式芯片。这些引脚可分成:(1)与CPU系统连接引脚;(2)与外设连接引脚。8255A内部结构框图一、一、8255A内部结构及外部引脚内部结构及外部引脚8.2 并行并行I/OI/O接口芯片接口芯片8255A 从功能上来分,从功能上来分,825

4、5A由以下几部由以下几部分组成:分组成: 数据端口数据端口A、B、C 都是都是8位并行数据口,可作为输入或位并行数据口,可作为输入或输出。输出。v 端口端口A(PA0PA7 ):):数据端口;输数据端口;输入入/输出线;输出锁存器输出线;输出锁存器/缓冲器,输缓冲器,输入锁存器;入锁存器;v端口端口B(PB0PB7 ):):数据端口;数据端口;输入输入/输出线;输出锁存器输出线;输出锁存器/缓冲器,缓冲器,输入缓冲器;输入缓冲器;v端口端口C(PC0PC7) :数据端口或控制端口;分成:数据端口或控制端口;分成4位的两组,与位的两组,与A口和口和B口组合,以输出控制信号口组合,以输出控制信号/

5、输入状态信号。输入状态信号。一、8255A内部结构及外部引脚8.2 并行并行I/OI/O接口芯片接口芯片8255A A组组端口端口A端口端口C的高的高4位位端口端口B端口端口C的低的低4位位B组组 A组和B组控制v分别控制端口分别控制端口A和端口和端口C高高4位;端口位;端口B和端口和端口C低低4位;位;v接受读接受读/写控制逻辑来的命令;写控制逻辑来的命令;v接受接受CPU输出命令字,决定工作方式;输出命令字,决定工作方式;v对端口对端口C某一位实现按位复位或置位。某一位实现按位复位或置位。数据总线缓冲器三态双向8位缓冲器,作8255A与系统DB的接口。输出指令输出指令数据总线数据总线输入指

6、令输入指令数据总线数据总线v8255AvCPU控制字、数据8255A;(CPU写入)状态信息、数据CPU;(CPU读)8.2 并行并行I/OI/O接口芯片接口芯片8255A 读/写控制逻辑接受接受CPU来的输入信号,然后向来的输入信号,然后向A组和组和B组控制电路发送组控制电路发送命令。有:片选信号;读信号;写信号命令。有:片选信号;读信号;写信号;复位信号。复位信号。与CPU(系统)连接的引脚vD0D7vCSvRDvWRvA0,A1 vRESET复位信号,接系统总线的RESET与外设连接的引脚vPA0PA7vPB0PB7vPC0PC7分别对应分别对应A、B、C三个三个8位输入位输入/输出端口

7、输出端口8.2 并行并行I/OI/O接口芯片接口芯片8255A 二、8255A与系统连接示意图D0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器8255A口口B口口C口口D0D7外外 设设A15A2系系统统总总线线三、8255A控制字与初始化编程8.2 并行并行I/OI/O接口芯片接口芯片8255A 两个控制字:方式控制字、端口C按位置位/复位控制字。工作方式控制字 设定各端口工作方式及数据传送方向;放在程序开始。v有三种工作方式: (1)方式0:基本输入/输出方式; (2)方式1:选通输入/输出方式; (3)方式2:选通双向传送方式。v端口端口A:可工作在方式:可工作在方式0,

8、1,2;v端口端口B:可工作在可工作在方式方式0,1;v端口端口C:可工作在可工作在方式方式0;(独立使用);(独立使用)v端口端口C分两部分:高分两部分:高4位随位随A口设置,低口设置,低4位随位随B口设置。口设置。v CPU用输出指令写控制字到用输出指令写控制字到8255A控制寄存器来选择。控制寄存器来选择。8.2 并行并行I/O接口芯片接口芯片8255A 8255A工作方式控制字格式工作方式控制字格式1A组控制组控制B组控制组控制18.2 并行并行I/OI/O接口芯片接口芯片8255A 端口C按位置位/复位控制字 使端口C的一位置位(1)或复位(0),而输出一个开关量去控制外围设备;可放

9、在初始化程序后的任何地方。8255A C口按口按位置位位置位/复位复位控制字控制字000:PC0 001:PC1010:PC2 011:PC3100:PC4 101:PC5110:PC6 111:PC7v有三种工作方式。 四、8255A三种工作方式8.2 并行并行I/OI/O接口芯片接口芯片8255A (1)方式0:基本输入/输出方式 相当于三个独立的8位简单接口; 各端口可分别为输入或输出; 输出有锁存能力,输入无锁存能力; 端口C可以分为两个独立的4位端口; 利用端口C的高、低4位可作为A口、B口的控制信息和状态信息。8.2 并行并行I/OI/O接口芯片接口芯片8255A 方式方式0的应用

10、的应用v 无条件输入输出方式;无条件输入输出方式;操作流程图开关、发光二极管显示接口显示、发声程序?8.2 并行并行I/OI/O接口芯片接口芯片8255A 查询式程序?开始读入C口状态数据式式输入输输入输出出A、B口为口为8位数据的位数据的输入或输出口,输入或输出口,开始v8255A工作方式1主要是与异步工作或中断方式的外设实现选通输入输出。(2)方式方式1 选通输入输出选通输入输出8.2 并行并行I/OI/O接口芯片接口芯片8255A v在这种方式下,A口和B口作为独立数据输入口或输出口,但数据输入输出要在选通信号控制下完成。v选通信号用C口的某些位提供。方式1下A口B口均为选通输入 8.2

11、 并行并行I/OI/O接口芯片接口芯片8255A 8255A方式1选通输入结构图PB7PB08.2 8.2 并行并行I/OI/O接口芯片接口芯片8255A8255A(2)8255A输入数据缓冲器满,使输入数据缓冲器满,使IBF=1,CPU还没有还没有读走数据;外设据此暂缓送下一个数;读走数据;外设据此暂缓送下一个数;(3)若)若INTE=1(中断允许中断允许),则,则STB的上升沿使的上升沿使INTR=1,向向CPU发中断请求;发中断请求;(4)CPU响应中断。响应中断。 CPU通过输入指令读取数据;读通过输入指令读取数据;读取数据后取数据后IBF 、INTR变无效;变无效; 输入过程:(1)

12、外设发选通信号)外设发选通信号STB,有效期间将数据锁存在,有效期间将数据锁存在8255A数据缓冲器;数据缓冲器;8.2 并行并行I/OI/O接口芯片接口芯片8255A vA口、B口方式1选通输入方式控制字:1 0 1 1 1 1 x D7 D6 D5 D4 D3D2 D1 D0PC7,PC6:1:输入输入 0:输出:输出vC口方式口方式1选通输入选通输入状态字状态字:PC7 PC6 IBFA STBA INTRA STBB IBFB INTRB两位两位I/OvSTBA/B:选通输入,外设提供,将输入数据送锁存器;:选通输入,外设提供,将输入数据送锁存器;vIBFA/B:输入缓冲器满信号,给外

13、设的回答信号。:输入缓冲器满信号,给外设的回答信号。IBF=1,输入锁存器满,输入锁存器满,CPU没读取,外设暂停送新数据;没读取,外设暂停送新数据;CPU读读后后IBF =0;v INTRA/B:中断请求信号。:中断请求信号。8255A向向CPU发出读数据请求;发出读数据请求;v INTEA/B:中:中断允许信号,断允许信号,为为1:中断允许,:中断允许,为为0:中断禁止。:中断禁止。 方式1下A口B口均为选通输出 8.2 并行并行I/OI/O接口芯片接口芯片8255A 8255A方式1选通输出结构图8.2 并行并行I/OI/O接口芯片接口芯片8255A输出过程(1)CPU接收中断请求,输出

14、指令将输出数据送A(B)口锁存,并使INTR=0;(2)OBF=0,通知外设在连接端口上已有有效数据,外设可以读了;(3)外设读数据,发响应信号ACK=0,且使OBF=1;(4)外设取走数据后,ACK=1 ,OBF=1,若INTE=1,则又使INTR=1,通知CPU输出下一个数据;vA口、口、B口方式口方式1选通输出选通输出方式控制字方式控制字:1 0 1 0 1 0 x D7 D6 D5 D4 D3D2 D1 D0PC5,PC4:1:输入输入 0:输出:输出vC口方式口方式1选通输出选通输出状态字状态字:OBFA ACKA PC5 PC4 INTRA ACKB OBFB INTRB两位两位I

15、/OvINTRA/B:中断请:中断请求信号,高电平。外求信号,高电平。外设向设向CPU提出中断请提出中断请求,以输出数据。求,以输出数据。8.2 并行并行I/OI/O接口芯片接口芯片8255A(3)方式方式2 选通双向输入输出选通双向输入输出8.2 并行并行I/OI/O接口芯片接口芯片8255A vC口的PC3PC7(5位)作为A口的控制和状态线,B口可工作在方式0或方式1;v输入输出均锁存;v用于程序查询方式或中断方式。v只有端口A可工作在选通双向输入/输出工作方式下。既能发送,也能接收;8255A方式方式2结构图结构图 8.2 并行并行I/OI/O接口芯片接口芯片8255A方式方式2选通输

16、入过程选通输入过程(1)外设向)外设向8255A送数据,同时给送数据,同时给8255A发发STB信号,使数据信号,使数据锁存在锁存在A口,且口,且IBF有效;有效;(2)STB信号结束,使信号结束,使INTR有效,向有效,向CPU发中断请求;发中断请求;(3)CPU响应中断,执行输入指令读走响应中断,执行输入指令读走A口数据;口数据;(4)IOR信号使信号使INTR、IBF无效,开始下个数据读入过程;无效,开始下个数据读入过程;方式2选通输出过程(1)CPU执行输出指令向执行输出指令向A口写数据;口写数据;(2) IOW信号使信号使INTR变低电平,同时变低电平,同时OBF有效;有效;(3)外

17、设接到)外设接到OBF信号后发信号后发ACK信号,读走信号,读走A口数据;口数据;(4)ACK信号使信号使OBF无效、无效、INTR变高,发中断请求准备输变高,发中断请求准备输出下个数据。出下个数据。D2 D1 D0 OBFa INTE1 IBFa INTE2 INTRa INTEb INTEb I/O OBFb IBFb I/O INTRb INTRb I/O D7 D6 D5 D4 D3 D2 D1 D0 A 组 B 组 A口方式口方式2双向双向方式控制字方式控制字:1 1 x x x I/O I/O I/O D7 D6 D5 D4 D3 D2D1D0B口口方式方式B口口输入输出输入输出P

18、C2PC0输入输出输入输出A口双向口双向A口方式口方式2下下C口口状态字状态字:PC2PC0PC1PC3PC4PC5PC6PC78.2 并行并行I/OI/O接口芯片接口芯片8255AB口方式口方式1输出输出B口方式口方式1输入输入B口方式口方式0v8255A工作于方式0时,端口C可用于数据传送;8.2 并行并行I/OI/O接口芯片接口芯片8255Av当8255A工作于方式1或方式2时,端口C的部分引脚或全部引脚便用做应答联络线使用,这时端口C的内容是反映端口A或B及相应外部设备的状态,称为方式1或方式2的状态字;vCPU如需了解各端口工作状态,可通过读C口内容。读出的状态字与设置的控制字信号线

19、相对应。读出的状态字与设置的控制字信号线相对应。 小结8.2 并行并行I/OI/O接口芯片接口芯片8255A方式方式2应用接口电路应用接口电路 示意图示意图系统总线 IRQ0 IRQ1 IRQ2 IRQ7 主机 INTR 8259A INT 主机8255 PC3(INTR) 方式方式2的的应用应用主程序: 中断服务程序: 否 是 是 是输入中断? 禁止输入/输出中断 关系统中断 断 读入8255A状态字 断 是输出中断? 从A 口输出一个数据 否 允许输入/输出中断 开系统中断 发EOI 命令 中断返回 读入数据送接收数据缓冲器 8.3 Intel 8255A应用举例应用举例(1)确定工作过程

20、;(2)选择各接口芯片工作方式、确定方式控制字;(3)编写相应控制程序。 主程序: 中断服务程序: 发送数据初始化 发送字节首址 SI 接收数据初始化 接收缓冲器首址DI 开中断 8255A初始化 8259A初始化 开始 等待接收中断 8255A编程编程例8.1 用8255A并行接口芯片实现键盘接口,其电路原理如图所示。图中按键排列成4行4列,8255A的C口设置为方式0,并将PC7PC4与各行线相连,PC3PC0与各列线相连。 8.3 Intel 8255A应用举例应用举例8255A应用举例矩阵键盘接口反转法按键识别过程: 8.3 Intel 8255A应用举例(1)将PC7PC4设定为输出

21、,PC3PC0设定为输入。从行线输出全0,即PC7PC4输出全0,然后从PC3PC0读入列线内容,若读入数据中有一位为0,则表明与该位对应的列线上有一个键按下,存储此内容作为“列值列值”,转第(2)步,否则循环执行本步骤;(2)将PC7PC4设定为输入,PC3PC0设定为输出。把第(1)步读入内容输出到列线上,即从PC3PC0输出,从PC7PC4读入行线内容,若有键按下,其中必有一位为0,为0位所对应行线就是被按下键所在行,存储此内容作为“行值行值”。将行值和列值组合在一起,用查表方法即可得到按键的键号。例如,若第0行第2列键被按下,则第(1)步从列线读入列值为1011B;第(2)步从行线读入

22、行值为1110B,二者组合,得到该键行列值组合为11101011B。8.3 Intel 8255A应用举例关于抖动问题。一般每个键在按下和松开时,都会经历短时间抖动后才到达稳定接通或断开,抖动持续时间因键的质量有所不同,通常为520ms。要正确确定按键和键释放需去抖动,一般有两种方法:一是软件延时,即发现有键按下或释放时,软件延时一段时间再检测;二是硬件消抖法,即用基本RS触发器、单稳电路、RC滤波器等来消除抖动。START:MOV AL,10000001B ;方式0,C高4位输出,低4位输入OUT 43H,ALMOV AL,0OUT 42H,AL;C高4位(行线)为0WAIT:IN AL,4

23、2H;读C低4位(列线)状态AND AL,0FH;保留低4位CMP AL,0FH;检查有键按下否(是否有0位)JE WAIT;相等,即全1,无键按下,循环继续检测MOV AH,AL;否则,保存列值MOV AL,10001000B;设方式0,C高4位输入,低4位输出OUT 43H,AL;即C高低4位反转输入输出方向MOV AL,AHOUT 42H,AL;把列值反向输出到列线(C低4位)上IN AL,42H;读入行线(C高4位)状态AND AL,0F0H;保留高4位OR AL,AH;组合行值和列值用软件去抖动如何改?设8255A端口地址为40H43H。采用反转法按键识别程序。82558255应用专题应用专题专题内容:制作一个时间显示系统(24小时制,60进制)。主程序是检测开关状态(K0 K1 K2 K3),记录并显示(在CRT上)开关状态(即功能号),数码

温馨提示

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

评论

0/150

提交评论