单片机原理与应用(第七章)

  • 格式:doc
  • 大小:93.00 KB
  • 文档页数:5

单片机原理与应用(三)第七章MCS-51单片机的扩展存储器技术7.1存储器概述7.1.1 只读存储器1. 掩膜ROM(MROM):须提供程序代码给供货商,再由生产芯片的工厂写入程序代码(烧录、固化)。

2. 可编程ROM(PROM):只能进行一次性写入代码,由用户自行制作。

3. 可紫外线擦除编程ROM(EPROM):经紫外线照射擦除后,可多次写入代码。

4. 电可擦除可编程ROM(EEPROM):分为并行和串行操作芯片,可直接改写代码,但写入时的速度要比SRAM慢许多。

5. 快速擦写存储器(Flash Memory):可替代SRAM。

7.1.2 随机存取存储器1. 静态RAM(SRAM):功耗大,不须配置刷新电路,单片机中常用。

2. 动态RAM(DRAM):功耗低,但须配置刷新电路,单片机中不用。

7.1.3 特殊存储器1. 加密ROM (KEPROM):只能运行,不能读出和复制。

2. 双口RAM:供两个CPU共同使用,两个口都可以读写,但须异步读写。

3. 先进先出RAM:另一种双口RAM,数据单向传输,一个口写入,另一个口读出,可以同步读写。

4. Flash Memory:具有SRAM(快速)和EEPROM(可改写)的特点。

7.2 存储器扩展的基本知识单片机中常用的存储器:1. EPROM的型号有:2716、2732、2764、27128、27256等,称为27X系列。

2. SRAM的型号有:6116、6264、62128、62256等。

3. 串行EEPROM的型号有:24C01、24C02,24C04、24C08等,93C46、93C56等。

4. 并行EEPROM的型号有:2816、2817、2864等。

5. FLASH Memory的型号有:28F256、28F512、28F010等。

MCS-51单片机有16条地址线,其中有8条与数据线共用,有5条控制线。

(1)地址总线:由P0口(低8位地址)和P2口(高8位地址)提供。

(2)数据总线:由P0口提供。

(注意:P0口为共用。

)(3)控制总线:RD(P3.6):外部数据存储器的读控制;例:MOVX A,@DPTRWR(P3.7):外部数据存储器的写控制;例:MOVX @DPTR,APSEN:外部程序存储器的读控制;例:MOVC A,@A+DPTRALE:锁存P0口输出的低8位地址信息;例:MOVX 或MOVC指令。

EA:片内‘1’/片外‘0’程序存储器选择。

当EA接高电平时,所访问的片内程序存储器是指0000H~0FFFH共4K的空间。

大于4K的那部分程序是放在外部扩展的程序存储器ROM中。

7.2.1 MCS-51单片机对存储器的控制1.读写控制:对RAM芯片用RD和WR,例:MOVX @DPTR,A对ROM芯片用PSEN,例:MOVC A,@A+DPTR对即作程序又作数据的存储器(EEPROM)则要RD和PSEN相与做为读信号。

ALE LEP0.0~P0.7 373OE 62128 27648051 A0~A7 A0~A7Q0~Q7Q0~Q7P2.0~P2.4 A8~A12P2.5 A13 A8~A12RD OE CE CEWR WE OEPSENEACE:片选信号OE:读选通(输出允许)信号WE:写允许信号62128芯片的访问地址为:0000H~3FFFH2764芯片的访问地址为:0000H~1FFFH补充:CPU执行MOVX @DPTR,A的过程:(写RAM)①. DPL的值送到P0口,DPH的值送到P2口,ALE发出锁存的电平信号;(一般是使用74LS373或74LS374作为低八位的地址锁存器)②. A的值送到P0口,WR发出“写”的电平信号。

(把A中的数据送到DPTR指定的地址中)CPU执行MOVC A,@A+DPTR的过程:(读ROM)①. DPTR A+DPTR;②. DPL的值送到P0口,DPH的值送到P2口,ALE发出锁存的电平信号;③. PSEN发出“读”的电平信号;P0口的值送给A。

(把A+DPTR指定的地址中的数据送到A中)注意:对于RAM芯片P2.6、P2.7没有用到,所以4000H~7FFFH、8000H~BFFFH、C000H~FFFFH 等同于0000H~3FFFH。

2. 片选控制:当扩展多个同类型的存储器芯片时1)线选法:用P2口的一根线连接到CE端。

特点:电路简单、扩展多个芯片的地址难于连续、浪费了地址空间。

2) 译码法:用P2口的几根线通过译码器连接到各个芯片。

特点:须加译码芯片、扩展多个芯片的地址可以连续、充分利用了地址空间。

7.2.2 外部地址锁存器和外部地址译码器1) 地址锁存器常用的有带三态缓冲输出的74LS373、8282和带清除端的74LS273。

2) 地址译码器常用的有3-8译码器74LS138、双2-4译码器74LS139、4-16译码器74LS154。

见P145页的图7-3。

7.2.3 总线驱动器单片机外接的芯片如果太多,必须连接驱动器以提高总线的驱动能力。

单向总线驱动器有74LS244,用于地址总线和控制总线。

双向总线驱动器有74LS245,用于数据总线。

