1 8255端口地址如何确定_8255怎样计算端口地址-德赢Vwin官网 网

8255端口地址如何确定_8255怎样计算端口地址

电子说

1.3w人已加入

描述

  8255芯片特性

  (1)一个并行输入、输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。

  (2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口。它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3)。A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定。

  8255引脚及功能

8255

  RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

  CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输。

  RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

  WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。

  D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

  8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在以下三种方式下工作。

  方式0————基本输入输出方式;方式1————选通输入/出方式;方式2————双向选通输入/输出方式;

  PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 工作于三种方式中的任何一种;

  PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 不能工作于方式二;

  PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。‘不能工作于方式一或二。

  A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。

  当A1=0,A0=0时,PA口被选择;

  当A1=0,A0=1时,PB口被选择;

  当A1=1,A0=0时,PC口被选择;

  当A1=1.A0=1时,控制寄存器被选择.

  8255应用电路

  所示为8255j端口构戚的‘4X8矩阵键盘。8255的PA端口初始化为输出工作方式作为列线使用,PC端口韧始化为输入工作方式作为行线使用,在每一个行线与列线的交叉点处接一个按键,再给每个按键设定一个编号【键值)。可以根据需要,将一部分按键定义为功能键,另一部分按键定义为数字键。

8255

  如何区分8255A端口地址

  可编程接口8255A端口地址是由其引脚决定的

  A1A0=00,代表A端口地址

  A1A0=01,代表B端口地址

  A1A0=10,代表C端口地址

  A1A0=11,代表控制字寄存器端口地址

  8255的端口地址的计算

  资料1:

  图2是采用74HC2244芯片进行输入接口扩展的原理电路,图3是读PO口的时序。由图3可以看出,当P2.7和RD同为低电平时,74HC2244才能将输入端的数据送到单片机的PO口。其中,P2.7决定了74HC244的地址,0000H- 7FFFH(共32K)地址都可以访问这个单元,这就是用线选法所带来的副作用。通常可选择其中的最高地作为这个芯片的地址来写程序,如这个芯片的地址是7FFFH。但这仅仅是一种习惯,并不是规定,当然也完全可以用0000H作为这个芯片的地址。当确定了地址后,其接口的输入操作程序如下:

8255

  资料2:

  由于MCS-51单片机的外部RAM和I/0口是统一编址的,因此,可以把单片机外部64K字节RAM空间的一部分作为扩展外围I / 0口的地址空间。这样,单片机就可以像访问外部RAM存储器单元那样访问外部的PO口接口芯片。所以,8255的扩展端口地址不是唯一的,在0000H^ FFFFH,除了CS,A0,A1这三个位固定外,其他可以任意,如CS占用p2.7,A1占用P0.1,A0占用P0.0,那么可用的端口地址是:

  A口:(cs=P2.7=0, A1A0=P0.1P0. 0=00) 0000H—7FFCH

  B口:(cs=P2.7=0, A1A0=P0.1P0. 0=01 ) 0001H— 7FFDH

  C 口:( cs=P2.7=0, A1A0=P0.1P0.0=10 ) 0002H— 7FFEH

  控制口:(cs=P2.7=0 A1A0=P0.1P0.0=11 )

  0003H—7FFFH,

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分