Presentation is loading. Please wait.

Presentation is loading. Please wait.

第8章 AT89S51单片机 外部存储器的扩展 1.

Similar presentations


Presentation on theme: "第8章 AT89S51单片机 外部存储器的扩展 1."— Presentation transcript:

1 第8章 AT89S51单片机 外部存储器的扩展 1

2 内容概要 8.2 地址空间分配和锁存器 8.3 程序存储器的扩展 8.4 数据存储器的扩展 8.5 综合扩展
8.1 AT89S51单片机的总线及系统扩展结构 8.2 地址空间分配和锁存器 8.3 程序存储器的扩展 8.4 数据存储器的扩展 8.5 综合扩展 2

3 8.1 总线及系统扩展结构 AT89S51总线结构如图8-1所示。 图8-1 AT89S51单片机的总线及系统扩展结构 3

4 AT89S51的三总线 (1)地址总线(Address Bus,AB):
用于传送单片机发出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单元的选择。地址总线是单向的。 P0口作为低8为地址总线(A7~A0); P2口作为高8位地址总线(A15~A8 ) ; 2者结合构成了16位地址总线(A15~A0);

5 (2)数据总线(Data Bus,DB):用于单片机与外部存储器之间或与I/O接口之间传送数据,数据总线是双向的。
P0口作为AT89S51的数据总线(D8~D0); P0口即作为地址总线,又作为数据总线,有问题吗??? 需增加一个8位锁存器。AT89S51访问外部扩展的存储器单元或I/O接口寄存器时,先发出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位地址(A7~A0)。

6 (3)控制总线(Control Bus,CB):控制总线是单片机发出的各种控制信号线,用于对外部设备进行控制。 包括: (1) PSEN
(3)控制总线(Control Bus,CB):控制总线是单片机发出的各种控制信号线,用于对外部设备进行控制。 包括: (1) PSEN*作为外扩程序存储器的读控制信号; (2) RD*和WR*为外扩数据存储器和I/O的读、写控制信号; (3)ALE作为P0口发出的低8位地址锁存控制信号; 6

7 图 AT89C51单片机扩展的片外三总线 7

8 8. 2 地址空间分配和外部地址锁存器 本节讨论如何进行存储器空间的地址分配,并介绍用于输出低8位地址的地址锁存器。 8. 2
8.2 地址空间分配和外部地址锁存器 本节讨论如何进行存储器空间的地址分配,并介绍用于输出低8位地址的地址锁存器。 存储器地址空间分配 实际设计中,有时需扩展程序存储器,又需要扩展数据存储器,如何把片外的两个64KB地址空间分配给各个程序存储器、数据存储器芯片,使一个存储单元只对应一个地址,避免单片机发出一个地址时,同时访问两个单元而发生数据冲突。这就是存储器地址空间分配问题。 8

9 一、选中该存储器芯片,这称为“片选”,未被选中的芯片不能被访问。
AT89S51发出的地址码用于选择某个存储器单元时,单片机必须进行如下操作: 一、选中该存储器芯片,这称为“片选”,未被选中的芯片不能被访问。 二、在“片选”的基础 “选中” 芯片的某一单元进行访问,即“单元选择”。 9

10 常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法)。
1.线选法 是直接利用系统的某一高位地址线作为存储器芯片(或I/O接口芯片)的“片选”控制信号。为此,只需要把用到的高位地址线与存储器芯片的“片选”端直接连接即可。

11 优点: 电路简单,不需要另外增加地址译码器硬件电路,体积小,成本低。 缺点: 可寻址的芯片数目受到限制。只适用于外扩芯片数目不多的单片机系统的存储器扩展。
11

12 2.译码法 使用译码器对AT89S51单片机的高位地址进行译码,译码输出作为存储器芯片的片选信号。 优点:能够有效地利用存储器空间,适用于多芯片的存储器扩展。 常用的译码器芯片有74LS138(3-8译码器)、74LS139(双2-4译码器)和74LS154(4-16译码器)。 12

13 常用的译码器芯片介绍: (1)74LS138 3-8译码器,有3个数据输入端,经译码产生8种状态。

14 (2)74LS139 双2-4译码器。两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端。
14

15 地址分配举例:例如,要扩8片8KB的RAM 6264,如何通过74LS138把64KB空间分配给各个芯片? 根据74LS138真值表: G1:接高电平; G2A和G2B:接低电平; C、B、A:分别接P2.7、P2.6、P2.5; 8个输出Y7 ~Y0 ,分别接到8片6264的 “片选”端,实现8选1的片选。 AT89S51的低13位地址(P2.4~P2.0,P0.7~P0.0)完成对选中的6264芯片中的各个存储单元的“单元选择”。 15

16 64KB地址空间分配如图8-5。 图8-5 64KB地址空间划分成8个8KB空间
16

17 8.2.2 外部地址锁存器 受引脚数的限制,P0口兼用数据线和低8位地址线,为了将它们分离出来,需在单片机外部增加地址锁存器。常用的地址锁存器芯片有74LS373、74LS573等。 1.锁存器74LS373 带三态门的8D锁存器,其引脚如图8-7,内部结构如图8-8。 17

