《扩展IO接口设计》PPT课件.ppt_第1页
《扩展IO接口设计》PPT课件.ppt_第2页
《扩展IO接口设计》PPT课件.ppt_第3页
《扩展IO接口设计》PPT课件.ppt_第4页
《扩展IO接口设计》PPT课件.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

I/O的基本模型,并行接口 8255A,9.1 I/O接口基本模型,微型计算机系统可通过系统总线与外设相连,进行系统的扩展与开发,而外设必须通过接口才能与CPU交换信息。,9.1.1 I/O接口的交换信息,1. 数据信息 (DATA),(1) 数字量,由键盘、光电输入机等输入的信息。(通常以二进制表示的数或以 ASCII 码表示的数或字符),CPU与外设交换的基本信息是数据,有三种类型:,(2) 模拟量,(3) 开关量,两个状态的量 (可以用0、1表示),例如电机的启与停,开关的合与开等。,2. 状态信息 (STATUS),输入时,输入设备是否准备好? (READY),输出时,输出设备是否空闲?(BUSY),反映当前外设工作状态的信息,例如:,3. 控制信息 (CONTROL),例如控制I/O 设备启动或停止等。,CPU 与外设之间的接口信息,通过接口输出用以控制外设工作的信息。,(1)速度的匹配 外设的读写速度可能很慢。CPU与端口进行快速数据交换,端口与外设进行慢速交换。端口作为微型机与外设间传递数据的中间缓冲站。,9.1.2 I/O接口的功能,(2)信息格式的变换 外部设备的数据形式可能是数字量、模拟量或开关量等,数字量可能采用并行方式或串行方式。接口电路的功能之一是将不同信息格式变换为CPU能接收的标准并行信息,如串并转换、A/D、D/A转换等。,(4)信号电平的匹配 即电平配合、信号类型、信号电平、信号格式等的转换,(3)时序的匹配 CPU时序与外设时序可能不一致,由接口电路实现匹配。,(5)数据缓冲 对所传送的数据提供缓冲、隔离以及寄存的功能。,(7)校验和检查 在微机系统中,通常为I/O接口配备有校验功能,并且可以将出错信息报告给微处理器。,(6)地址译码 通过地址译码电路对外围设备I/O地址寻址。,外部设备与微处理器进行信息交换必须通过访问该外设相对应的端口来实现。具体访问这些外设端口的过程叫做寻址。,通常有两种寻址方式:存储器映像的I/O寻址方式和I/O端口单独寻址方式。,9.1.3 I/O 端口及其寻址方式,9.1.4 I/O接口的数据传送方式,1、无条件传送方式,无条件传送一般适合于数据传送不太频繁的情况,如对开关、数码显示器等一些简单外设的操作。所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行相应指令进行数据传输。,2、条件传送方式,查询传送方式流程图,查询传送方式工作流程包括三个基本工作环节,(2)查询环节,CPU从读取状态寄存器的标志位。,(3)传送环节,当上一环节完成后,将对数据口实现寻址,从数据端口输入数据,或从数据端口输出数据。,(1)读取状态字,主要通过检测状态寄存器的标志位来检查外设是否“就绪”。,3、 中断传送方式,为了进一步提高CPU的效率和使系统有实时性能,可以采用中断传送方式。在中断传送方式下,当外设准备好时,主动向CPU发出中断请求,请求CPU进行数据的输入输出。,中断方式的数据输入,采用中断传送方式时,外设处于主动地位,无需CPU花费大量时间去查询外设的工作状态。与程序方式相比,大大提高了CPU的效率。,4、DMA方式,DMA (Direct Memory Access): 是存储器与外设或存储器之间进行大量数据传送的方法,是在DMA控制器(DMAC)的控制下进行的。,DMA与程序控制数据传送路径比较,DMA与程序控制数据传送路径的比较,传送方式的比较,无条件传送:慢速外设需与CPU保持同步 查询传送: 简单实用,效率较低 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,微机系统的信息交换有并行通信 和串行通信两种方式。,并行通信是以微处理器的字长为传输单位;适合于外部设备与微机之间进行近距离、大量和快速的信息交换。,9.2 8255A概述,22,西北农林科技大学水利与建筑工程学院,Intel公司的80/85系列接口电路都可以直接与MCS-51接口。常用的接口器件为: 8255:可编程通用并行接口电路; 8253/8254:可编程定时/计数器; 8155/8156:可编程RAM/IO/TIMER扩展芯片; 8251:可编程串行接口电路; 8279:可编程键盘显示接口电路; 以上器件最大的特点是工作方式的确定和改变需要软件实现。因此称为可编程接口芯片。,9.2.1 可编程并行通信接口8255A,8255A采用40线双列直插封装,引脚图如图所示。,8255A引脚定义,8255A的引脚,一、8255A的内部结构,8255A内部结构框图,8255A包括四大部分:数据总线缓冲器、读写控制部件、A组和B组控制部件、端口A、B、C。,(1) 数据端口A、B、C,端口A:包含一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器,输入输出数据均受到锁存。,端口B和C: 都包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器,输出数据能锁存,输入数据不锁存。 端口C:可分成两个4位端口,分别定义为输入或输出端口,还可定义为控制、状态端口,配合端口A和端口B工作。,(2) A组和B组控制电路,A组,B组的控制寄存器,接收来自数据总线的控制字,并根据控制字确定各端口的工作状态和工作方式。,(3) 数据总线缓冲器,(4)读/写和控制逻辑,接收来自CPU地址总线信号和控制信号,并发出命令到两个控制组 (A组和B组)。,RESET:复位信号。RESET有效时,清 8255A 所有控制寄存器内容, 并将各端口置成输入方式。,表9.1 8255A的端口选择表,(5)端口寻址,8255A共有两个控制字:即工作方式控制字和对C口置位/复位控制字。,1. 控制字,(1)工作方式控制字: 控制字和各位的含义如图所示。,8255A的控制字及其工作方式,8255A工作方式控制字格式,(2) 端口C的置位/复位控制字,控制字的格式如图所示。,8255A 置位/复位控制字格式,例:若8255A的控制字寄存器选口地址为FBH,试写出令PC3先置“1”以及后置“0”的程序,解:相应程序为: MOV R0,#0FBH MOV A, #07H MOVX R0,A MOV A,#06H MOVX R0,A,关于控制字要说明几点:,(1) 设置方式控制字时,A口、B口作为整体设置,而C口要分成上、下两部分分别设置。三个端口的工作方式由一个控制字规定。,(2) C口按位置位/复位控制字不是送到C口地址,而是送到控制寄存器地址;且一个控制字只能使C口一位置位或复位。,(3) 方式控制字和按位置位/复位控制字均写入同一个控制寄存器地址,二者通过最高位D7来区别。D7=1为方式控制字,D7=0为按位置位/复位控制字。,(4) A口、B口也可以按位输出高低电平,但是,它与前面的按位置位/复位命令有本质的差别,并且实现的方法也不同。,(1) 方式0 基本输入/输出方式,方式0是一种基本输入输出工作方式,它的24条I/O线可以全部都用作传送数据,不设置应答信号线,常用于无条件传送,输出有锁存,输入只有缓冲能力而无锁存功能。,方式0控制字具体格式如图所示,2. 工作方式,8255A工作方式0控制字格式,由控制字中D4D3D1D0等4位的不同取值可定义方式0的16种工作方式的组合如表9.2所示。,方式0中,端口C被分成两个4位端口,它们可被定义为输入或输出端口,表9.2 方式0的工作状态组合,(2) 工作方式1选通式输入/输出方式, 方式1选通输入,方式1操作使端口A或端口B作为锁存输入设备工作。端口C也可按方式1操作使用但不是对数据,而是对控制信号,或当端口A或端口B为选通输入端口时的握手信号。,下图示出8255A方式1选通输入控制字格式,工作方式1输入控制字格式,方式1输入引脚:A端口,数据选通信号 当STB=0时,8255将数据锁存到8255A端口的输入数据寄存器中。,输入缓冲器满信号 当IBF=1时,说明外设数据已送到8255输入缓冲器,但还没有被CPU读取,通知外设不能再发送数据;,中断请求信号:请求CPU接收数据;使INTR=1的条件是:IBF=1、STB=1和INTE=l三个条件同时具备。,当PA或PB为l方式输入时,各指定PC口的3条线作为8255与外设及CPU之间的应答信号,如图所示。,比较,方式1输入引脚:B端口,IBF:输入缓冲器满信号,向外设输 出,高电平有效。,INTE:中断允许信号,它是通过端口PC4(端口A)或PC2(端口B)的位来编程的内部位。,1方式输入的工作过程如下:,1)数据输入时外设为主动地位,当外设数据淮备好后,首先发出STB*信号,把数据输入到8255A的端口寄存器中。 2)在STB下降沿数据锁存后,引起IBF1,表示输入缓冲器满,禁止数据再输入。 3)在STB上升沿后,IBF=1产生中断请求(若INTE=1),请求CPU读取输入的数据:若采用查询方式可查询IBF来判断接口中有无数据。 4)CPU读取接口时,RD的下降沿使INTR复位,撤销中断请求,RD的上升沿使IBF=0,表示输入缓冲器空,可重新输入下一个数据。, 方式1选通输出,图11.8 方式1输出控制字格式,方式1输出引脚:A端口,外设响应信号: 表示外设已经接收到数据,它是外设对OBF信号的应答。,输出缓冲器满信号: 当OBF=0时表示CPU已将数据写到8255A的输出端口,通知外设来取数据。,中断请求信号:请求CPU再次输出数据;INTR=1的条件是:OBF、ACK和INTE都为高电平,也就是输出缓冲器空OBF=1、应答信号结束(ACK=1)和中断允许(1NTE=1)。,比较,方式1输出引脚:B端口,端口A的INTEA对应PC6 端口B的INTEB对应PC2,方式1输出端口状态,(a)端口A方式1输出,(b)端口B方式1输出,INTE:中断允许信号。,INTR:中断请求信号。高 电平有效。,1方式输出的工作过程如下:,1)数据输出时CPU为主动地位,向8255A输出数据,WR的上升沿使OBF=0,表示输出缓冲器满,外设可来读取数据;WR使INTR=0,封锁中断请求INTR。 2)外设读取数据后,用ACK回答接口。ACK的下降沿使OBF=1,撤消输出缓冲器满信号;ACK的上升沿使INTR=1,请求CPU再输出下一个数据(若INTE=1)。,(3) 工作方式2双向选通输入/输出方式,方式2只允许A组采用,此时端口A变为双向,允许数据在同一组8条线上发送和接收。,下图示出方式2操作内部结构图。,端口A方式2控制字,端口A工作在方式2的端口状态,IBFA:输入缓冲器满信号,向外设输出,高电平有效。,INTE:中断允许信号 (INTE1和INTE2)。高电平有效。,INTRA:中断请求信号,高电平有效。,8255A中端口A工作方式2时,允许端口B工作于方式0或方式1,完成输入/输出功能。4种组合状态及其工作方式控制字格式如表9-4所示。,表9.4 方式2的组合状态与控制字格式,8255的PA,PB,PC口的三种工作方式:, 三种方式中只有方式 0 用得最多且最容易使用。 基本输入/输出方式 就是简单输入/输出方式。, 方式1 和方式2 使用复杂。这两种方式已很难见到再有人用于单片机系统。,8255与单片机的连接:,AT89C51,8255,74LS373,P0.0-P0.7,ALE,8D,Q0Q1Q7,CS,RESET,A0A1,D0-D7,G,EA,OE,RESET,RD,WR,WR,RD,+5V,PA,Q7接片选/CS端,8255的(一组)寄存器地址可以是:,PA口:0000H PB口:0001H PC口:0002H 命令口:0003H 也可以是:007CH, 007DH, 007EH, 007FH,PC7PC0,微型 打印机,8255的编程应用,例:初始化A口,

温馨提示

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

评论

0/150

提交评论