自动控制网—学习自动控制技术电气自动化技术从这里开始!
当前位置: 自动控制网 > 自动化 > 单片机 >

可编程RAM/IO/CTC口芯片8155

时间:2014-11-18 08:44来源:www.eadianqi.com 编辑:自动控制网
8155是一种多功能的可编程接口芯片。它有三个可编程 I / O 端口 A 口、 B 口和 C 口, A 口和 B 口是 8 位端口, C 口是 6 位端口。一个可编程的 14 位定时计数器; 256 字节的 RAM 存储器,能方便地进行 I / O 扩展和 RAM 扩展。8155的引脚及内部结构如图1

8155是一种多功能的可编程接口芯片。它有三个可编程 I / O 端口 A 口、 B 口和 C 口, A 口和 B 口是 8 位端口, C 口是 6 位端口。一个可编程的 14 位定时计数器; 256 字节的 RAM 存储器,能方便地进行 I / O 扩展和 RAM 扩展。8155的引脚及内部结构如图1所示。

本文来自www.eadianqi.com

自动控制网www.eadianqi.com版权所有

图1 8155的引脚(a)和内部结构(b)

本文来自www.eadianqi.com

1、引脚及功能

本文来自www.eadianqi.com

8155 共有 40 个引脚,采用双列直插式封装。

自动控制网www.eadianqi.com版权所有

AD0-AD7 :地址数据总线。因为 8155 中有 256 个 RAM 单元,要访问某个 RAM 单元,必须有地址,这就需要地址线。 8155 通过 AD0一AD7与计算机的 CPU 相连接, AD0一AD7即是地址线,也是数据线。什么时候是地址线?什么时候是数据线?由另一个引脚 ALE 来决定。在 ALE 信号的下降沿, 8155 将AD0一AD7的信号存人内部的地址寄存器,当作地址。这个地址既可以是 RAM 的地址,也可以是 8155 端口的地址,由引脚IO/M的电平决定。

本文来自www.eadianqi.com

RESET :8155 复位信号输人端,由复位电路提供。

本文来自www.eadianqi.com

CE:片选信号线,低电平有效。

本文来自www.eadianqi.com

ALE :地址锁存允许信号。ALE信号的下降沿将AD0一AD7的信号作为 RAM 的地址信号锁存到8155的内部锁存器中,同时将IO/M和CE信号锁存到内部锁存器中。 自动控制网www.eadianqi.com版权所有

RD:读信号,低电平有效。在CE和RD有效时,将8155片内的 RAM 单元或接口的内容送到AD0一AD7总线上。

本文来自www.eadianqi.com

WR :写信号,低电平有效。在CE和RD有效时,将AD0一AD7总线上的内容送到 8155片内RAM单元或接口中。

自动控制网www.eadianqi.com版权所有

IO/M :I / O 口或 RAM 选择信号。当IO/M=1 时,选择 I / O 口;当IO/M =0 时,选择片内 RAM 单元。

自动控制网www.eadianqi.com版权所有

PA0-PA7 : A 口通用的输人输出线。作为输出线还是作为输人线,由控制字决定。 自动控制网www.eadianqi.com版权所有

PB0-PB7 : B 口通用的输人输出线。作为输出线还是作为输人线,由控制字决定。

自动控制网www.eadianqi.com版权所有

PC0-PC5 : C 口的六位线。既可以作为数据输人/输出线,也可以作为 A 口和 B 口的控制(联络)线。具体功能由控制字决定。 自动控制网www.eadianqi.com版权所有

TIMERIN :定时器/计数器时钟输人端。 自动控制网www.eadianqi.com版权所有

TIMEROUT:定时器/计数器时钟输出端,其输出信号可以是矩形波,也可以是脉冲,是输出单个信号还是连续信号,由定时器/计数器的工作方式决定。 自动控制网www.eadianqi.com版权所有

Vcc : + 5V 电源。 自动控制网www.eadianqi.com版权所有

Vss :接地端。

本文来自www.eadianqi.com

2、8155 的工作原理

自动控制网www.eadianqi.com版权所有

8155 的三个端口 A 、 B 、 C 可以工作在输人/输出状态。 C 口可以作为 A 口和 B 口的状态/控制信号。至于具体工作在何种状态,取决于命令寄存器的内容(命令字),而当前各端口的状态可以通过读取状态寄存器的内容来判断。 8155 的命令寄存器和状态寄存器是两个不同的寄存器,但命令寄存器只能写入,而状态寄存器只能读出,所以,这两个寄存器共用一个地址,所以,在叙述中又合称为命令/状态寄存器。可见,命令/状态寄存器实际上是两个寄存器,只不过共用一个地址而已。命令寄存器的内容由程序根据需要送入。命令字(命令寄存器的内容)各位的含义如下: 本文来自www.eadianqi.com

