第6章单片机存储器及系统扩展技术6.1半导体存储器的分类6.2随机存取存储器(RAM)6.3只读存储器(ROM)6.4CPU与存储器的连接6.5MCS-51存储器的扩展6.1半导体存储器的分类一、半导体存储器的分类1、只读存储器(ROM)(1)掩膜工艺ROM(2)可一次性编程ROM(PROM)(3)紫外线擦除可改写ROM(EPROM)(4)电擦除可改写ROM(EEPROM或E2PROM)(5)快擦写ROM(flashROM)Intel公司的27系列产品:2716(2K)2732(4K)2764(8K)27128(16K)工作时,ROM中的信息只能读出,要用特殊方式写入(固化信息),失电后可保持信息不丢失。1)掩膜ROM:不可改写ROM由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可读2)PROM:可编程ROM用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。3)EPROM:可光擦除PROM用户可以多次编程。编程加写脉冲后,某些存储单元的PN结表面形成浮动栅,阻挡通路,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写。4)EEPROM:可电擦除PROM既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备RAM、ROM的优点。但写入时间较长。5)快擦写ROM(flashROM)2.随机存储器RAM(也叫读写存储器)(1)双极型RAM(2)金属氧化物(MOS)RAM静态RAM(SRAM);加电即可保存信息动态RAM(DRAM);加电不断进行周期性刷新集成RAM(iRAM);掉电保护非易失性RAM(NVRAM);掉电保护典型产品有:RAM6116(2K)。二、存储器的主要性能指标1.存贮容量2.存取时间3.可靠性4.功耗存贮器芯片容量=存储单元数X数据线位数如一片6116芯片有2K即2048个存储单元,数据线位数为8则存贮器芯片容量是2048X8位。6.2随机存取存储器(RAM)一、静态RAM的基本存取电路P107只有当某基本存储电路所在行、列对应的Xi、Yi皆为1时,该基本存储电路被选中,其输出与数据线相通,实现对其进行读或写操作。二、静态RAM芯片举例1、6116芯片的结构6264(8K)62256(32K)常用静态RAM芯片管脚配置下面以6116芯片为例进行说明,管脚图如图所示。该芯片的主要引脚为:1)A10~A011根地址线,说明芯片的容量为211=2048=2K个单元。2)D7~D08根数据线,用于与外界交换信息。3)控制线CE、OE、WECE:为片选信号。当该引脚为低电平时,选中该芯片。OE:读控制,或称输出使能控制,当它为低电平时,芯片中的数据可由D7~D0输出。WE:写控制,或称输入使能控制,当它为低电平时,芯片中的数据可由D7~D0输入。6116芯片的工作方式CEOEWE状态D7~D0未选中1XX高阻禁止011高阻读出001数据读出写入010数据写入6.3只读存储器(ROM)1、2716芯片的引脚图和内部结构图如P110所示该芯片的主要引脚为:A10~A011根地址线,说明芯片的容量为211=2048=2K个单元。D7~D08根数据线,编程时,为输入线,用于写入信息;使用时,为输出线,用来输出存储的信息。CE/PGM:为片选/编程控制信号。运行时,作片选输入端;编程时,该端输入编程正脉冲信号。OE:读信号,当它为低电平时,允许输出信号。(先烧芯片)Vcc:工作电源,接+5V。Vpp:编程电源。编程时,接+25V;运行时,接+5V。2、2716芯片工作方式引脚方式VccVppCEOED0~D7读+5V+5V低低输出未选中+5V+5VX高高阻等待+5V+5V高X高阻编程+5V+25V正脉冲高输入编程检查+5V+25V低低输出编程禁止+5V+25V低高高阻6.4CPU与存储器的连接一、CPU与总线连接时应考虑的问题1、CPU总线的带负载能力在较大的系统中,存储器的芯片较多时应加缓冲器或总线驱动器。2、CPU时序与存储器速度之间的配合CPU访问存储器的操作具有固定的时序,因此,存储器的存取时间要与CPU的读写时序相匹配。3、存储器的地址分配和片选信号的产生即如何找到所需的存储器单元。4、控制信号的连接即考虑CPU与RD、WE、CE和PSEN等引脚的连接。二、存储器连接常用接口电路1、总线缓冲器缓冲器主要用于CPU总线的缓冲,以增加总线驱动负载的能力。2、地址锁存器常用的地址锁存器有带三态缓冲输出的74LS373,如图P115OE:为输出使能端。低电平时,锁存器输出;高电平时,输出呈高阻态。G:选通脉冲输入端。选通脉冲有效时,数据输入D0~D7被锁存。3、地址译码器常用的译码芯片有:74LS139(双2-4译码器)和74LS138(3-8译码器)等。1G2G1A1B2A2B1Y01Y21Y12Y01Y32Y12Y22Y3二四译码器Y0Y1Y2Y3Y4Y5Y6Y7G1G2AG2BABC三八译码器输入输出允许选择G1G2CBAY0Y1Y2Y3Y4Y5Y6Y7╳1╳╳╳111111110╳╳╳╳11111111100000111111110001101111111001011011111100111110111110100111101111010111111011101101111110110111111111106.5MCS-51存储器的扩展系统扩展概述单片机是集CPU、RAM、ROM、定时器/计数器和I/O接口电路于一片集成电路的微型计算机。对于简单的应用场合,可以在MCS-51系列单片机中选择一个合适的产品构成一个具有最简单配置的系统,即最小系统。MCS-51系列中含有片内程序存储器的单片机如8051/8751仅一块芯片就可构成最小系统,而无片内存储器的单片机如8031必须外部扩展程序存储器才能构成最小系统。图(a)为MCS-51系列中8051和8751单片机的最小系统。图(b)为由8031、8032单片机组成的最小系统。P2.3|P2.0ALEP0PSEN8031EA74LS373地址锁存器高8位地址线低8位地址线8位数据线OECE2732D7|D0A7|A0A11|A880C5187C51XTAL1XTAL2P0P1P2P3RESET12MHZ22uF1K200888820PF20PF+5V图5.1MCS-51系列最小化系统(a)(b)为了使单片机能方便地与各种扩展芯片连接,应将单片机的外部连接变为一般的微型机三总线结构形式。即地址总线、数据总线和控制总线。对MCS-51系列单片机,其三总线由下列通道口的引线组成:地址总线:由P2口提供高8位地址线(A8―A15),由P0口提供低8位地址线。由于P0口是地址、数据分时使用的通道口,所以为保存地址信息,需外加地址锁存器锁存低8位的地址信息。一般都用ALE正脉冲信号的下降沿控制锁存时刻。数据总线:由P0口提供。此口是双向、输入三态控制的通道口。控制总线:扩展系统时常用的控制信号为地址锁存信号ALE,片外程序存储器取指信号PSEN以及数据存储器RAM和外设接口共用的读写控制信号OE、WE等。图为单片机扩展成三总线的结构图。扩展芯片与主机相连的方法同一般三总线结构的微处理机完全一样。图为单片机的三总线结构P2ALEP0PSENRDWR8031EA74LS373地址锁存器A8–A15A0–A7D0–D7控制总线数字总线地址总线高八位地址总线低八位6.5.1程序存储器的扩展一、程序存储器的扩展方法及时序返回本章首页图为2764AEPROM程序存储器的扩展电路访问外部程序存储器时序操作时序如图所示,其操作过程如下。(1)在S1P2时刻产生ALE信号。(2)由P0、P2口送出16位地址,由于P0口送出的低8位地址只保持到S2P2,所以要利用ALE的下降沿信号将P0口送出的低8位地址信号锁存到地址锁存器中。而P2口送出的高8位地址在整个读指令的过程中都有效,因此不需要对其进行锁存。从S2P2起,ALE信号失效。(3)从S3P1开始,对外部程序存储器进行读操作,将选中的单元中的指令代码从P0口读入,S4P2时刻,失效。(4)从S6P1后开始第二次读入,过程与第一次相似。图为MCS-51系列单片机访问外部程序存储器的时序图P1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S61个机器周期P1P2S1OSC时钟ALEPSENP2P0A8~A15A8~A15A8~A15指令A0~A7指令A0~A7指令PCL输出有效PCL输出有效指令输入指令输入访问外部数据存储器时序(执行MOVX指令时)图为MCS-51系列单片机访问外部数据存储器的时序图S1S2S3S4S5S6第1个机器周期S1S2S3S4S5S6第2个机器周期ALERDP2P0A15~A8A15~A8A15~A8A0~A7指令地址数据A0~A7PSENWR访问外部数据存储器的操作过程如下:(1)从第1次ALE有效到第2次ALE开始有效期间,P0口送出外部ROM单元的低8位地址,P2口送出外部ROM单元的高8位地址,并在有效期间,读入外部ROM单元中的指令代码。(2)在第2次ALE有效后,P0口送出外部RAM单元的低8位地址,P2口送出外部RAM单元高8位地址。(3)在第2个机器周期,第1次ALE信号不再出现,此时失效,并在第2个机器周期的S1P1时,RD/WR信号开始有效,从P0口读入选中RAM单元中的内容。二、程序存储器的扩展电路27128AEPROM扩展电路(16K)EEPROM扩展电路(2K)6.5.2数据存储器的扩展一、数据存储器的扩展方法及时序返回本章首页图为6264静态数据存储器的扩展电路数据存储器的扩展概述单片机与数据存储器的连接方法和程序存储器连接方法大致相同,简述如下:1.地址线的连接,与程序存储器连法相同。2.数据线的连接,与程序存储器连法相同。3.控制线的连接,主要有下列控制信号:存储器读信号OE和单片机读信号RD相连即和P3.7相连。存储器写信号WE和单片机写信号WR相连即和P3.6相连。ALE:其连接方法与程序存储器相同。使用时应注意,访问内部或外部数据存储器时,应分别使用MOV及MOVX指令。外部数据存储器通常设置二个数据区:(1)低8位地址线寻址的外部数据区。此区域寻址空间为256个字节。CPU可以使用下列读写指令来访问此存贮区。读存储器数据指令:MOVXA,@Ri写存储器数据指令:MOVX@Ri,A由于8位寻址指令占字节少,程序运行速度快,所以经常采用。(2)16位地址线寻址的外部数据区。当外部RAM容量较大,要访问RAM地址空间大于256个字节时,则要采用如下16位寻址指令。读存储器数据指令:MOVXA,@DPTR写存储器数据指令:MOVX@DPTR,A由于DPTR为16位的地址指针,故可寻址64KRAM字节单元由于程序存储器的读控制信号PSEN与数据存储器的RD、WR控制信号是相互独立的,不会同时有效,固各自的64K地址空间是相互独立的。时序图如P122所示二、存储器扩展的编址技术1、线选法所谓线选法,就是直接以系统的地址线(通常是未用的高位地址线的某一根P2.X)作为存储芯片的片选信号,为此,只需把高位地址线与存储芯片的片选信号直接连接即可。特点是简单明了,不需增加另外电路。缺点是存储空间不连续。适用于小规模单片机系统的存储器扩展。【例】现有2K*8位存储器芯片,需扩展8K*8位存储结构采用线选法进行扩展。扩展8KB的存储器结构需2KB的存储器芯片4块。2K的存储器所用的地址线为A0~A10共11根地址线和片选信号与CPU的连接如表所示。表5-180C51与存储器的线路连接80C51存储器P0口经锁存器锁存形成A0~A7与A0~A7相连P2.0、P2.1、P2.2与A8~A10相连P0口与D0~D7相连P2.3与存储器1的片选信号相连P2.4与存储器2的片选信号相连P2.5与存储器3的片选信号相连P2.6与存储器3的片选信号相连扩展存储器的