可编程外围接口芯片8255A及其应用.ppt_第1页
可编程外围接口芯片8255A及其应用.ppt_第2页
可编程外围接口芯片8255A及其应用.ppt_第3页
可编程外围接口芯片8255A及其应用.ppt_第4页
可编程外围接口芯片8255A及其应用.ppt_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

1、第九章可编程外围接口芯片8255A及其应用,工作原理9-1 8255A 1。8255A 2的结构和功能。8255A 3的控制字。8255A的工作模式及c端口状态字9-2 8255A 1的应用实例。基本输入输出应用示例2。键盘接口3。8255A在PC机/XT 4机上的应用。PC机/XT机5的扬声器接口电路。并行打印机接口。英特尔8255A是一款通用可编程外设接口芯片。它有三个并行的输入输出端口,并可以编程设置各种工作模式。它便宜且易于使用,并且可以直接与英特尔系列芯片连接。它广泛应用于中小型系统。1.8255A的结构和功能,图9.1的引脚图和图9.2、1的内部结构图。三个数据端口a、b和c可以视

2、为输入/输出端口,但它们的结构和功能也略有不同。端口甲:它是一个独立的8位输入输出端口,有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。当端口A输入和输出时,数据可以被锁存。b端口:它也是一个独立的8位输入输出端口,有一个8位输出锁存/缓冲区和一个8位输入缓冲区,只能锁存输出数据。c端口:可视为独立的8位输入输出端口;它也可以被视为两个独立的4位输入/输出端口。内部有一个8位输出锁存器/缓冲器和一个8位输入缓冲器,仅锁存输出数据。这是两组根据中央处理器指令控制8255A工作模式的电路。这些控制电路内部设有控制寄存器,可以根据中央处理器发送的编程命令控制8255A的工作模式,也可以根据

3、编程命令设置/复位C端口的指定位。a组控制电路用于控制a端口和c端口的高4位(pc7-pc4);b组控制电路用于控制b端口和C端口的低4位(PC3-PC0).3数据总线缓冲器、8位双向三态缓冲器。作为8255A与系统总线的接口,输入输出数据、中央处理器的编程命令以及外设通过8255A传输的工作状态信息都是通过它传输的。4读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。它从系统地址总线接收芯片选择信号、系统读信号、写信号、复位信号和端口地址选择信号A0和A1。8255A的引脚功能8255A的引脚信号可以分为两组:一组是中央处理器的信号,另一组是外设的信号。面向中央处理器的引脚信

4、号和功能d0-D7: 8位、双向和三态数据线,用于连接系统数据总线;复位:复位信号,高电平有效,输入,用于清除8255A内部寄存器,并行设置端口A、端口B和端口C;芯片选择,输入,用于确定芯片是否被选中;研发读取信号,输入,控制8255A向中央处理器发送数据或状态信息;WR写信号,输入,控制中央处理器向8255A发送数据或控制信息;A1、AO:内部端口地址的选择和输入。这两个引脚上的信号组合决定了8255A内部的哪个端口或寄存器在工作。8255A有4个端口:a端口、b端口、c端口和控制端口。有关两个引脚信号组合的选定端口,请参见下表。这些信号CS、WR、RD、A1和A0的组合决定了8255A的

5、所有特定操作。A1和A0端口已选定。CS*、A1、A0、RD*和WR*引脚的不同组合见右表,以实现各种功能。参见下表:外设引脚信号和功能PA0PA7:连接外设的A组数据信号;pb0pb 7:b组数据信号,用于连接外设;pc0p 7:c组数据信号,用于连接外设或作为控制信号。第二,8255A的控制字,它有两种控制字:1。模式选择控制字定义每个端口的工作模式;2.置位复位控制字复位c端口的任何位,或用于设置INT位(模式1和2)。1.模式选择控制字应将控制字写入8255A的控制端口。只有写入控制字后,8255A才能按照指定的工作模式工作。8255A控制字的格式和每一位的功能如图9-4所示。、1、模

6、式0、基本输入/输出模式2、模式1、门控输入/输出模式3、模式2、双向总线输入/输出模式。当系统复位时,8255A的复位输入端处于高电平,这将复位8255A。所有数据端口都设置为输入模式。当复位信号被移除时,8255A继续被复位。通过用输出指令编程8259A的控制字寄存器,并写入用于设置工作模式的控制字,三个数据端口可以以不同的方式工作。其中,端口A可以工作在三种模式中的任何一种,端口B只能工作在模式0和模式1,而不能工作在模式2。端口C通常分为两个4位端口,它们不仅作为输入和输出端口,还与端口A和端口B协作,为这两个端口的输入和输出操作提供接触信号。示例1系统要求8255A使用端口A模式0输

