单片机系统扩展

34
单单单单 单单 单单单单 单单

Upload: graiden-frederick

Post on 31-Dec-2015

41 views

Category:

Documents


4 download

DESCRIPTION

单片机系统扩展. 扩展使用的三总线. 地址总线: P0 -低 8 位 P2 -高 8 位 数据总线: P0 控制总线 : RD 、 WR 、 ALE 、 PSEN ( 读、 写、 地址锁存允许、 外部 ROM 读选通 ). 程序存储器的扩展. 在 8051 单片机外部扩展 8K 字节程序存储器 2764 的连接图. 数据存储器扩展. 在 8051 单片机外部扩展一片 8K 字节数据存储器 6264 的连接图. 系统扩展选址方法. 1 、线选法: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 单片机系统扩展

单片机系统扩展单片机系统扩展

Page 2: 单片机系统扩展

扩展使用的三总线

地址总线: P0 -低 8 位 P2 -高 8 位数据总线: P0

控制总线: RD 、 WR 、 ALE 、 PSEN

( 读、 写、 地址锁存允许、 外部 ROM 读选通)

Page 3: 单片机系统扩展

程序存储器的扩展

在 8051 单片机外部扩展 8K 字节程序存储器 2764 的连接图

Page 4: 单片机系统扩展

数据存储器扩展

在 8051 单片机外部扩展一片 8K 字节数据存储器 6264 的连接图

Page 5: 单片机系统扩展

系统扩展选址方法1 、线选法: 利用单片机的一根空闲高位地址线 ( 通常采用P2 的某根口线 ) 选中一个外部扩展 I/O 端口芯片,若要选中某个芯片工作,将对应芯片的片选信号端设为低电平,其它未被选中芯片的片选信号端设为高电平,从而保证只选中指定的芯片工作。 优点:不需要地址译码器,可以节省器件,减小 体积,降低成本 缺点:可寻址的器件数目受到很大限制,而且地 址空间不连续,这些都会给系统设计带来 不便。

Page 6: 单片机系统扩展

线选法进行外部扩展举例

6264 的地址范围:高 8 位地址变化范围 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.

0 1 1 0 × × × × ×低 8 位地址变化范围: P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P

0.0 × × × × × × × ×由此可得 6264 的地址范围为: C000H ~ DFFFH 。

Page 7: 单片机系统扩展

8255 的地址范围: 高 8 位地址变化范围 : P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P

2.0 1 0 1 1 1 1 1 1低 8 位地址变化范围: P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.

0 1 1 1 1 1 1 × ×由此可得 8255 的地址范围为: BFFCH ~ BFFFH 。

0832的地址:高 8 位地址变化范围: P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P

2.0 0 1 1 1 1 1 1 1 低 8 位地址变化范围: P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P

0.0 1 1 1 1 1 1 1 1由此可得 0832的地址为: 7FFFH。

Page 8: 单片机系统扩展

2 、地址译码法 对于容量较大的存储器或 I/O 端口较多的单

片机应用系统进行外部扩展,当芯片所需要的片选信号多于可利用的高位地址线时,就需要采用地址译码法。地址译码法必须采用地址译码器,常用的地址译码器有 3-8 译码器 74LS138 、双 2-4 译码器 74LS139 等。

Page 9: 单片机系统扩展

扩 展 器 件 片内字节地址数 地址编码6264 8K 0000H~ 1FFFH

8255 43FFCH~ 3FFF

H0832 1 7FFFH

8255 49FFCH~ 9FFF

H

地址译码进行外部扩展举例

Page 10: 单片机系统扩展

并行 I/O 端口扩展芯片一 . 8255 可编程并行 I/O 接口扩展芯片二 . 8155 可编程并行 I/O 接口扩展芯片

Page 11: 单片机系统扩展

8255 可编程并行 I/O 接口扩展芯片

( 1 ) 8255 内部结构及引脚功能

数据总线缓冲器

B组控制

