点集贵州电脑网
 
 
 梦想之源 ›› 软件应用 ›› 8255的三种工作方式是哪三种? 版主:
软件应用
新建论坛
申请免费TS
1 / 1 页
<< 1 >>
跳转
 主题:8255的三种工作方式是哪三种?
 
 茫点
发表时间:[2008-10-21 00:54:39] [向作者发站内短信] [复制链接告诉朋友]
等 级:列兵
经 验:301
性 别:帅哥
文 章:44
精 华:4

  8255三种工作方式:    
  方式0(基本输入/输出方式)   这种方式不需要任何选通信号。A口、B口及C口的两个4位口中的任何一个端口都可以被设定为输入或输出。输出锁存,输入不锁存。    
  方式1(选通输入/输出方式)   这种方式下,A口、B口、C口分为两组。A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,C口的高四位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口可由编程设定为输入口或输出口,C口的低四位则用来作为输入/输出操作的控制和同步信号。A口和B口的输入输出数据都被锁存。    
  方式2(双向总线方式)   这种方式下,A口为8位双向总线口,C口的PC3~PC7用来作为输入/输出操作的控制和同步信号;B口和C口的PC0~PC2则可编程为方式0或方式1工作。  


当事情变得困难了,你开始寻找你要责怪的东西……而关键是你承受多大的重击!

 楼主更多新贴 :  
游戏地带WOW竞技场教程、插件、高手经验、战
软件应用为何选择TS?如何在Linux下架设TS服
软件应用8255的三种工作方式是哪三种?
软件应用ravmond.exe,瑞星的时时监控程序!
  楼1  
等 级:列兵
经 验:301
性 别:帅哥
文 章:44
精 华:4
 茫点
发表时间:[2008-10-21 00:59:23] [向作者发站内短信] [复制链接告诉朋友]
回复:8255的三种工作方式是哪三种?

8255引脚功能  
  ----------------  
  RESET:复位控制端,RESET=1时,控制寄存器被清除,所有I/O口均被置成输入方式。  
  CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。  
  RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态字。  
  WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。  
  D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU   执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。  
  PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。  
  PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。  
  PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出  
  或状态信号输入端口。  
    PA3--   1   40   --PA4    
  PA2--   2   39   --PA5    
  PA1--   3   38   --PA6    
  PA0--   4   37   --PA7    
  RD--   5   36   --WR    
  CS--   6   35   --RESET    
  GND--   7   34   --D0    
  A1--   8   33   --D1    
  A0--   9   32   --D2    
  PC7--   10   31   --D3    
  PC6--   11   30   --D4    
  PC5--   12   29   --D5    
  PC4--   13   28   --D6    
  PC0--   14   27   --D7    
  PC1--   15   26   --VCC    
  PC2--   16   25   --PB7    
  PC--   17   24   --PB6    
  PB0--   18   23   --PB5    
  PB1--   19   22   --PB4    
  PB2--   20   21   --PB3    
     
  A1、A0:端口地址选择,8255中有端口A、B、C和一个内部控制字寄存器,共4个端  
  口,由A0、A1输入地址信号来寻址。0-A口/1-B口/2-C口/3-控制口    

当事情变得困难了,你开始寻找你要责怪的东西……而关键是你承受多大的重击!

  楼2  
等 级:列兵
经 验:301
性 别:帅哥
文 章:44
精 华:4
 茫点
发表时间:[2008-10-21 00:59:37] [向作者发站内短信] [复制链接告诉朋友]
回复:8255的三种工作方式是哪三种?

8255A三种工作方式的功能说明
1.方式O的功能
1)方式0的基本功能
方式0是基本输入/输出方式。其功能如下:
①进行数据传送时不需要联络信号。
②任一设置成方式0的端口均可设置成输入或输出。
③输出具有锁存功能。
④输入没有锁存功能。 
⑤每一个8位口和4位口均可设置成方式0。如果所有的8位口和4位口都设置成方
式0,则可以有16种不同的输入/输出组合:


 
    端口是否具有锁存功能是需要注意的。如果具有锁存功能,则8255A可作为CPtJ与外设之间数据传送的中转站。这时,CPU与外设之间数据传送是异步的。如果没有锁存功能,则8255A作为数据通道,仅起单向三态门的作用。这时,CPU与外设之间数据传送是同步的。方式0的输出具有锁存功能,而输入没有锁存功能。
  2)方式0的时序
  ①输入时序
  当外设准备好一个数据时,CPU执行一条输入指令,便可从8255A指定端口读人数据。
