8255A的工作方式及其初始化编程.doc_第1页
8255A的工作方式及其初始化编程.doc_第2页
8255A的工作方式及其初始化编程.doc_第3页
全文预览已结束

下载本文档

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

文档简介

8255A的工作方式及其初始化编程8255A有三种工作方式:基本输入/输出方式、单向选通输入/输出方式和双向选通输入/输出方式. 18255A的工作方式 (1)方式0:基本输入/输出方式(basic Input/Output)方式0是8255A的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O传送.A, B, C 3个端口都可以工作在方式0.A口和B口工作在方式0时,只能设置为以8位数据格式输入/输出;C口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式.方式0常用于与外设无条件数据传送或查询方式数据传送.(2)方式1:单向选通输入/输出方式(strobe Input/Output)方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据.由于C口的PC0, PC1和PC2定义为B口工作在方式1的联络信号线,PC3, PC4和PC5定义为A口工作方式1的联络信号线,因此只允许A口和B口工作在方式1.A口和B口工作在方式1,当数据输入时,C口的引脚信号定义如图7.6所示.PC3, PC4和PC5定义为A口的联络信号线INTRA, 和IBFA, PC0, PC1和PC2定义为B口的联络信号线INTRB, IBFB和,剩余的PC6和PC7仍可以作为基本I/O线,工作在方式0.方式1输入联络信号的功能如下:(strobe input):选通信号,输入,低电平有效.此信号由外设产生输入,当有效时,选通A口或B口的输入数据锁存器,锁存由外设输入的数据,供CPU读取.IBF(input buffer full):输入缓冲器满信号,输出,高电平有效.当A口或B口的输入数据锁存器接收到外设输入的数据时,IBF变为高电平,作为对外设的响应信号,CPU读取数据后IBF被清除.INTR:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据.为了能实现用中断方式传送数据,在8255A内部设有一个中断允许触发器INTE,当触发器为1时允许中断,为0时禁止中断.A口的触发器由PC4置位或复位,B口的触发器由PC2置位或复位. 方式1数据输入的时序如图7.7所示.当外设的数据准备就绪后,向8255A发送信号以便锁存输入的数据, 的宽度至少为500ns,在有效之后的约300ns,IBF变为高电平,并一直保持到信号由低电平变为高电平,待CPU读取数据后约300ns变为低电平,表示一次数据传送结束.INTR是在中断允许触发器INTE为1,且IBF为1(8255A接收到数据)的条件下,在后沿(由低变高)之后约300ns变为高电平,用以向CPU发出中断请求,待变为低电平后约400ns, INTR被撤销. A口和B口工作在方式1,当数据输出时,C口的引脚信号定义如图7.8所示.PC3, PC6和PC7定义为A口联络信号线INTRA,和,PC0, PC1和PC2定义为B口联络信号线INTRB, 和,剩余的PC4和PC5仍可以作为基本I/O线,工作在方式0. 方式1输出联络信号的功能如下:(output buffer full):输出缓冲器满指示信号输出,低电平有效. 信号由8255A发送给外设,当CPU将数据写入数据端口时, 变为低电平,用于通知外设读取数据端口中的数据.(acknowledge input):应答信号,输入,低电平有效. 信号由外设发送给8255A,作为对信号的响应信号,表示输出的数据已经被外设接收,同时清除信号.INTR:中断请求信号,输出,高电平有效.用于请求以中断方式传送数据.方式1数据输出的时序如图7.9所示.当CPU向8255A写入数据时,信号上升沿后约650ns, 有效,发送给外设,作为外设接收数据的选通信号.当外设接收到送来的数据后,向8255A回送信号,作为对信号的应答.信号有效之后约350ns, 变为无效,表明一次数据传送结束.INTR信号在中断允许触发器INTE为1且信号无效之后约350ns变为高电平. 若用中断方式传送数据时,通常把INTR连到8259A的请求输入端IRi.(3)方式2:双向选通输入/输出方式(bi-directional bus)方式2为双向选通输入/输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出.由于C口的PC7PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2,引脚信号定义如图7.10所示.由图7.10可以看出,PA7PA0为双方向数据端口,既可以输入数据又可以输出数据.C口的PC7PC3定义为A口的联络信号线,其中PC4和PC5作为数据输入时的联络信号线,PC4定义为输入选通信号,PC5定义为输入缓冲器满IBFA;PC6和PC7作为数据输出时的联络信号线,PC7定义为输出缓冲器满,PC6定义为输出应答信号;PC3定义为中断请求信号INTRA.需要注意的是:输入和输出公用一个中断请求线PC3,但中断允许触发器有两个,即输入中断允许触发器为INTE2,由PC4写入设置,输出中断允许触发器为INTE1,由PC6写入设置,剩余的PC2PC0仍可以作为基本I/O线,工作在方式0. 28255A初始化编程 8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的.8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字.方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7PC0中某一条口线PCi(i07)的电平.两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位. (1)方式控制字的格式 8255A工作方式控制字的格式如图7.11所示. D0:设置PC3PC0的数据传送方向.D01为输入;D00为输出.D1:设置B口的数据传送方向.D11为输入;D10为输出D2:设置B口的工作方式.D21为方式1;D20为方式0.D3:设置PC7PC4的数据传送方向.D31为输入;D30为输出.D4:设置A口的数据传送方向.D41为输入;D40为输出.D6D5:设置A口的工作方式.D6D500为方式0,D6D501为方式1,D6D510或11为方式2.D7:方式控制字的标志位,恒为1.例如,将8255A的A口设定为工作方式0输入,B口设定为工作方式1输出,C口没有定义,工作方式控制字为10010100B.(2)C口置位/复位控制字的格式8255A C口置位/复位控制字的格式如图7.12所示.8255A C口置位/复位控制字用于设置C口某一位口线PCi(i07)输出为高电平(置位)或低电平(复位),对各端口的工作方式没有影响.D3D1:8种状态组合000111对应表示PC0PC7.D0:用来设定指定口线PCi为高电平还是低电平.当D01时,指定口线PCi输出高电平;当D00时,指定口线PCi输出低电平. D6D4没有定义,状态可以任意,通常设置为0.D7位作为标志位,恒为0.例如,若把PC2口线输出状态设置为高电平,则置位/复位控制字为00000101B.(3)8255A初始化编程 8255A的初始化编程比较简单,只需要将工作方式控制字写入控制端口即可.另外,C口置位/复位控制字的写入只是对C口指定位输出状态起作用,对A口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字.【例7.1】 设8255A的A口工作在方式0,数据输出,B口工作在方式1,数据输入,编写初始化程序(设8255A的端口地址为FF80HFF83H).初始化程序如下: MOVDX, 0FF83H ; 控制寄存器端口地址为FF83HMOVAL, 10000110B; A口方式0, 数据输出, B口方式1, 数据输入OUTDX, AL ; 将控制字写入控制端【例7.2】 将8255A的C口中PC0设置为高电平输出,PC5设置为低电平输

温馨提示

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

评论

0/150

提交评论