MCS-51单片机与74LS245的连接方法见P147页的图7-6。

(书上的图有误)7.3 程序存储器EPROM的扩展7.3.3 27X系列EPROM的扩展1) 单片EPROM的扩展:见P153页的图7-10。

(上图)1. 8051的P0口接74LS373的输入口,ALE接74LS373的锁存端LE,74LS373的输出允许端OE接地。

2. 74LS373的输出口和8051的P2口(低位)接EPROM的地址口,8051的P0口接EPROM的数据口。

3. PSEN接EPROM的输出允许端OE。

4. EPROM的片选端CE接地。

2) 多片EPROM的扩展1. 各片EPROM的连接与单片扩展1.~3.的接法一样。

2. 各片EPROM的片选端CE:(区分出不同的地址)(a) 线选法:分别接到P2口(高8位)剩下的数据线上,见P154页的图7-11。

各芯片地址空间分别为:2732:C000H~CFFFH ;当P2.7=A15=1 (置2764(2)的CE=1), P2.6=A14=1 (置2764(1)的CE=1), P2.5=A13=0 (置2732的CE=0) , P2.4任意。

2764(1):A000H~BFFFH ;当P2.7=A15=1 (置2764(2)的CE=1), P2.6=A14=0 (置2764(1)的CE=0) , P2.5=A13=1(置2732的CE=1)。

2764(2):6000H ~7FFFH ;当P2.7=A15=0 (置2764(2)的CE=0), P2.6=A14=1 (置2764(2)的CE=1) , P2.5=A13=1(置2732的CE=1)。

P154页的图7-11的简图:地址有效空间8051 A13 CE 2732 A0~A11 C000H~CFFFH 0~FFFHP2.5 A14 CE 2764(1) A0~A12 A000H~BFFFH 0~1FFFHP2.6P2.7 A15 CE 2764(2) A0~A12 6000H~7FFFFH 0~1FFFHA15 A14 A13 存储地址2732 [A13] 1 1 0 C000H~CFFFH2764(1) [A14] 1 0 1 A000H~BFFFH2764(2) [A15] 0 1 1 6000H~7FFFH问题:如果要求地址是连续的,该如何连接?(不用译码法)提示:添加一些与、或、非门电路来组成。

A15、A14、A13之间的逻辑关系:A15=~(A14∧A13)、A14=~(A15∧A13)、A13=~(A15∧A14)~(A14∧A13) A14 A13 存储地址2732 [A13] 1 1 0 4000H~4FFFH2764(1) [A14] 1 0 1 2000H~3FFFH2764(2)[~(A14∧A13)] 0 1 1 6000H~7FFFH~(A14∧A13) A14 A13 存储地址2764(2) [A13] 1 1 0 4000H~5FFFH2764(1) [A14] 1 0 1 2000H~3FFFH2732 [~(A14∧A13)] 0 1 1 6000H~6FFFH问题:如果要求地址是连续的且从0000H开始,该如何连接?(不用译码法)(b) 译码法:把各个扩展的存储器CE分别接到译码器的输出端(译码器的输入端与P2口连接),见P156页的图7-13。

P2.6 P2.5地址8051 74LS139 0 0CE 2732 A0~A11 0000H~0FFFHP2.5 B SEL1P2.6 B SEL2 0 1CE 2764(1) A0~A12 2000H~3FFFHB0B1 CE 2764(2) A0~A12 4000H~5FFFFHB2 1 0B3 1 17.4 数据存储器的扩展(见P160~162页的图7-18,7-19,7-20)RAM芯片的扩展其地址线及数据线与EPROM芯片扩展的连接一样,不同之处在于:1. RAM的输出允许端OE接8051的RD端;2. RAM的WR端接8051的WR端。

7.4 EEPROM存储器的扩展(见P160~162页的图7-18,7-19,7-20)EEPROM存储器分为串行和并行两种芯片。

(1) 常用的串行EEPROM芯片的型号有:1. 两线的AT24CX系列,是I2C总线接口;2. 三线的AT93CX系列,是MICROWIRE总线接口;3. 四线的AT59CX系列,是SPI总线接口;串行EEPROM占用单片机的I/O资源较少,仅作为存储器使用。

(2) 常用的并行EEPROM芯片的型号有:Intel公司的28CX系列的2816/2816A、2817A、2864A并行EEPROM既能作为程序存储器又能作为数据存储器。

从用途上看,一是作为程序存储器时可以在线修改程序,既所谓的在线‘自动’升级;二是作为数据存储器使用时,程序运行时修改的数据,在断电后仍然不会丢失,三是既作为程序存储器又同时作为数据存储器使用。

从单片机指令读写方面看,既可以用MOVC进行读操作(须用到总线的PSEN),又同时可以用MOVX指令进行读/写操作(须用到总线的RD和WR)。

问题:既然用MOVX指令已能进行读/写操作了,为何还要同时能用MOVC进行读的操作?应从硬件方面回答:一是程序代码和数据的改写,二是程序的执行原理。

作业三:1. 举出三种只读存储器的名称并简述其主要特点。

2. 分别指出SRAM和DRAM各自的特性。

3. 叙述两种双口RAM各自的性能。

4. 简述CPU执行MOVX A,@DPTR的过程。