第8章AT8952单片机外部存储器的并行扩展 81系统并行扩展结构 82地址空间分配和外部地址锁存器 821存储器地址空间分配 822外部地址锁存羅 83静态数据存储器RAM的并行扩展 831常用的静态RAM(SRAM)芯片 832外扩数据存储器的读写操作时序 833AT89S52单片机与RAM的接口设计与软件编程 84片内Fash存储器的编程 841使用通用编程器的程序写入 842使用下载线的SP编程
2 第8章 AT89S52单片机外部存储器的并行扩展 8.1 系统并行扩展结构 8.2 地址空间分配和外部地址锁存器 8.2.1 存储器地址空间分配 8.2.2 外部地址锁存器 8.3 静态数据存储器RAM的并行扩展 8.3.1 常用的静态RAM(SRAM)芯片 8.3.2 外扩数据存储器的读写操作时序 8.3.3 AT89S52单片机与RAM的接口设计与软件编程 8.4 片内Flash存储器的编程 8.4.1 使用通用编程器的程序写入 8.4.2 使用下载线的ISP编程
85E2PROM的并行扩展 851并行E2PROM芯片简介 852E2PROM的工作方式 853AT89S52单片机扩展E2 PROM AT2864的设计
3 8.5 E2PROM的并行扩展 8.5.1 并行E2PROM芯片简介 8.5.2 E2PROM的工作方式 8.5.3 AT89S52单片机扩展E2PROM AT2864的设计
【内容概要】 当AT89s52单片机片内的数据存储器与程序存储器(Fash 存储器)的容量不能满足需要的情况下,需要进行扩展。存储 器的扩展分为并行扩展和串行扩展,本章介绍并行扩展存储器 的基本方法,首先介绍了系统并行扩展的基本结构,还介绍了 片外存储器地址空间分配的的两种方法:线选法和译码法,以 及外部地址锁存器的选择。对于片内Fash程序存储器,重点介 绍了程序的写入,而对片外数据存储器以及E2PROM的并行扩 展则进行了较为详细的阐述
4 【内容概要】 当AT89S52单片机片内的数据存储器与程序存储器(Flash 存储器)的容量不能满足需要的情况下,需要进行扩展。存储 器的扩展分为并行扩展和串行扩展,本章介绍并行扩展存储器 的基本方法,首先介绍了系统并行扩展的基本结构,还介绍了 片外存储器地址空间分配的的两种方法:线选法和译码法,以 及外部地址锁存器的选择。对于片内Flash程序存储器,重点介 绍了程序的写入,而对片外数据存储器以及E2PROM的并行扩 展则进行了较为详细的阐述
81系统扩展结构 AT89s52单片机采用总线结构,使扩展易于实现, AT89s52单片机系统扩展结构如图8-1所示。 地址总线(AB) AT89S52 数据总线(DB) 控制总线(CB) 数据 程序 O接口 lO接口 存储器 存储器 O设备 O设备 图8-1AT8952单片机的系统扩展结构
5 8.1 系统扩展结构 AT89S52单片机采用总线结构,使扩展易于实现, AT89S52单片机系统扩展结构如图8-1所示。 5 图8-1 AT89S52单片机的系统扩展结构
由图8-1可以看出,系统扩展主要包括存储器扩展和I/0 接口部件扩展。 AT89S52单片机的存储器扩展即包括程序存储器扩展又包 括数据存储器扩展。AT8952单片机采用程序存储器空间和 数据存储器空间截然分开的哈佛结构。扩展后,系统形成了 两个并行的外部存储器空间。 系统扩展是以AT89S52为核心,通过总线把单片机与各扩 展部件连接起来。因此,要进行系统扩展首先要构造系统总 线。 系统总线按功能通常分为3组,如图8-1所示
6 由图8-1可以看出,系统扩展主要包括存储器扩展和I/O 接口部件扩展。 AT89S52单片机的存储器扩展即包括程序存储器扩展又包 括数据存储器扩展。AT89S52单片机采用程序存储器空间和 数据存储器空间截然分开的哈佛结构。扩展后,系统形成了 两个并行的外部存储器空间。 系统扩展是以AT89S52为核心,通过总线把单片机与各扩 展部件连接起来。因此,要进行系统扩展首先要构造系统总 线。 系统总线按功能通常分为3组,如图8-1所示。 6
(1)地址总线( Address bus,AB):用于传送单片机发 出的地址信号,以便进行存储单元和Wo接囗芯片中的寄存器单 元的选择。 (2)数据总线( Data bus,DB):用于单片机与外部存储 器之间或与Mo接口之间传送数据,数据总线是双向的。 (3)控制总线( Control bus,CB):控制总线是单片机发 出的各种控制信号线
7 (1)地址总线(Address Bus,AB):用于传送单片机发 出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单 元的选择。 (2)数据总线(Data Bus,DB):用于单片机与外部存储 器之间或与I/O接口之间传送数据,数据总线是双向的。 (3)控制总线(Control Bus,CB):控制总线是单片机发 出的各种控制信号线
如何来构造系统的三总线。 1.P0口作为低8位地址/数据总线 AT89S51受引脚数目限制,PO口既用作低8位地址总线,又用 作数据总线(分时复用),因此需增加一个8位地址锁存器。 AT89S51访问外部扩展的存储器单元或I/0接口寄存器时,先发 出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位 地址(A7~A0)。随后,P0口又作为数据总线口(D7~D0),如 图8-2所示。 2.P2口的口线作为高位地址线 P2口用作系统的高8位地址线,再加上地址锁存器提供的低8 位地址,便形成了系统完整的16位地址总线
8 如何来构造系统的三总线。 1.P0口作为低8位地址/数据总线 AT89S51受引脚数目限制,P0口既用作低8位地址总线,又用 作数据总线(分时复用),因此需增加一个8位地址锁存器。 AT89S51访问外部扩展的存储器单元或I/O接口寄存器时,先发 出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位 地址(A7~ A0)。随后,P0口又作为数据总线口(D7~ D0),如 图8-2所示。 2.P2口的口线作为高位地址线 P2口用作系统的高8位地址线,再加上地址锁存器提供的低8 位地址,便形成了系统完整的16位地址总线。 8
使单片机系统的寻址范围达到64KB。 A8~A15 ALE 地址总线 地址 锁存器 A0~A7 AT89S52 D0-D7>数据总线 PSEN WR 控制总线 RD 图8-2单片机扩展的片外三总线
9 使单片机系统的寻址范围达到64KB。 图8-2 单片机扩展的片外三总线
3.控制信号线 除地址线和数据线外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。包括: (1)PSEN作为外扩程序存储器的读选通控制信号。 (2)RD*和WR为外扩数据存储器和Oo的读、写选通控制 信号。 (3)ALE作为P0口发出的低8位地址锁存控制信号 (4)EA为片内、片外程序存储器的选择控制信号。 可见,AT89s51的4个并行MO口,由于系统扩展的需要, 真正作为数字o用,就剩下P1和P3的部分口线
10 3.控制信号线 除地址线和数据线外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。包括: (1)PSEN*作为外扩程序存储器的读选通控制信号。 (2)RD*和WR*为外扩数据存储器和I/O的读、写选通控制 信号。 (3)ALE作为P0口发出的低8位地址锁存控制信号。 (4)EA*为片内、片外程序存储器的选择控制信号。 可见,AT89S51的4个并行I/O口,由于系统扩展的需要, 真正作为数字I/O用,就剩下P1和P3的部分口线。 10
82地址空间分配和外部地址锁存器 本节讨论如何进行存储器空间的地址分配,并介绍用于输出 低8位地址的常用的地址锁存器。 821存储器地址空间分配 实际系统设计中,既需要扩展程序存储器,又需要扩展数据 存储器,如何把片外的两个64KB地址空间分配给各个程序存 储器、数据存储器芯片,使一个存储单元只对应一个地址,避 免单片机发出一个地址时,同时访问两个单元,发生数据冲突。 这就是存储器地址空间分配问题
11 8.2 地址空间分配和外部地址锁存器 本节讨论如何进行存储器空间的地址分配,并介绍用于输出 低8位地址的常用的地址锁存器。 8.2.1 存储器地址空间分配 实际系统设计中,既需要扩展程序存储器,又需要扩展数据 存储器,如何把片外的两个64KB地址空间分配给各个程序存 储器、数据存储器芯片,使一个存储单元只对应一个地址,避 免单片机发出一个地址时,同时访问两个单元,发生数据冲突。 这就是存储器地址空间分配问题。 11