7、入、端口B模式0输出、端口C高4位模式0输出和端口C低4位模式0输入。那么控制字是:10010001B,即91H初始化程序是:MOV A1,91H输出CTRL_PORT,A1;(2)端口c的置位/复位功能仅在端口c可用,这是通过将根据指定位置置位/复位的控制字写入控制端口来实现的。端口c的这一功能可用于设置模式1的中断许可,以及设置外设的启动/停止等。根据位置设置/复位控制字的格式如图9-5所示。在P329情况下示例2,端口a的模式2需要允许两个中断,即需要设置PC4和PC6。端口B的模式1需要设置PC2来打开中断。初始化过程可以按如下方式完成。MOV机场,0C4H出口控制中心_港口,机场;设

8、置工作模式MOV A1,09H输出控制端口A1;设置PC4,允许端口a的输入中断MOV A1,ODH OUT CTRL_PORT,A1;设置PC6,允许端口a的输出中断MOV A1,05H OUT CTRL_PORT,A1;PC2已设置;端口B的输出被允许中断。第三,8255A的工作模式和端口C的状态字,1模式0 1)模式0是基本输入输出模式,只能用于无条件传输或查询传输;2)A端口和B端口可用作8位端口,C端口的高4位和低4位可用作两个4位终端;在实际使用中,C端口的两半也可以组合成一个8位端口。这样,8255A可以形成三个8位输入输出端口,或者两个8位和两个4位端口,以适应不同的使用场合。

9、3)中央处理器可以通过输入指令直接从指定端口读取数据,或者通过输出指令将数据写入指定端口,而无需任何其他接触信号进行响应。对于模式0,还规定输出信号可以锁存,输入不能锁存。端口信号线之间没有固定的时序关系,用户根据数据传输的要求决定输入输出的操作过程。图9.6控制字当所有端口工作在模式0时,8255A模式0时序图1)8255A模式0输入时序图,2)8255A模式0输出时序图,例如:让8255A控制字的端口地址为304H,要求端口A和B工作在模式0,端口A、B和C的高4位为输入,低端口A、B和C都工作在模式0 OUT DX、AL、和PA端口8255用作A在模式0,8255下工作的端口a的地址是3

10、00H、301H、302H和303H;写出8255A的初始化程序和开始模数转换的程序段。解决方案:1)初始化程序1)8255A: MOV DX,304H MOV AL,10010010b端口A、B和C都工作在模式0输出DX、a1;a和b端口是输入,c端口是输出;2)启动模数转换和读取转换数据的程序段:MOV DX,303h MOV a1,0000111 b输出DX,a1 MOV a1,00001110B输出DX,a1;发送置位/复位控制字,在PC7引脚产生正方波输出,并启动模数转换器,MOV DX,301H再次:输入A1,DX;输入端口b数据测试A1,00010000bPB4=0?JNZ再次;

11、等待模数转换结束,MOV DX,300小时进制,DX;从端口a读取转换后的数据。模式1也称为门控输入/输出模式。端口和端口是数据端口,可以工作在输入或输出模式。这两个8位数据端口的输入输出数据可以锁存,但输入输出操作只能在接触信号的控制下完成。端口c的6条线路用于产生或接收这些接触信号。特点:模式1为单向门控输入输出模式;有特殊的中断请求和联系信号线;扩音机端口和扩音机端口是数据端口,电脑端口的大部分引脚是为接触信号分配的。接触信号之间存在固定的时序关系。输入/输出操作为查询或中断请求产生一个特定的状态字;模式1通常用于查询传输或中断传输。8255A的操作模式1(选通操作模式)使用一组选通控制

12、信号来控制端口a和端口B的数据输入和输出.特点:1 .端口A和B用作输入或输出端口,而端口C被分成两部分,其中一些位(6位)被固定为端口A和B的选通控制信号.2.端口C的剩余位仍然可以用作数据位。3.当端口A和端口B用作输入和输出时,它们的选通信号是不同的。模式1的应用:主要用于中断控制模式下的输入输出。注意:除了端口C的一些位用作选通信号外,其他位(2位)可以作为输入或输出线在模式0下工作,数据传输方向可以由程序指定。8255A的工作模式,模式1(选通工作模式),端口a和b设置为模式1,端口c的接触信号输入:STB选通信号,由外设输入。=0时,外设数据被发送到8255的输入锁存器。a组对应于

