首页 理论教育 8155扩展:可编程RAM/IO/CTC接口应用

8155扩展:可编程RAM/IO/CTC接口应用

时间:2023-10-23 理论教育 版权反馈
【摘要】:Intel 8155是具有40条引脚的双列直插式RAM/IO/CTC的扩展器件。图7-46为8155状态字的格式和定义。选片端接地,接P2.0,8155的RAM地址为00~FFH,I/O寄存器地址为100H~105 H。P2.1~P2.7可以作为I/O口使用。置P2.0状态后,再用R0或R1作指针对8155读写。

8155扩展:可编程RAM/IO/CTC接口应用

Intel 8155是具有40条引脚的双列直插式RAM(静态随机存储器)/IO(并行输入输出口)/CTC(定时器/计数器)的扩展器件。它含有:256个字节的RAM存储器,两个8位可编程的输入/输出并行接口PA和PB,一个6位可编程的输入/输出并行接口PC,和一个14位可编程的计数器/定时器(CTC)。8155可以直接和MCS-51系列单片机接口,不需要增加任何硬件逻辑电路,是MCS-51系列单片机系统紧凑系统常用的一种外围扩展器。

7.3.4.1 8155可编程RAM/IO/CTC接口的内部结构及引脚功能

图7-43所示为8155的内部结构和引脚图。

图7-43 8155的引脚与内部结构

1.8155 芯片的引脚

8155是一种有40个引脚的双列直插式标准芯片,除电源(VCC)和地信号(VSS)以外,其他信号可以分为两组:

(1)与外部连接的有:

PA0~PA7:8位并行I/O口线。

PB0~PB7:8位并行I/O口线。

PC0~PC5:6位并行I/O口线。

TI:定时器的计数脉冲输入线。

TO:定时器的输出信号线。

(2)与系统总线连接的有:

AD0~AD7:地址/数据总线。

IO/img:IO和RAM选择信号输入线,电平选择IO口,低电平选择RAM。

img:选片信号输入线,低电平有效;

ALE:地址允许锁存信号输入线,ALE端电平负跳变时把总线AD0~AD7的地址以及img的状态锁入片内锁存器。

img:读选通信号输入线,低电平有效。

img:写选通信号输入线,低电平有效。

RESET:复位控制信号输入线,高电平有效。

2.内部寄存器及其操作

8155内部有6个I/O寄存器,IO/img为高电平时.A0~A7为I/O寄存器地址,寄存器编址见表7-6。CPU对8155的I/O寄存器的读写操作如表7-7所示。

表7-6 8155内部IO寄存器编址

表7-7 CPU对8155的操作控制

7.3.4.2 8155命令字和状态字及其功能

1.命令字格式和功能

8155的并行口和定时器的逻辑结构是可编程的,即CPU通过把命令字写入命令寄存器来控制它们的逻辑功能。命令寄存器只能写不能读。图7-44为8155命令字的格式和定义。

8155的PA口、PB口可编程为无条件的基本输入/输出方式和应答式的选通输入/输出方式,图7-45给出了PC2、PC1和I/O口逻辑组态的对应关系。

2.状态字(www.xing528.com)

状态字寄存器存放8155并行口、定时器的当前方式和状态供CPU查询,状态字只能读不能写,它和命令字寄存器共用一个地址。图7-46为8155状态字的格式和定义。

3.定时器控制字

8155的定时器/计数器是一个14位的减法计数器。它的计数初值可设在0002~3FFFH之间。它的计数速率取决于输入TI的脉冲频率,最高可达4MHz。它有4种操作方式,不同的方式下引脚TO输出不同的波形。8155内有两个寄存器存放操作方式码和计数初值,图7-47为8155定时器控制字的格式和定义。

表7-8给出了4种操作方式的选择及相应输出波形。初始化时,应先对定时器的高、低字节寄存器编程,设置方式和计数初值n。然后对命令寄存器编程(命令字最高两位为1),启动定时器/计数器计数。注意硬件复位并不能初始化定时器/计数器为某种操作方式或者启动计数。

图7-44 8155命令字的格式和定义

图7-45 8155 I/O口的逻辑组态

图7-46 8155状态字的格式和定义

图7-47 8155定时器控制字的格式和定义

表7-8 8155定时器/计数器的4种操作方式

若要停止定时器/计数器计数,需通过对命令寄存器编程(最高两位为01或10),使定时器/计数器立即停止计数或待定时器/计数器溢出后停止计数。

8155在计数过程中,定时器/计数器的值并不直接代表从TI脚输入的时钟个数,必须通过下列步骤来获得TI上输入的时钟数:

(1)停止计数。

(2)读定时器/计数器的高、低字节寄存器并取其低14位信息。

(3)若这14位值为偶数,则当前计数状态等于此偶数除2;若为奇数,则当前计数值等于此奇数除2后加上计数初值的一半的整数部分,得当前计数值。

(4)初值和当前计数值之差即为TI脚输入的时钟个数。

7.3.4.3 8155接口的应用

1.8155作为并行接口与MCS-51相连

8155常用于51单片机的紧凑系统中,可以直接和MCS-51单片机连接。图7-48为单片机只扩展一片8155的紧凑系统。选片端img接地,img接P2.0,8155的RAM地址为00~FFH,I/O寄存器地址为100H~105 H。P2.1~P2.7可以作为I/O口使用。置P2.0状态后,再用R0或R1作指针对8155读写。

【例7-10】 利用8155的PA接口控制信号灯循环显示,时间间隔1s。硬件连接如图7-49所示。

由图可知,控制接口寄存器、A口寄存器的地址分别为7F00 H、7F01H。

C语言参考程序为:

图7-48 单片机和8155的一种接口逻辑

图7-49 8155的PA接口控制信号灯硬件连接

2.8155 作为定时器接口与MCS-51相连

【例7-11】 如果使8155的定时器/计数器作为方波发生器,TO输出方波,频率是TI输入时钟的24分频,PA和PB为输出口,PC口为输入口。计数器的初值应为0018H,计数器最高两位M2M1=01,置8155定时器为方式1,计数常数为4018H。

初始化汇编程序段为:

对应的C语言程序为:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