如图6.4所示是方式0的输入时序,表6.3是方式0输入时序参数表。从中可看出:


 
    ·读信号RD(上划线)的宽度TRR的最小值为300 ns。
    ·片选信号CS(上划线)、端口寻址信号Al、A0应领先于RD(上划线),该参数用TAR表示,其最小值为0,即可以不领先。
    ·输入数据也应领先于RD(上划线),该参数用TIR表示,其最小值也为0,即也可不领先。
    ·RD(上划线)有效后,经过TRD时间数据可稳定出现在数据总线上,CPU可以读取。TRD的最大值为250 ns.这一点体现了方式0的输入没有锁存功能,此时8255A仅起一个单向三态门的作用。


 
  类似存储器芯片和CPU连接时存在时序配合问题,在8255A和CPU相连时,也存在时序配合问题。对于方式0的输入,两个参数需要重点考虑,这就是RD(上划线)信号的宽度和从读信号有效到数据稳定的时间TRD。如果CPU的速度较快,则在I/O读总线周期中需要插入等待时钟周期。对于方式0的输出以及其他工作方式,在和CPU相连时也有一些参数需要考虑。这方面涉及较多细节,本教材就不讨论了。读者如有需要可查阅相关技术资料。
  ②输出时序
  当需要给外设发送数据时,用输出指令将数据送到指定端口的输出缓冲器。图6.5所示是方式0的输出时序,表6.4是方式O输出时序参数表。





从中可看出:
    ·写脉冲WR(上划线)的宽度TWW的最小值为400 ns.
    ·片选信号CS(上划线)、端口寻址信号Al、A0应领先于WR(上划线),该参数用TAW表示,其最小值为0。
    ·数据有效应领先于结束TDW时间,TDW的最小值为100 ns。
    ·WR(上划线)结束后经过TWB时间的时间延迟,写入的数据稳定地出现在端口的外围引线上。TWB的最大值为350 ns。
  3)方式0的基本应用
  方式0有两种基本应用:一是作无条件传送方式的接口;二是作查询方式的接口。在作
查询方式接口时,需指定某端口为输入口,以便输入外设的状态信息。
  2.方式1的功能
  1)方式1的基本功能
  方式1是选通输入/输出方式,即进行数据传送时需要联络信号。其基本功能如下:
  ①A组和B组都可以设置为该方式,并且可以同时设置。
  ②每一个设置成方式1的端口(组)包含8位数据线和3条联络线,并提供中断逻辑。
  ③任一端口均可作输入或输出,输入和输出均有锁存功能。
  2)方式1输入的逻辑功能结构及时序
  当8255A的A组和(或)B组被设置成方式l的输入时,其逻辑功能结构变成如图6.6
所示。这时,PC5~PC3和(或)PC2~PC0被指定成相应的联络控制信号。这些联络控制信号的含义在前面已经介绍。INTEA和INTEB分别是A组和B组的中断允许逻辑。前者由PC4的置位/复位控制,后者由PC2的置位/复位控制。从图6.6中可看到,PC4和PC2已被指定为选通信号STB(上划线),那么,为何又用PC4和PC2来控制中断允许呢?可这样理解,这是一种一位两用的设计,当PC4(PC2)有来自外部的输入时,8255A理解为选通信号STB(上划线);当通过CPU对PC4(PC2)进行写操作时,8255A理解为对中断允许进行控制。


 
  当A组被设置成方式1输入时,PC3被指定为A组的中断请求信号INTRA。当B组被