13、PC4;b组对应于PC2。IBF输入锁存满信号,由8255A输出。当=1时,外设被告知输入数据已写入缓冲器,此时无法发送下一个数据。该信号由机顶盒的前沿产生。在中央处理器用输入指令(研发的后沿)取走数据后,该信号被清除。a组对应于PC5;组b对应于PC1。门控输入模式端口a和端口b在门控输入模式下工作,它们的端口状态、接触信号和控制字如下图所示。当端口a工作在模式1并作为输入端口时,端口c的PC4、PC4和PC3作为端口a的状态和控制线;当端口B工作在模式1并作为输入端口时,端口C的PC2、PC1和PC0作为端口A的状态和控制线;端口c的剩余PC6和PC7仍可用作输入或输出,模式控制字中的D3

14、位定义了PC6和PC7的传输方向。当D3=1时,PC6和PC7用作输入;当D3=0时,PC6和PC7输出。在模式1和模式2中,端口C作为端口A和端口B之间通信信号的引脚,其作用关系在芯片设计和制造过程中已经固定,不能由用户自行安排或通过编程改变。也就是说,端口c用作接触信号的引脚:它不受模式控制字的控制。当你出去的时候,你就进去。每个控制触点信号的含义如下:STB(Strated)选通信号,低电平有效,外部输入。当该信号有效时,8255A通过端口数据线PA7-PA0(用于端口A)或PB7-PB0(用于端口B)将外部设备输入的数据发送到所选端口的输入缓冲器。端口a的门信号STBA从PC4引入,端

15、口b的门信号STBB从PC2引入。IBF(输入缓冲器满)输入缓冲器满信号,高电平有效。8255A发送给外设的状态信号表示输入设备发送的数据已经传输到8255A的输入缓冲区,即缓冲区已满,8255A不能再接收其他数据。通常,该信号用于中央处理器查询。IBF由机顶盒信号设置,并由读取信号的上升沿复位。复位后,它指示输入缓冲器为空,并允许外设向8255A发送新数据。PC5作为端口a的输入缓冲器满信号IBFA,PC1作为端口B的输入缓冲器满信号IBFB、的中断使能信号.控制8255A是否可以向中央处理器发送中断请求信号,无需外部引脚。在组A和组B的控制电路中,有中断请求触发器INTE A和INTE B

16、,它们只能通过软件设置为1或清零,其中INTE A由设置/复位控制字中的PC4控制,INTE B由PC2控制。将置位/复位控制字写入8255A,将PC4置1,将INTE A置1,表示允许端口A中断;PC4清0,禁止端口a发送中断请求,即端口a处于中断屏蔽状态。同样,通过编程PC2来控制INTE B,允许或禁止端口B的中断。由于这两个触发器没有外部引脚,因此当引脚PC4和PC2上出现高电平或低电平信号时,中断使能触发器的状态不会改变。INTR(中断请求)中断请求信号。中断请求只有当机顶盒、机顶盒接口和互联网接口都很高时,网络中继才可能变高。也就是说,当选通信号结束时,由输入设备提供的数据已经被发

17、送到输入缓冲器,并且输入缓冲器满信号IBF已经变为高电平,并且中断被允许,8255A可以向中央处理器发送中断请求信号INTR。在中央处理器响应中断后,它可以使用输入指令来读取数据,并且读取信号RD的下降沿将INTR复位到低电平。INTR通常与8259A的中断请求输入段IR相连,并通过8259A的输出端int向中央处理器发送中断请求。端口A的中断请求信号INTER从引脚PC3输出,端口B的中断请求信号INTRB从引脚PC0输出。模式1选通输入的时序如下:分析模式1选通输入的工作过程:当外设向端口数据线PA7-PA0(用于端口A)或PB7-PB0(用于端口B)发送数据时,它向8255A发送负脉冲选通信号STB,外设的输入数据锁存在8255A的输入锁存器中。发送选通信号后,IBF在tSIB时间后有效,用作输入设备的应答信号,通知外设输入缓冲器已满,不发送新数据。选通信号结束后,如果机顶盒、机顶盒接口和互联网接口在时间间隔后都处于高电平,则INTR有效。该信号向中央处理器发送中断请求。在中央处理器响应中断后,它通过执行中断服务程序中的输入指令使读信号RD有效。读信号有效后,经过tRIT时间后,INTR变为低电平,中断被清除。读取信号后,数据已被读入累加器。tRIB时间后,IBF变低,表示

温馨提示

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

评论

0/150

提交评论