。由于AT89C52具有256字节部RAM。对本设计已经足够使用,因此不需要再扩展外部数据存储器。但本设计需外扩IO接口,因此采用8255扩展外部IO口。因为单片机的P0口是数据总线和低八位地址线共用的,所以需要使用地址锁存器74HC373。由此将P0口地址送于74HC373锁存,以便下一时刻,P0口传送数据。213其他芯片简介21318255的简介【3】
8255是一个并行输入输出的LSI芯片多功能的IO器件可作为CPU总线与外围的接口它具有24个可编程设置的IO口即3组8位的IO口,为PA口PB口和PC口它们又可分为两组12位的IO口A组包括A口及C口高4位PC4PC7B组包括B口及C口低4位PC0PC3A组可设置为基本的IO口闪控STROBE的IO闪控式双向IO3种模式B组只能设置为基本IO或闪控式IO两种模式而这些操作模式完全由控制寄存器的控制字决定。图23给出了8255芯片引脚结构
8255引脚功能①RESET复位输入线,当该输入端外接高电平时,所有部寄存器包括控制寄存器均被清除,所有IO口均被置成输入方式。
WORD版本
f图238255引脚图
②CS芯片选择信号线,当这个输入引脚为低电平时即CS0时表示芯片被选中,允许8255与CPU进行通讯CS1时8255无法与CPU做数据传输③RD读信号线,当这个输入引脚为低电平时即RD0且CS0时允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。④WR写入信号,当这个输入引脚为低电平时即WR0且CS0时允许CPU将数据或控制字写入8255。⑤D0~D7三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读写操作,控制字和状态信息也通过数据总线传送。⑥PA0~PA7端口A输入输出线,一个8位的数据输出锁存器缓冲器,一个8位的数据输入锁存器。⑦PB0~PB7端口B输入输出线,一个8位的IO锁存器,一个8位的输入输出缓冲器。⑧PC0~PC7端口C输入输出线,一个8位的数据输出锁存器缓冲器,一个8
WORD版本
f位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。8255有4个部缓存器,分别是A端口缓存器、B端口缓存器、C端口缓存器及控制缓存器。
当微电脑要读写8255的部缓存器时,必须利用A1及A0指定要对那一个暂器进行读写动作。下表为A1、A0配合RD、WR及CS的控制状态表。
表22
AA
R
W
C
10
D
R
S
操作情r