D7

自动控制网www.eadianqi.com版权所有

D6

本文来自www.eadianqi.com

D5 本文来自www.eadianqi.com

D4 本文来自www.eadianqi.com

D3

自动控制网www.eadianqi.com版权所有

D2 自动控制网www.eadianqi.com版权所有

D1 本文来自www.eadianqi.com

D0

本文来自www.eadianqi.com

 

TM2

自动控制网www.eadianqi.com版权所有

TM1 自动控制网www.eadianqi.com版权所有

IEB 本文来自www.eadianqi.com

IEA 自动控制网www.eadianqi.com版权所有

PC2

自动控制网www.eadianqi.com版权所有

PC1

自动控制网www.eadianqi.com版权所有

PB 自动控制网www.eadianqi.com版权所有

PA

本文来自www.eadianqi.com

TIM2、TIM1:定时器方式控制位。选择定时器工作状态,以控制定时/计数器工作。 本文来自www.eadianqi.com

IEB:B口中断允许位。IEB=0,禁止。IEB=1,允许。 本文来自www.eadianqi.com

IEA:A口中断允许位。IEA=0,禁止。IEA=1,允许。 自动控制网www.eadianqi.com版权所有

PC2、PC1:定义PC0~PC5控制作用的工作方式。PC2 PC1=00,ALT1。PC2 PC1=01,ALT2。 本文来自www.eadianqi.com

PC2 PC1=10,ALT3。PC2 PC1=11,ALT4。 本文来自www.eadianqi.com

PB:B口控制位。PB=0,输出。PB=1,输入。

本文来自www.eadianqi.com

PA:A口控制位。PA=0,输出。PA=1,输入。

自动控制网www.eadianqi.com版权所有

状态字(状态寄存器的内容)各位定义如下:

自动控制网www.eadianqi.com版权所有

D7

本文来自www.eadianqi.com

D6

本文来自www.eadianqi.com

D5

本文来自www.eadianqi.com

D4 本文来自www.eadianqi.com

D3

本文来自www.eadianqi.com

D2 自动控制网www.eadianqi.com版权所有

D1 自动控制网www.eadianqi.com版权所有

D0 自动控制网www.eadianqi.com版权所有

X

自动控制网www.eadianqi.com版权所有

TIMER 本文来自www.eadianqi.com

B口INTE 自动控制网www.eadianqi.com版权所有

B口BF

本文来自www.eadianqi.com

B口INTR

自动控制网www.eadianqi.com版权所有

A口INTE

自动控制网www.eadianqi.com版权所有

A口BF 本文来自www.eadianqi.com

A口INTR

本文来自www.eadianqi.com

TIMER:计数器溢出标志。TIMER=1,表示计数/定时器已经计满溢出;TIMER=0,表示计数/定时器尚未计满溢出。当TIMER=1时,只要读状态寄存器或启动新的计数器,TIMER=0。

本文来自www.eadianqi.com

BINTE : B口中断允许标志。INTEB=l,表示允许端口B中断;INTEB=0 ,表示禁止端口B中断。 本文来自www.eadianqi.com

BFB : B 端口缓冲器满标志。 BFB=1,表示B端口已经装满数据;BFB=0 , 表示B端口空。 BINTR : B口中断请求标志。INTRB=1,表示B口有中断请求;INTRB=0 , B口无中断请求。 自动控制网www.eadianqi.com版权所有

AINTE : A 口中断允许标志。INTEA=l,表示允许端口A中断;INTEA=0,表示禁止端口A中断。

本文来自www.eadianqi.com

ABF : A 端口缓冲器满标志。BFA=1,表示A端口已经装满数据;BFA=0,表示A端口空。 AINTR : A口中断请求标志。INTRA=l,表示A口有中断请求;INTRA=0 , A口无中断请求。

自动控制网www.eadianqi.com版权所有

3、8155 的端口地址分配

自动控制网www.eadianqi.com版权所有

CPU 送到 8155 的数据到底是送到何处呢? CPU 从 8155 读取数据是从状态寄存器读还是从端口读呢?8155通过使用地址来区分命令/状态寄存器和I/O端口。地址由AD0一AD2决定,如表下所示。 自动控制网www.eadianqi.com版权所有

AD7~AD0

本文来自www.eadianqi.com

选择I/O口 自动控制网www.eadianqi.com版权所有

A7

自动控制网www.eadianqi.com版权所有

A6 自动控制网www.eadianqi.com版权所有

A5

本文来自www.eadianqi.com