设置成方式1输入时,PCO被指定为B组的中断请求信号INTRB。中断请求信号的产生可从下面的时序图看出。
  图6.7是方式1输入时序图,表6.5是方式1输入时序参数表。用方式1进行数据输入的过程大致可分为以下3个阶段:


 
  (1)外设将数据送入8255A的输入缓冲器
  当外设准备好一个字节数据,发出一个选通信号STB(上划线)(宽度至少为500 ns),该信号把数
据装入8255A的输入缓冲器。STB(上划线)有效后经过时间Tsm后,IBF变为有效(输入缓冲器满),
通知外设暂时不要送新的数据。
    (2)8255A向CPU提出中断请求
    在选通结束经过TSIT时间后,INTR由低变高(如果端口中断允许的话),向CPU提出中断请求,请求cPu取走输入缓冲器中的数据。
    (3)CPU在中断服务程序中读取输入缓冲器中的数据


 
    CPU在当前条件具备的情况下响应8255A的中断请求。在中断服务程序中通过一条输入指令来读取输入缓冲器中的数据。执行输入指令时产生的读信号RD(上划线)起3个作用:第一,读取数据,这是显然的;第二,RD(上划线)信号前沿过后经过TRIT时间INTR被清除,为下一次再提中断请求作准备;第三,RD(上划线)后沿过后经过TRIB后IBF变低,通知外设刚送的数据CPU已取走,从现在起可以送新的数据了。当外设准备好新的数据后又开始重复(1)~(3)的过程。
    从上面的时序关系可看出,外设用多长时间准备数据对CPU来说没有关系,而CPU在什么时间将输入缓冲器中的数据取走对外设来说也没有关系。这就是说,借助于STB(上划线)、IBF等联络控制信号(当然也需要CPU的读信号),使得8255A能够很好地协调外设向CPU的数据传送,而不管外设与CPU之间存在的速度差异。
    当8255A的A组被置成方式1输入时,只占用了c高4位口的两根线(PC5和PC4,另有一根是C低4位口的PC3)。此时,c高4位口还有两根线,即PC7和PC6,可单独设置为输入或输出,而不管B组设置成什么方式(因为B组的设置只用到C低4位口)。
    图6.8给出了单独将A组设置成方式1输入和单独将B组设置成方式1输入的控制字形式。其中“×”表示该位的取值任意,一般取0。当然,两组都要使用时,对两组的设置应使用同一个控制字。


    .
    3)方式1输出的逻辑功能结构及时序
    当8255A的A组和(或)B组被设置成方式1的输出时,其逻辑功能结构变成如图6.9所示。这时,PC7、PC6、PC3和(或)PC2~PC0被指定成相应的联络控制信号。这些联络控制信号的含义在前面也已经介绍。DBF(上划线)有效表示输出缓冲器满,ACK(上划线)是来自外设的应答信号。


 