A A组端口8( )

A C组端口上半部

4( )

B C组端口下半部

4( )

B B组端口8( )

A组控制

读写控制逻辑

RDWRA0A1

RESET

CS

D7 D0~

I /OPA7 PA0~

I /OPC7 PC4~

I /OPC3 PC0~

I /OPB7 PB0~

Page 12: 单片机系统扩展

( 2 )端口

PA0 ~ PA7 、 PB0 ~ PB7 、 PC0 ~ PC7 共 24 条端口线。 3 个口皆为锁存 / 缓冲寄存器, A口、 B 口有锁存功能, C 口无锁存功能。 A 、B 、 C 3 口的工作方式由程序设置。

( 3 )数据线 8255 是 8 位芯片,有 8 位数据线 D0 ~ D7 。 数据线接于 8051 单片机的 P0 接口,

Page 13: 单片机系统扩展

( 3 )控制线 控制线控制 8255 的读 RD :、写 WR 、复位 RESET及片选 CS 等。

( 4 )地址线 A1 A0 选择口 0 0 A 口 0 1 B 口 1 0 C 口 1 1 控制口

Page 14: 单片机系统扩展

8255 方式选择及方式控制字 方式选择控制字D7 D6 D5 D4 D3 D2 D1 D0

C口下半部

B口控制位

B D2=1 1 0组方式控制位, 方式 ,反之方式

C口上半部控制位

A口控制位

A D6D5=00 0组方式控制 方式 01 1方式 1X 2方式

D7=1 A B C总控制选择位 选择 、 、 口工作方式 D7=0 C口进行位操作

Page 15: 单片机系统扩展

8255 接口扩展举例( 1 ) 8255 与单片机连接图

Page 16: 单片机系统扩展

( 2 ) 8255 初始化

例如,若要求 8255PA 口按方式 1 输入, PB 口按方式 0 输出, PC 口高 4 位按方式 1 输入, PC 口低 4位安方式 0 输出,则只要作如下初始化编程 :

MOV DPTR, #7FFFH ; 8255 控制口地址 MOV A , #0B8H ;满足以上要求的控制字 MOVX @DPTR, A ;控制字送入 8255 控制口

对对 82558255 的的 33 个端口的工作方式预先设定。设个端口的工作方式预先设定。设置控制字经控制口写入。置控制字经控制口写入。

Page 17: 单片机系统扩展

8155 可编程并行 I/O 接口扩展芯片( 1 ) 8155 内部结构及引脚功能

Page 18: 单片机系统扩展

( 2 ) 8155 的控制字格式

Page 19: 单片机系统扩展

X TI MI NTE

BBBF

I NTRB

I NTEA

ABF

I NTRA

A口中断请求标志

A /口缓冲器满 空标志

A允许 口中断标志

B口中断请求标志

B /口缓冲器满 空标志

D7 D6 D5 D4 D3 D2 D1 D0

B允许 口中断标志

“ 1” “ 0”定时器中断标志,计数满该位置 中断请求,复位后为

( 3 ) 8155 的状态字格式

Page 20: 单片机系统扩展

8155 片内可编程定时 / 计数器由两个 8 位寄存器组成,低 8 位和高 6 位存放计数初值,最高 2 位控制定时器的工作方式

( 4 ) 8155 的定时器使用

M2 M1 T13 T12 T11 T10 T9 T8D7 D6 D5 D4 D3 D2 D1 D0

M2 M1 T13 T12 T11 T10 T9 T8D7 D6 D5 D4 D3 D2 D1 D0

定时方式 6计数初值高 位 8计数初值低 位

Page 21: 单片机系统扩展

( 5 ) 8155 的端口地址分配

AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 选 中 的 寄 存 器

× × × × × 0 0 0 命令 /状态寄存器

× × × × × 0 0 1 PA口

× × × × × 0 1 0 PB口

× × × × × 0 1 1 PC口

× × × × × 1 0 0 定时计数器的低 8位寄存器