18 图8-7 锁存器74LS373的引脚 图8-8 74LS373的内部结构 18

19 G:数据输入锁存选通信号。当该引脚的信号为高时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。
引脚说明: D7~D0:8位数据输入线, Q7~Q0:8位数据输出线。 G:数据输入锁存选通信号。当该引脚的信号为高时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。 OE*:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。 74LS373锁存器功能如表8-3。 19

20 图 AT89S51的P0口与74LS373的连接 20

21 也是一种带有三态门的锁存器,功能及内部结构与74LS373完全一样,只是其引脚排列与74LS373不同。
由图8-10,与74LS373相比,74LS573的输入D端和输出Q端依次排列在芯片两侧,为绘制印制电路板提供方便 引脚说明: D7~D0:8位数据输入线。 Q7~Q0:8位数据输出线。 G :数据输入锁存选通信号,该引脚与74LS373的G端功 能相同。 21

22 OE*:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。
图8-10 锁存器74LS573的引脚

23 8.3 程序存储器EPROM的扩展 程序存储器为只读存储器,在电源关断后,仍能保存程序(非易失性的),系统上电后,CPU可取出这些指令重新执行。 只读存储器简称ROM(Read Only Memory)。ROM中的信息一旦写入,就不能随意更改。

24 向ROM中写入信息称为ROM编程。根据编程方式不同,分以下几种。
(2)可编程ROM(PROM)。芯片出厂时没有任何程序信息,用独立编程器写入。但PROM只能写一次,写入内容后,就不能再修改。 24

25 (3)EPROM。用紫外线擦除,用电信号编程。在芯片外壳的中间位置有一个圆形窗口,对该窗口照射紫外线就可擦除原有的信息。使用编程器可将调试完毕的程序写入。 (4)E2PROM(EEPROM)。一种用电信号编程,也用电信号擦除的ROM芯片。对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入速度慢一些,但断电后仍能保存信息。 25

26 (5)Flash Memory。 又称闪烁存储器(简称闪存),是电擦除型只读存储器。特点是可快速在线修改其存储单元中的数据,改写次数可达1万次,其读写速度很快,存取时间可达70ns,而成本比E2PROM低得多。 26

27 8.3.1 常用的EPROM芯片 使用较多的是并行EPROM,首先介绍常用EPROM芯片。 EPROM的典型芯片是27系列产品,例如,2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。型号 “27”后面的数字表示其位存储容量。如果换算成字节容量,只需将该数字除以8即可。 例如,“27128”中的“27”后的数字 “128”,128/8 =16KB 随着大规模集成电路技术的发展,大容量存储器芯片产量剧增,售价不断下降,性价比明显增高,且由于小容量芯片停止生产,使市场某些小容量芯片价格反而比大容量芯片还贵。所以,应尽量采用大容量芯片。 27

28 A0~A15:地址线引脚。它的数目由芯片的存储容量决定,用于进行单元选择。
1.常用EPROM芯片引脚 27系列EPROM芯片的引脚如图8-11。 芯片引脚功能: A0~A15:地址线引脚。它的数目由芯片的存储容量决定,用于进行单元选择。 D7~D0:数据线引脚。 CE*:片选控制端。 OE*:输出允许控制端。 PGM*:编程时,编程脉冲的输入端。 28

29 图8-11 常用EPROM芯片引脚

30 Vpp:编程时,编程电压(+12V或+25V)输入端。 VCC:+5V,芯片的工作电压。 GND :数字地。 NC:无用端。
表8-4为27系列EPROM芯片的技术参数,其中VCC是芯片供电电压,Vpp是编程电压,Im为最大静态电流,Is为维持电流,TRM为最大读出时间。 30

31 31

32 2.EPROM芯片的工作方式 5种工作方式,由CE *、OE*、PGM*信号的组合确定。5种工作方式如表8-5。
32

33 程序存储器的操作时序 1.访问程序存储器的控制信号 AT89S51单片机访问片外扩展的程序存储器时,所用的控制信号有以下3种。 (1)ALE:用于低8位地址锁存控制。 (2) PSEN*:片外程序存储器“读选通”控制信号。它接外扩EPROM的OE*引脚。

34 (3)EA. :片内、片外程序存储器访问的控制信号。当 EA
(3)EA* :片内、片外程序存储器访问的控制信号。当 EA*=1时,在单片机发出的地址小于片内程序存储器最大地址时,访问片内程序存储器;当EA* = 0时,只访问片外程序存储器。 34

35 2.操作时序 AT89S51对片外ROM的操作时序分两种,即执行非MOVX指令的时序和执行MOVX指令的时序。 (1)应用系统中无片外RAM 系统无片外RAM(或I/O)时,不用执行MOVX指令。 在执行非MOVX指令时,时序如图8-12(a) 35

36 同时,PSEN* 也是每个机器周期两次有效,用于选通片外程序存储器,将指令读入片内。
图8-12(a) 执行非MOVX指令的时序 36

37 (2)应用系统中接有片外RAM 在执行访问片外RAM(或I/O)的MOVX指令时,16位地址应转而指向数据存储器,时序如下图:
37

