单片机原理与应用(第七章)
- 格式: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的过程。