A12可编程外围接口芯片8255A及其应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第9章可编程外围接口芯片8255A及其应用9.1概述9.28255A的工作原理9.38255A的应用举例1.并行接口并行通信:各位数据都是并行传输的,它以字节(或字)为单位与I/O设备或被控对象进行数据交换。并行通信由并行接口来完成,并行接口是连接CPU与并行外设的通道。特点:传输速度快;硬件开销大;只适合近距离传输。一个并行接口中包括状态信息、控制信息和数据信息。9.1概述9.1.1并行通信⑴状态信息表示外设当前所处的工作状态。例如:准备好信号表示输入设备已经准备好信息;忙信号(BUSY)表示输出设备正在输出信息,等于指示CPU要处于等待状态。⑵控制信息控制信息是由CPU发出的,用于控制外设接口的工作方式以及外设的启动和停机信息等。⑶数据信息CPU与并行外设数据交换的内容。状态信息、控制信息和数据信息,通常都是通过数据总线传送,这些信息在外设接口中分别存取在不同的端口中。对于一个外设接口,常常需要几个端口才能满足和协调外部设备的工作与要求,图10.1是一个典型的并行接口与CPU、外设的连接图。并行接口与CPU、外设的连接控制寄存器状态寄存器输入缓冲寄存器输出缓冲寄存器CPU总线系统输入设备输出设备数据总线输出数据准备好输入数据准备好中断请求地址译码器复位地址总线AENCSA0A1IORIOW输入数据输入数据准备好输入应答输出数据输出数据准备好输出应答2.并行接口的组成⑴状态寄存器状态寄存器用来存放外设的信息,CPU通过访问这个寄存器来了解某个外设的状态。⑵控制寄存器并行接口中有一个控制寄存器,CPU对外设的操作命令都寄存在控制寄存器中。⑶数据缓冲寄存器在并行接口中还设置了输入缓冲寄存器和输出缓冲寄存器,缓冲器是用来暂存数据,可以保证输入,输出数据的可靠性。因为外设与CPU交换数据,CPU的速度远远高于外设的速度。3.数据输入过程数据输入过程,指的是外设向CPU输入数据。4.数据输出过程数据输出过程,指的是CPU向外设输出数据。串行通信:所谓串行通信是通过一位一位地进行数据传输来实现通信。特点:具有传输线少,成本低等优点,适合远距离传送;缺点是速度慢。若并行传送n位数据需时间T,则串行传送的时间最少为nT。在实际传输中,是通过一对导线传送信息。在传输中每一位数据都占据一个固定的时间长度。1.串行接口的组成串行接口是通过系统总线和CPU相连,串行接口部件的典型结构如图10.2所示。主要由控制寄存器、状态寄存器、数据输入寄存器和数据输出寄存器4部分组成。9.1.2串行通信串行接口与CPU、外设的连接控制寄存器状态寄存器数据输入寄存器数据输出寄存器CPU总线系统数据总线RxRDY地址译码器复位地址总线AENIORIOW串行数据输入TxRDY串入并出并入串出CSDC/接收时钟串行数据输出发送时钟MODEM控制⑴控制寄存器控制寄存器用来保存决定接口工作方式的控制信息。⑵状态寄存器状态寄存器中的每一个状态位都可以用来标识传输过程中某一种错误或当前传输状态。⑶数据寄存器①数据输入寄存器:串行数据一位一位地从传输线进入,经过串入并出(串行输入并行输出)电路的转换,当接收完一个字符之后,数据就从移位寄存器传送到数据输入寄存器,等待CPU读取。②数据输出寄存器:CPU输出一个数据时,先送到数据输出缓冲寄存器,然后传到移位寄存器,经过并入串出(并行输入串行输出)电路的转换一位一位地通过输出传输线送到对方。并行接口电路,在早期的微机中与串行口、软盘接口、硬盘接口等都放在一块多功能接口卡上,插在微机的扩展槽上使用。现在这部分电路已在微机的主板上由与CPU配套的北桥芯片组来实现其功能。在电路设计时采用专用的接口芯片,可编程的接口芯片8255A是完成并行通信的集成电路芯片。9.28255A的工作原理8255内部结构和引脚图(a)8255A内部结构;(b)8255A外引脚图数据总线缓冲器读写控制逻辑B组控制端口B(8)端口C下半部(4)端口C上半部(4)端口A(8)A组控制DBRDWRA0A1RESETCSCPU接口内部逻辑外部接口PA7~PA0PC7~PC4PC3~PC0PB7~PB08255A12345678910111213141516171819204039383736353433323130292827262524232221PA3PA2PA1PA0RDCSGNDA0A1PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3(a)(b)8位内部数据总线可编程并行接口芯片应具有的功能:(1)具有两个以上的输入/输出数据端口(锁存/缓冲);(2)每个数据端口有与CPU用应答方式交换信息所必须的控制和状态信息;也有与外设交换信息所必须的控制和状态信息;(3)通常每个数据端口还具有能用中断方式与CPU交换信息所必须的电路;(4)具有进行片选和读写控制的电路;(5)可编程(由程序来选择数据端口,数据传送方向,交换信息的方式等)。数据总线D7~D0oooRDWRA0A1RESETCS读/写控制逻辑A口上C口下C口B口PA7~PA0PC7~PC4PC3~PC0PB7~PB0内部总线A组控制B组控制外设接口CPU接口内部逻辑一、8255A的结构和功能端口A和端口B可用作8位数据I/O口,端口C既可作为8位I/O口,又可作为两个4位I/O口,还常用来配合A口和B口工作,作为控制信号输出、或作为状态信号输入。(一)数据端口8255A内部包含3个8位I/O端口A口、B口和C口,通过外部24根I/O线与外设交换数据或进行通信联络。其中C口可分为两个4位口使用。A口上C口下C口B口PA7~PA0PC7~PC4PC3~PC0PB7~PB0内部总线(二)控制逻辑这是两组根据CPU的编程命令控制8255A工作的电路,控制寄存器用来接收CPU送来的命令字,以决定A组、B组的工作方式,或对C口的每一个位执行位操作。A组控制B组控制内部总线(三)数据总线缓冲器是双向三态的8位缓冲器,用作8255A和系统数据总线的接口。1)传送系统对8255A的控制字;2)传送各端口的输入、输出数据。数据总线DBoooRDWRA0A1RESETCS读/写控制逻辑内部总线至数据端口至控制寄存器(四)读/写控制逻辑控制总线的开放与关闭;控制信息传送的路径和方向。(五)端口寻址A1A0RDWRCS功能00010端口A数据总线01010端口B数据总线10010端口C数据总线00100数据总线端口A01100数据总线端口B10100数据总线端口C11100数据总线控制字寄存器8255A端口选择表(六)方式选择8255ABCBDBRDWRD7~D0A0A1CSPBPAPC88I/OI/O44PB7~PB0PA7~PA0PC3~PC0PC7~PC4I/OI/O88I/OI/OPB7~PB0PA7~PA0PBPAPC控制或I/O控制或I/O88I/OI/OPB7~PB0PA7~PA0PBPAPCI/O控制方式0:基本输入输出方式1:选通输入输出方式2:双向传送二、8255A的控制字1、方式选择控制字8255A有3种基本的工作方式,在对8255A进行初始化编程时,应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。方式选择控制字格式D7D6D5D4D3D2D1D0下C口I/O1=输入0=输出B口I/O1=输入0=输出B组方式0=方式01=方式1上C口I/O1=输入0=输出特征位D7=1A组方式:00=方式001=方式11x=方式2A口I/O1=输入0=输出例:在一个8086/8088系统中,有一片8255芯片,其各个端口的地址分别为0F8H~0FBH,现要求各个端口的工作方式为:端口A方式0输入端口B方式1输出端口C(上半部)PC7~PC4输出端口C(下半部)Bit3输入要求:进行初始化编程10011001分析:根据8255工作模式可确定方式控制字95H初始化编程:MOVAL,95HOUT0FBH,AL2、C口按位置位/复位控制字端口C常用作控制或应答信号,通过对8255A的控制口写入按位置位/复位控制字,可使C口的任一个引脚的输出单独置1或置0。C口按位置位/复位控制字格式D7D6D5D4D3D2D1D01置位0复位无关位特征位D7=0000选中PC0001选中PC1111选中PC7位选择例:要使端口C的bit3置位的控制字为:00000111B;MOVAL,00000111BOUT0FBH,AL而使端口C的bit3复位的控制字为:00000110B;MOVAL,00000110BOUT0FBH,AL三、8255A的工作方式1、方式0-基本输入输出方式适用于不需要应答信号的简单I/O场合。A口和B口可作为8位端口,C口的高4位和低4位可作为两个4位的端口,且每个端口均可作为输入口或输出口用。数据输出有锁存,输入无锁存。CS,A0,A1RDD0~D7数据有效输入数据有效方式0的输入时序例如:要求8255A的A口和B口均工作于方式0,A口和下C口作输入口,B口和上C口作输出口,设8255A各端口地址为40H~43H,可用下列指令来设置这种工作方式:MOVAL,91H;方式控制字10010001BOUT43H,AL;方式控制字送控制寄存器CS,A0,A1WR输出数据有效D0~D7数据有效方式0的输出时序方式0一般用于无条件传送的场合,不需要应答式联络信号,外设总是处于准备好的状态。也可以用作查询式传送,查询式传送时,需要有应答信号。可以将A端口、B端口作为数据口使用。C端口则可用来输出一些控制信息,或输入外设的状态。利用C端口配合A端口和B端口完成查询式的I/O操作。当A端口和B端口以方式1进行输入输出时,必须利用C端口提供的固定的选通和应答信号,该方式也称选通输入/输出方式。方式1的基本定义是:分成A组和B组,每组包含一个8位的数据端口和1个4位的控制/数据端口。可作输入,也可作输出,且输入和输出都可以被锁存。2.方式1--选通输入/输出方式规定:PC3~PC5分配给A端口作联络线,PC0~PC2分配给B端口作联络线,C端口剩下的2位PC7、PC6可作为简单的输入/输出线使用。1)选通的输入方式方式1选通输入下对应的控制信号图(a)对A端口;(b)对B端口1011I/O1011I/O11111D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0A组工作于方式1输入的控制字A组和B组工作于方式1输入的控制字B组工作于方式1输入的控制字方式1B端口为输入PC7、PC61=输入0=输出PC7、PC61=输入0=输出A端口为输入方式1STBAIBFAINTRAI/OPC4PC5PC3INTEA&PC7~PC6PA7~PA02RD8PC2PC1PC0INTEB&PB7~PB0RD8INTRBIBFBSTBB(a)(b)方式1选通输入方式下各控制信号的意义:STB(Strobe):选通输入信号,低电平有效。A组方式控制字中对应PC4;B组方式控制字中对应PC2。IBF(InputBufferFull):输入缓冲器满信号,高电平有效。是8255A送给外设的联络信号,A组方式控制字中对应PC5;B组方式控制字中对应PC1,该信号可供CPU查询。该信号在选通输入信号STB变低后,300ns时间内即变为有效的高电平。在RD信号撤消后的300ns时间内IBF信号才撤消,变为无效的低电平,这样保证了数据传输的可靠性。INTR(InterruptRequest):中断请求信号,高电平有效。A组方式控制字中对应PC3;B组方式控制字中对应PC0。当STB信号撤消变为高电平后,并且IBF信号也为高电平,INTR信号变为有效的高电平。当CPU发出的RD信号有效后,400ns的时间内INTR信号将撤消,变为低电平。INTE(InterruptEnable):中断允许信号,高电平有效。否则屏蔽中断请求。INTE的状态是用软件通过由C端口置1/置0控制字来控制的,在A组中,使

1 / 78
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功