× × × × × 1 0 1 定时计数器的高 6位寄存器及工作方式字 (2位 )

Page 22: 单片机系统扩展

8155 接口扩展举例( 1 ) 8255 与单片机连接图

Page 23: 单片机系统扩展

8155 的端口地址编码为:命令 / 状态寄存器地址: 7F00H,片内 RAM 字节地址: 7E00H ~ 7EFFH,PA 口地址: 7F01H,PB 口地址: 7F02H,PC 口地址: 7F03H,定时计数器低位地址: 7F04H ,定时计数器高位地址: 7F05H 。

Page 24: 单片机系统扩展

若要求 8155 的 PA 、 PB 作为基本输出口, PC 作为基本输入口,不允许中断,不启动定时计数器,则命令字为 03H ,初始化编程下:

MOV DPTR, #7F00H ; 8155 命令口地址 MOV A, #03H MOVX @DPTR, A ;写入命令字

( 2 ) 8155 初始化

Page 25: 单片机系统扩展

I2C 总线是 PHILIPS 公司开发的一种简单、双向二线制同步串行总线 , 它只需要两根线 ( 串行时钟线和串行数据线 ) 即可在连接于总线上的器件之间传送信息。 主要特性如下 :

总线只有两根线 : 串行时钟线和串行数据线 ; 每个连到总线上的器件都可由软件以唯一的地址寻址 , 并建立简单的

主 / 从关系 , 主器件既可作为发送器 , 也可作为接收器 ; 它是一个真正的多主总线 , 带有竞争检测和仲裁电路 , 可使多主机任意同时发送而不破坏总线上的数据 ;

同步时钟允许器件通过总线以不同的波特率进行通信 ; 同步时钟可以作为停止和重新启动串行口发送的握手方式 ; 连接到同一总线的集成电路数只受 400PF 的最大总线电容的限制。

利用 I2C 总线进行系统扩展

Page 26: 单片机系统扩展

I2C 总线接口的电气结构如图所示 , 组成 I2C 总线的串行数据线 SDA 和串行时钟线 SCL 必须经过上拉电阻Rp 接到正电源上 , 连接到总线上的器件的输出级必须为“开漏”或“开集” 的形式 , 以便完成“线与”功能。 SDA 和 SCL 都为双向 I/O 口线 , 总线空闲时皆为高电平。 总线上数据传送最高速率可达 100Kbit/s 。

I2C 总线的电气结构

Page 27: 单片机系统扩展

I2C 总线可以构成多主数据传送系统 , 但只有带 CPU的器件可以成为主器件。 主器件发送时钟、启动位、数据工作方式 , 从器件则接收时钟及数据工作方式。接收或发送则根据数据的传送方向决定。 I2C 总线上数据传送时的启动、结束和有效状态都由 SDA 、 SCL 的电平状态决定 , 在 I2C 总线规程中启动和停止条件规定如下 :

启动条件 : 在 SCL 为高电平时 , SDA 出现一个下降沿则启动 I2C 总线。

停止条件 : 在 SCL 为高电平时 , SDA 出现一个上升沿则停止使用 I2C 总线。

Page 28: 单片机系统扩展

在启动和停止条件之间可转送的数据不受限制 ,但每个字节必须为 8 位,先传送最高位 , 在每个字节之后必须跟一个响应位。主器件收发每个字节后产生一个时钟应答脉冲 , 在这期间 , 发送器必须保证 SDA 为高 , 由接收器将 SDA拉低 , 称为应答信号 (ACK) 。主器件为接收器时 , 在接收了最后一个字节之后不发应答信号 , 也称为非应答信号 (NOT ACK) 。

I2C 总线的数据传输

Page 29: 单片机系统扩展