和方式1输入不同的还有两点。一是A组的中断允许,由对PC6的置位/复位控制,而不是方式l输入时对PC4的控制(至于B组的中断允许,方式1输出和输入一样,都通过对PC2的置位/复位进行控制)。另一点是,当8255A的A组被设置成方式l输出(不管B组如何设置)时,c高4位口中未被利用的两根线是PC5和PC4,而不是设置成方式1输入时的PC7和PC6。这两根线也可单独设置为输入或输出。
    图6.10所示是方式1输出时序图,表6.6是方式l输出时序参数表。图6.10清楚地表明了用中断方式传送数据的过程。输出过程是由CPU响应8255A的中断请求开始的。该过程大致可分为以下三个阶段:




     
    (1)CPU在中断服务程序中输出一个字节数据
    在中断服务程序中,CPU执行一条输出指令,将输出数据送上数据总线并发出写信号WR(上划线)。WR(上划线)起三个作用:第一,将数据写入输出缓冲器;第二,WR(上划线)前沿过后经过TWIT时间延迟后清除INTR,为下一次提中断请求做准备;第三,从WR(上划线)后沿算起,经过TWOB时间延迟后OBF(上划线)变为有效,通知外设可以使用外围线上的数据了。实际上,外设可利用OBF(上划线)作接收数据的选通脉冲。
    (2)外设利用输出的数据
    在OBF(上划线)有效后,外设就可以利用8255A外围线上的数据进行具体的输出(如打印)。
    (3)外设发出回答信号后8255A再次向CPU提出中断请求
    在外设利用完数据后会发出一个回答信号ACK(上划线)。ACK(上划线)的前沿过后经过TAOB时间使OBF变为无效,通知外设输出缓冲器中还没有出现新的数据;ACK(上划线)的后沿经过TAIT时间使INTR再次变为有效,向CPU提出新的中断请求。在条件具备的情况下CPU再次进入中断服务程序,于是又开始重复(1)~(3)的过程。
  上面的时序关系表明,CPU输出到输出缓冲器中的数据,外设什么时间利用都可以,只要求它用完之后回送一个ACK(上划线)信号,以便8255A向CPU提出新的中断请求;而cPu何时予以响应以输出新的数据也没有时间要求。由此可见,借助于OBF(上划线)、ACK(上划线)等联络控制信号(当然也需要CPU的写信号),使得8255A能够很好地协调CPU向外设的数据输出,而不管外设与CPU之间存在的速度差异。
  4)方式1的基本应用
  方式1最主要的应用是作中断传送方式的输入端口或输出端口。这样可充分利用该方式提供的功能。当然也可用作查询方式的接口。这时,不利用:INTR信号,而是读端口c的状态。如果作输人口,则读IBF的状态。若发现IBF为高,表示外设已将数据装入输入缓冲器,这时可用输入指令读取端口数据。如果作输出口,则读OBF(上划线)的状态。若OBF(上划线)为低,则表示外设尚未利用完输出缓冲器中的数据;等到OBF(上划线)变为高电平,CPU才可输出新的数据。
3.方式2的功能
  1)方式2的基本功能
  方式2为双向传送方式。其基本功能如下:
  ①只限于A组使用。
  ②一个8位的双向数据端口(A口)和5条联络线(c口)。
  ③输入/输出均能锁存,输出缓冲器是三态的。
  ④输入/输出均可用中断方式。
  2)方式2的逻辑功能结构及时序
  当8255A的A组设置成方式2时,其逻辑功能结构变成如图6.11所示。前面介绍的5种联络控制信号在这里都用上了,含义和前面基本相同。因为是双向传送,所以INTRA在输入或输出时都可以产生。图中INTEl是与输出相关的中断允许,由对PC6的置位/复位控制;INTF2是与输入相关的中断允许,由对PC4的置位/复位控制。


 
    当A组设置成方式2时,C口还有3根线(PA2~PA0)没有使用,而B组方式1输入或输出使用的就是这3根线。所以,当A组设置成方式2时,B组还可以设置成方式1,当然也可设置成方式0。
    方式2的时序可认为是方式l的输入方式时序和方式1的输出方式时序的组合。为节省篇幅,这里不准备给出具体的时序图。但有两点需要说明。一是中断请求信号的产生。
在输人中断允许的情况下(INTE2=1),当数据已送入到输入缓冲器,并且IBF变为有效,此时产生中断请求。或者在输出中断允许的情况下(INTEl=1),数据已输出至端口,并且外设发来了ACK(上划线)信号,这时也产生中断请求。第二点是ACK(上划线)还有一个重要的作用,该信号有效时打开A口的三态输出缓冲器,使数据出现在PA7~PA0上。    ,
  3)方式2的基本应用
 
从方式2的基本功能就可看出,它可作为中断传送方式的双向端口。

当事情变得困难了,你开始寻找你要责怪的东西……而关键是你承受多大的重击!

1 / 1 页
<< 1 >>
跳转
  快速回复
  帐号: 密码: 匿名不登陆
回复内容:  
验 证 码:
 
 
·VIP收费TS,您明智的选择!
·9800GT+19'液晶DIY仅售3500元
·双核特惠:1999、2999、3999
·什么是点金积分,如何查看自
·团购一期:三星R458-DS0G+高
  
贵州点集科技发展有限责任公司·点集贵州电脑网 版权所有©2006-2008
中华人民共和国增值电信业务经营许可证 黔B-20070010号
客服QQ: 93804809818866281927205370
电子邮件: deangi@vip.sina.com
技术支持: 0851-5109268