A4 本文来自www.eadianqi.com

A3

本文来自www.eadianqi.com

A2 自动控制网www.eadianqi.com版权所有

A1

本文来自www.eadianqi.com

A0

自动控制网www.eadianqi.com版权所有

× 自动控制网www.eadianqi.com版权所有

×

自动控制网www.eadianqi.com版权所有

× 自动控制网www.eadianqi.com版权所有

×

本文来自www.eadianqi.com

×

本文来自www.eadianqi.com

× 自动控制网www.eadianqi.com版权所有

×

本文来自www.eadianqi.com

× 自动控制网www.eadianqi.com版权所有

×

自动控制网www.eadianqi.com版权所有

× 自动控制网www.eadianqi.com版权所有

×

本文来自www.eadianqi.com

×

本文来自www.eadianqi.com

× 本文来自www.eadianqi.com

× 自动控制网www.eadianqi.com版权所有

×

本文来自www.eadianqi.com

×

本文来自www.eadianqi.com

×

本文来自www.eadianqi.com

× 本文来自www.eadianqi.com

× 本文来自www.eadianqi.com

×

自动控制网www.eadianqi.com版权所有

× 自动控制网www.eadianqi.com版权所有

×

自动控制网www.eadianqi.com版权所有

× 自动控制网www.eadianqi.com版权所有

×

自动控制网www.eadianqi.com版权所有

× 本文来自www.eadianqi.com

×

本文来自www.eadianqi.com

× 自动控制网www.eadianqi.com版权所有

×

本文来自www.eadianqi.com

×

自动控制网www.eadianqi.com版权所有

× 自动控制网www.eadianqi.com版权所有

0 自动控制网www.eadianqi.com版权所有

0 自动控制网www.eadianqi.com版权所有

0 本文来自www.eadianqi.com

0

本文来自www.eadianqi.com

1

自动控制网www.eadianqi.com版权所有

1 本文来自www.eadianqi.com

0 本文来自www.eadianqi.com

0

本文来自www.eadianqi.com

1 自动控制网www.eadianqi.com版权所有

1 本文来自www.eadianqi.com

0

本文来自www.eadianqi.com

0

自动控制网www.eadianqi.com版权所有

0

自动控制网www.eadianqi.com版权所有

1

自动控制网www.eadianqi.com版权所有

0

自动控制网www.eadianqi.com版权所有

1 自动控制网www.eadianqi.com版权所有

0

本文来自www.eadianqi.com

1

自动控制网www.eadianqi.com版权所有

命令/状态寄存器 本文来自www.eadianqi.com

A口 本文来自www.eadianqi.com

B口

自动控制网www.eadianqi.com版权所有

C口 自动控制网www.eadianqi.com版权所有

定时器低8位 自动控制网www.eadianqi.com版权所有

定时器高6位及方式

本文来自www.eadianqi.com

表  8155口地址分配 本文来自www.eadianqi.com

4、 8155 定时器/计数器工作原理 自动控制网www.eadianqi.com版权所有

8155 内部的定时器是一个14位的减法计数器,可以用来定时或者对外部事件计数,在到达最后一个计数值时,在TIMEROUT输出一个脉冲或一个矩形波。

本文来自www.eadianqi.com

要使计数器正常工作,必须装入定时器/计数器初始计数长度。由于它的有效位是14位,故计数长度可以是00H一3FFFH(11111111111111B=3FFFH)。低8位装人定时器/计数器的低位字节,高6位装入定时器/计数器的高位字节,然后再装入命令字并启动定时器/计数器。最高两位M2和Ml用来规定定时器/计数器的输出方式。定时器/计数器寄存器的计数格式及地址如图4.19所示。Ml和M2的取值与输出方式的关系如表4.9所示。

自动控制网www.eadianqi.com版权所有

M2

本文来自www.eadianqi.com

M1

本文来自www.eadianqi.com

T13 自动控制网www.eadianqi.com版权所有

T12

本文来自www.eadianqi.com

T11 自动控制网www.eadianqi.com版权所有

T10

自动控制网www.eadianqi.com版权所有

T9

自动控制网www.eadianqi.com版权所有

T8 自动控制网www.eadianqi.com版权所有

M2、M1输出方式。T8~T13计数初值高6位

本文来自www.eadianqi.com

T7

本文来自www.eadianqi.com

T6 本文来自www.eadianqi.com

T5 本文来自www.eadianqi.com

T4

本文来自www.eadianqi.com

T3 自动控制网www.eadianqi.com版权所有

T2 自动控制网www.eadianqi.com版权所有

T1

本文来自www.eadianqi.com

T0 本文来自www.eadianqi.com