38 8.3.3 AT89S51单片机与EPROM的接口电路设计 1.AT89S51与单片EPROM的硬件接口电路
外扩的EPROM在正常使用中只读不写,故EPROM芯片只有读出控制引脚OE* ,该引脚与AT89S51单片机的PSEN*相连,地址线、数据线分别与AT89S51单片机的地址线、数据线相连,片选端控制可采用线选法或译码法。 介绍2764、27128芯片与AT89S51的接口。更大容量的27256、27512与AT89S51的连接,差别只是连接的地址线数目不同。

39 8 KB 16 KB 32 KB 64 KB 图8-11常用EPROM芯片引脚图

40 图8-13 AT89S51单片机与27128的接口电路

41 2.使用多片EPROM的扩展电路 图8-14为利用4片27128 EPROM扩展成64KB程序存储器的方法。片选信号由译码器产生。。
图 AT89S51与4片27128 EPROM的接口电路 41

42 8.4 静态数据存储器RAM的扩展 在单片机应用系统中,外部扩展的数据存储器都采用静态数据存储器(SRAM)。 片外数据存储器RAM的读和写由AT89S51的 RD*(P3.7)和 WR*(P3.6)信号控制。 片外程序存储器EPROM的输出端允许(OE*)由单片机的读选通PSEN*信号控制。 尽管与EPROM的地址空间范围相同,但由于控制信号不同,因此不会发生总线冲突。 42

43 8.4.1 常用的静态RAM(SRAM)芯片 单片机系统中常用的RAM芯片的典型型号有6116(2KB),6264(8KB),62128(16KB),62256(32KB)。 6116为24脚封装,6264、62128、62256为28脚封装。这些RAM芯片的引脚如图8-15。 43

44 图8-15 常用的RAM引脚图 44

45 各引脚功能: A0~A14:地址输入线。 D0~D7:双向三态数据线。 CE
各引脚功能: A0~A14:地址输入线。 D0~D7:双向三态数据线。 CE*:片选信号输入线。对6264芯片,当24脚(CS)为高电平且 CE*为低电平时才选中该片。 OE*:读选通信号输入线,低电平有效。 WE*:写允许信号输入线,低电平有效。 VCC —工作电源+5V。 GND —地。 RAM存储器有读出、写入、维持3种工作方式,工作方式的控制如表8-6。 45

46

47 对片外RAM读和写两种操作时序的基本过程相同。 1.读片外RAM操作时序
外扩数据存储器的读写操作时序 对片外RAM读和写两种操作时序的基本过程相同。 1.读片外RAM操作时序 若外扩一片RAM,应将WR* 脚与RAM的WE* 脚连接,RD*脚与芯片OE*脚连接。 47

48 图8-16 AT89S51单片机读片外RAM操作时序图 48

49 2.写片外RAM操作时序 图 AT89S51单片机写片外RAM操作时序图

50 8. 4. 3 AT89S51单片机与RAM的接口电路设计 AT89S51对片外RAM的读和写由AT89S51的RD. (P3. 7)和WR
8.4.3 AT89S51单片机与RAM的接口电路设计 AT89S51对片外RAM的读和写由AT89S51的RD*(P3.7)和WR*(P3.6)控制,片选端由译码器译码输出控制。 设计时,主要解决地址分配、数据线和控制信号线的连接问题。在与高速单片机连接时,要根据时序解决读/写速度匹配问题。 50

51 用线选法扩展AT89S51外部数据存储器电路 图8-18 线选法扩展外部数据存储器电路图 51

52 用线选可扩展3片6264,对应的存储器空间如表8-7所示。
52

53 用译码法扩展外部数据存储器的接口电路 图8-18 译码法扩展外部数据存储器电路图 53

54 54

55 【例8-1】编写程序将片外数据存储器中5000H~50FFH单元全部清“0”。
AT89S51 写外部RAM程序示例: 【例8-1】编写程序将片外数据存储器中5000H~50FFH单元全部清“0”。 程序如下: xdata unsigned char databuf [256] _at_0x5000; void main(void) { unsigned char i; for(i=0; i<256; i++) databuf [i]=0; } 55

56 8.5 EPROM和RAM的综合扩展 在系统设计中,经常是既要扩展程序存储器,也要扩展数据存储器(RAM)或I/O,即进行存储器的综合扩展。下面介绍如何进行综合扩展。 综合扩展的硬件接口电路 【例8-2】采用线选法扩展2片8KB的RAM和2片8KB的EPROM。RAM芯片选用2片6264。扩展2片EPROM芯片,选用2764。硬件接口电路如图8-20。 56

57 图 采用线选法的综合扩展电路图示例 57

58 下面介绍采用译码器法进行地址空间分配的例子。
58

59 【例8-3】采用译码法扩展2片8KB EPROM和2片8KB RAM。EPROM选用2764,RAM选用6264。 扩展接口电路如图8-21。
59

60 图 采用译码法的综合扩展电路图示例 60

61 由上可见,译码法进行地址分配,各芯片的地址空间是连续的。
61


Download ppt "第8章 AT89S51单片机 外部存储器的扩展 1."

Similar presentations


Ads by Google