第二十讲 MCS-51存储器扩展技术
单片机内资源少,容量小,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。为此,应扩展其功能。
MCS-51单片机的扩展性能较强,根据需要,可扩展:
ROM、RAM;定时 / 计数器;并行I / O口、串行口;中断系统扩展等。
本章主讲ROM、RAM的扩展;并口、串口的扩展;以及常用通道接口技术;并介绍单片机与A / D转换、D / A转换芯片的接口技术。
一、5-1 MCS-51单片机最小系统 1、8051/8751硬件最小系统
对于片内有ROM型单片机,其自身可以构成最小系统 图 该系统的资源如下:
4KB ROM,256B RAM; 五源中断系统;
两个十六位加一定时 / 计数器; 一个全双工串行UART; 四个并行I / O口。 2、8031硬件最小系统
8031单片机片内无ROM,若要正常工作,必需外配ROM。外接ROM后,P3口、P2口、P0口均被占用只剩下P1口作I / O口用,其它功能不变。 图
图中:/E ——三态门控制端 G ——低电平锁存
二、 存储器的扩展 1、三总线的连接 1、数据线的连接
P0口的八位线承担此任,此时不用外接上拉电阻。 2、地址线的连接
P0口承担地址低八位线,A0 ~ A7; P2口承担地址高八位线。A8 ~ A15。
注意:P0口线地址 / 数据分时复用,需用地址锁存器74LS373锁存地址。
3、控制线的连接
对存储器来讲控制线无非是:芯片的选通控制、读写控制。 单片机与外部器件数据交换要遵循两个重要原则: 一是,地址唯一性,一个单元一个地址。
二是,同一时刻,CPU只能访问一个地址,即只能与一个单元交换数据。 不交换时,外部器件处于锁闭状态,对总线呈浮空状态。
选通:CPU与器件交换数据或信息,需先发出选通信号/CE或/CS,以便选中芯片。 读 / 写:CPU向外部设备发出的读/写控制命令。 EPROM:/OE /PSEN SRAM: /WE /WR /OE /RD 2)
存储器地址编码
即6116有11根地址线。
地址空间: A10 A9 A8 A7 A6 A5 A4 A3A2 A1 A0 最低地址: 0
MCS-51单片机寻址范围:64KB 26×210 = 216即16位地址线 地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机
× × × × × A10A9A8A7······A0 6116
25 = 32 2KB 上式中:“×”表示0或1。
即单片机地址空间中包含有32个2KB。某片6116占据的是哪2KB不能确定——地址浮动。
只有限定A15······A11的取值才能确定6116在系统中的地址范围。
0 0 0 0 0 0 0 0 0 0 0000H 6116本身
最高地址: 1 1 1 1 1 1 1 1 1 1 1 1111H 的地址空间 SRAM6116:“16”—— 2K×8b = 2KB 21×210 = 211
如,P2.6 = 0 ,选中6116的/CS线。设P2.7 P2.5 P2.4 P2.3假定全为1 则: 6116地址范围是B800H ~ BFFFH。 同理, P27 P25 P24 P23假定全为0 则: 6116地址范围是 0000H ~ 07FFH;
再设P27选中6116 (设P26 P25 P24 P23全为1) 则:地址范围是7800H ~ 7FFFH
可见:存储器芯片在系统中地址分布由两个因素决定:
一是,芯片本身的地址线(与容量有关) 二是,芯片选通信号的获得方式。
扩展存储器时,总是让单片机低位地址与存储器芯片地址线相接;而让单片机剩余的高位地址线(在P2口)常作为片选信号线。
这种方法对SRAM、EPROM、扩展I / O芯片、外设同样适用。 若上图中2764的接线中:
P25 = 0时,选中2764;“64” 8K×8b = 23×210 = 213
A15 A14 A13 A12 A11 ············A0
23 = 8 8KB 若取P27 P26均为1;
则2764在本系统内地址范围:C000H ~ DFFFH 若6116与2764都用A13(P25)选中可否? 可以。此时6116:D800H ~ DFFFH 2764:C000H ~ DB00H
可见,6116与2764在0800H ~ DFFFH范围内地址重叠,这是不是违反交换原则呢?不! 因为,6116是SRAM,2764是EPROM。除地址和选通信号外,还有读/写控制信号起作用。
RAM —— /WE /WR 可用来区分二
/OE /RD 二器件
ROM —— /OE /PSEN
小结:1)CPU与外设数据交换的原则是什么?
2)决定存储器芯片在系统中地址范围的两个因素是什么?