T0~T7计数初值低8位。 本文来自www.eadianqi.com

表2  定时器/计数器寄存器格式

自动控制网www.eadianqi.com版权所有

M2

本文来自www.eadianqi.com

M1 自动控制网www.eadianqi.com版权所有

输出方式 自动控制网www.eadianqi.com版权所有

0

自动控制网www.eadianqi.com版权所有

0 本文来自www.eadianqi.com

单次方波 自动控制网www.eadianqi.com版权所有

0

自动控制网www.eadianqi.com版权所有

1

本文来自www.eadianqi.com

连续方波

本文来自www.eadianqi.com

1 本文来自www.eadianqi.com

0 自动控制网www.eadianqi.com版权所有

单脉冲

本文来自www.eadianqi.com

1

本文来自www.eadianqi.com

1

本文来自www.eadianqi.com

连续脉冲

自动控制网www.eadianqi.com版权所有

表2 定时器/计数器输出方式与M1和M2取值的关系 本文来自www.eadianqi.com

5、 8155芯片扩展I / O接口 本文来自www.eadianqi.com

8155可以直接和单片机相连,不需要任何其它逻辑部件。图2是8155与8051单片机连接扩展的一个实例,通过本实例,我们来说明8155的使用。 本文来自www.eadianqi.com

自动控制网www.eadianqi.com版权所有

图2   8155 应用的实例 本文来自www.eadianqi.com

1.8155 中 RAM 的使用

自动控制网www.eadianqi.com版权所有

8155中256个RAM存储单元,可以用作系统的临时数据保存单元。它的使用方法与一般的RAM存储芯片没有太大区别,只要注意IO/M信号就可以了。RAM和I/O端口使用的是统一的数据线和地址线,靠IO/M区分是访问RAM还是访问I/O端口。一般来说,可以用CPU的一根地址线来控制IO/M , 以区分8155的RAM地址和端口I / O地址。

自动控制网www.eadianqi.com版权所有

在这个实例中,8051单片机的P0与AD0一AD7相连,既是低8位地址,又是数据线,地址锁存用ALE信号(该信号由8051发出)。P2 . 7连接CE , P2 . 0连接IO/M,要访问8155, P2. 7 必须为低电平,要访问 RAM , P2. 0必须为低电平。所以,8155中的RAM在系统中的地址应该是7E00H一7EFFH。这样,8155中的RAM就可以和普通外部数据存储器一样使用了。下面程序是从8155的RAM读数据和写数据的程序片段。

自动控制网www.eadianqi.com版权所有

MOV R0 , # 30H 自动控制网www.eadianqi.com版权所有

MOV DPTR , # 7E32H

本文来自www.eadianqi.com

MOVX A , @ DPTR 自动控制网www.eadianqi.com版权所有

MOV @ R0 , A 自动控制网www.eadianqi.com版权所有

MOV A , # 34H 本文来自www.eadianqi.com

MOVX @ DPTR , A

本文来自www.eadianqi.com

2.8155 中I / O端口和定时器的使用

自动控制网www.eadianqi.com版权所有

我们已经知道,8155有三个I / O端口。三个端口的工作方式由控制字决定。图4.20中,各端口的地址如下:

自动控制网www.eadianqi.com版权所有

PA 口: 7F01H

自动控制网www.eadianqi.com版权所有

PB 口: 7F02H

自动控制网www.eadianqi.com版权所有

PC 口: 7F03H 本文来自www.eadianqi.com

定时器低 8 位: 7F04H

本文来自www.eadianqi.com

定时器高 8 位: 7F05H 自动控制网www.eadianqi.com版权所有

假设B 口定义为基本输人方式,A口定义为基本输出方式,将时钟信号连接到 TIMERIN端,在TIMEROUT输出 5 分频信号,则程序如下:

本文来自www.eadianqi.com

MOV DPTR,#7E04H        ;指向定时器低8位

本文来自www.eadianqi.com

MOV A,#05H 自动控制网www.eadianqi.com版权所有

MOVX @DPTR,A           ;定时器初值低8位装入 自动控制网www.eadianqi.com版权所有

INC DPTR               ;指向定时器高8位

本文来自www.eadianqi.com

MOV A,#40              ;设定定时器连续方波输出

自动控制网www.eadianqi.com版权所有

MOVX @DPTR,A           ;定时器初值高8位装入 本文来自www.eadianqi.com

MOV DPTR,#7E00H        ;指向命令/状态寄存器

自动控制网www.eadianqi.com版权所有

MOV A,#11000001B       ;命令控制字设定

本文来自www.eadianqi.com

MOVX @DPTR,A           ;送控制字 自动控制网www.eadianqi.com版权所有

本文已影响