总线中每个器件都有自己唯一确定的地址 , 启动条件后主机发送的第一个字节就是被读写的从器件地址 , 其中第 8 位为方向位 , “0”(W)表示主器件发送 ,“1”(R)表示主器件接收。总线上每个器件在启动条件后都把自己的地址与前 7 位相比较 , 如相同则器件被选中 , 产生应答 , 并根据读写位决定在数据传送中是接收还是发送。

Page 30: 单片机系统扩展

在主发送方式下 , 由主器件先发出启动信号 (S), 接着 发从器件的 7 位地址 (SLA) 和表明主器件发送的方向位“ 0”(W), 即这个字节为 SLA+W 。被寻址的从器件在收到这个字节后 , 返回一个应答信号 (A), 在确定主从握手应答正常后 , 主器件向从器件发送字节数据 , 从器件每收到一个字节数据后都要返回一个应答信号 , 直到全部数据都发送完为止。在主接收方式下 , 主器件先发出启动信号 (S), 接着发从器件的 7 位地址 (SLA) 和表明主器件接收的方向位“ 1”(R), 即这个字节为 SLA+R 。在发送完这个字节后 , P1.6(SCL)继续输出时钟 , 通过 P1.7(SDA) 接收从器件发来的串行数据。 主器件每接收到一个字节后都要发送一个应答信号 (A) 。当全部数据都发送或接收完毕后 , 主器件应发出停止信号 (P) 。

Page 31: 单片机系统扩展

I2C 总线是一种串行通信总线 , 它与并行总线不同 , 并行总线中有地址总线 , CPU 可通过地址总线来选择所需要器件的地址。 I2C 总线只有一根数据线和一根时钟线 , 没有专门的地址线 , 而是利用数据传送中的头几个字节来传送地址信息。 I2C 总线的寻址方式有主器件的节点寻址和通用呼叫寻址两种 , 具体实现方法是由主器件在发出启动位 S 后紧接着发送从器件的 7 位地址码 , 即 S+SLA, 在节点地址寻址中 SLA 为被寻址的从节点地址 , 当 SLA 为全“ 0” 时 , 即为通用呼叫地址。 通用呼叫地址用于寻址接到 I2C 总线上的每个器件的地址 , 不需要从通用呼叫地址命令中获取数据的器件可以不响应通用呼叫地址。

Page 32: 单片机系统扩展

单片机的节电工作方式 对于 8051 单片机来说,有待机方式和掉电保护方式两种低功耗方式。通过设置电源控制寄存器 PCON 的相关位可以确定当前的低功耗方式。 PCON 寄存器格式如下:

其中 SMOD :波特率倍增位

GF0 , GF1 :通用标志位

PD :掉电方式位, PD= 1 为掉电方式

IDL :待机方式位, IDL= 1 为待机方式

位序 B7 B6 B5 B4 B3 B2 B1 B0

位符号 SMOD

/ / / GF1 GF0 PD IDL

Page 33: 单片机系统扩展

(1). 待机方式

将 PCON 寄存器的 IDL 位置“ 1” ,单片机则进入待机方式。通常在待机方式下,单片机的中断仍然可以使用,这样可以通过中断触发方式退出待机模式。(2). 掉电保护方式 将 PCON寄存器的 PD 位置“ 1”,单片机则进入掉电保护方式。如果单片机检测到电源电压过低,此时除进行信息保护外,还需将 PD 位被置“ 1”,使单片机进入掉电保护方式。

Page 34: 单片机系统扩展

节电工作方式应用 如图所示,当交流供电正常时 , CPU以断续方式采样测量数据。发生停电时 , 依靠备用电池向 8051 单片机和外部 RAM供电 , 以维持外部 RAM 中的数据不发生丢失。用 8051 的 P1.0 来监测系统的供电是否正常 , P1.0 为低电平说明交流供电正常 ; P1.0 为高电平则说明交流供电即将停电或已经停电。电阻R 和电容 C 组成上电复位电路 , 当交流电源恢复时 , 电容 C 的充电过程向 8051RST引脚提供一个复位脉冲 ,使单片机退出掉电方式。