第八章扩展存储器

上传人:我** 文档编号:115895158 上传时间:2019-11-15 格式:PPT 页数:47 大小:4.68MB
返回 下载 相关 举报
第八章扩展存储器_第1页
第1页 / 共47页
第八章扩展存储器_第2页
第2页 / 共47页
第八章扩展存储器_第3页
第3页 / 共47页
第八章扩展存储器_第4页
第4页 / 共47页
第八章扩展存储器_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《第八章扩展存储器》由会员分享,可在线阅读,更多相关《第八章扩展存储器(47页珍藏版)》请在金锄头文库上搜索。

1、8.1概述 8.2系统总线及总线构造 8.3地址空间分配和外部地址锁存器 8.4程序存储器的扩展 8.5静态数据存储器的扩展 8.6 EPROM和RAM的综合扩展 8.7ATMEL 89C 51/89C55单片机的片 内闪烁存储器 第8章 MCS-51的扩展存储器的设计 【学习目标】 1.理解单片机的系统总线 2.理解3种译码方法 3.理解外部ROM、RAM的扩展 【重点内容】 1.掌握全译码方法 2.掌握外部数据存储器和程序存储器的扩展方法 8.1 概述 片内的资源如不满足需要,需外扩存储器和I/O功能部 件:系统扩展问题,内容主要有: (1)外部存储器的扩展(外部存储器又分为外部程序存储器

2、和 外部数据存储器) (2) I/O接口部件的扩展。 本章介绍MCS 51单片机如何扩展外部存储器,I/O接 口部件的扩展下一章介绍。 系统扩展结构如下图: MCS-51单片机外部存储器结构:哈佛结构(程序存储器和数据 存储器空间截然分开) 。 MCS-96单片机的存储器结构:普林斯顿结构(也称冯诺伊曼 结构,是一种将程序存储器和数据存储器合并在一起的存 储器结构 )。 MCS-51数据存储器和程序存储器的最大扩展空间各为64KB。 系统扩展首先要构造系统总线。 8.2 系统总线及总线构造 8.2.1 系统总线 总线:连接计算机各部件的一组公共信号线。 按其功能通常把系统总线分为三组: 1.地

3、址总线(Adress Bus,简写AB) 2.数据总线(Data Bus,简写DB) 3.控制总线(Control Bus,简写CB) 8.2.2 构造系统总线 系统扩展的首要问题: 构造系统总线,然后再往系统总线上“挂”存储器芯片或 I/O接口芯片,“挂”存储器芯片就是存储器扩展,“挂 ”I/O接口芯片就是I/O扩展。 MCS-51由于受引脚数目的限制,数据线和低8位地址线复用。 为了将它们分离出来,需要外加地址锁存器,从而构成与一般 CPU相类似的片外三总线,见图8-2。 地址锁存器一般采用74LS373,采用74LS373的地址总线的扩 展电路如下图(图8-3)。 1.以P0口作为低8位

4、地址/数据总线。 2以P2口的口线作高位地址线。 3.控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN*信号作为扩展程序存储器的读选通信号。 *以EA*信号作为内外程序存储器的选择控制信号。 *由RD*和WR*信号作为扩展数据存储器和I/O口的 读选通、写选通信号。 思考题: 请问执行 MOVX A,DPTR指令时,RD和WR引脚的状态? 8.3 读写控制、地址空间分配和外部地址锁存器 8.3.1 存储器地址空间分配 存储器空间分配除考虑地址线连接外,还讨论各存储器芯片在整个 存储空间中所占据的地址范围。 单片机地址总线为16条,可寻址的最大空间为64KB,用户可根据

5、系统的 需要确定扩展存储器容量的大小。 存储器扩展的核心问题是存储器的编址问题,即给存储单元分配地址。 存储器通常由多块芯片组成,编址分为两个层次:芯片内部存储单元编 址和存储器芯片编址。要完成这种功能,必须进行两种选择: “片选 ”和 “单元选择”。片选用高位地址(片外地址)单元选择用地位地 址(片内地址)。 (举例:教室编号) 00 01 10 11 #0楼 00 01 10 11 #1楼 常用的存储器地址分配的方法有3种:全译码、部分译码和线 选法。 1. 全译码 利用系统的全部的高位地址线作为存储器芯片(或I/O接口 芯片)的片选信号。 特点:地址与存储单元一一对应,地址空间的利用率高

6、。 例8-1: 利用全译码为80C51扩展16KB的外部数据存储器,存 储芯片选用SRAM6264,要求外部数据存储器占用从0000H开 始的连续地址空间。 这些芯片与MCS-51单片机地址分配有关的地址线连线, 电路如下图。 地址范围分析: 1#:0000H 1FFFH; 2# :2000H3FFFH 例如:把外部RAM的1000H单元的数据传送到外部RAM的2000H单 元,程序编制为: MOV DPTR,#1000H MOVX A,DPTR MOV DPTR,#2000H MOVX DPTR,A 例8.2 利用全译码为80C51扩展40KB的外部数据存储器,存储 器芯片选用SRAM626

7、4.要求外部数据存储器占用从6000H开 始的连续地址空间。 分析:需要使用5片6264芯片: 1#芯片地址:6000H7FFFH 2#芯片地址:8000H9FFFH 3#芯片地址:A000HBFFFH 4#芯片地址:C000HDFFFH 5#芯片地址:E000HFFFFH 扩展的芯片较多时,译码电路需使用专用译码器,3-8 译码器74LS138是一种常用的地址译码器: 2. 部分译码 利用系统的部分高位地址线作为译码电路的输入信号进 行译码。 缺点:地址与存储单元不是一一对应的,而是一个单元对 应多个地址。即在部分译码电路中,有若干条地址线不参 与译码,会出现地址重叠现象,造成地址空间的浪费

8、。 优点:译码电路简单,设计方便。 例8.3 分析下图中的译码方法,写出存储器芯片SRAM6264占 用的地址范围。 分析:6264芯片的地址为:010000000000000B-011111111111111B P2.5是无关位。 无关位为为0时时的地址为为基本地址:4000H5FFFFH ; 无关位为为1时时的地址为为重叠地址:6000H7FFFFH ; 思考题题:分析P2.6作为为无关位时时的基本地址和重叠地址。 3. 线选法 直接利用系统的高位地址线中的某一条线作为芯片的片 选信号。 优点:电路简单,不需要地址译码器硬件,体积小, 成本低。 缺点:可寻址的器件数目受到限制,地址空间不连

9、 续,地址不唯一。 例8.4 分析下图中的译码方法,写出各存储器芯 片SRAM6264占用的地址范围。 分析: 1#芯片地址范围围:C000HDFFFH 2#芯片地址范围围:A000HBFFFH 3#芯片地址范围围:6000H7FFFH 8.4 程序存储器的扩展 特点:采用只读存储器,非易失性。分类如下: (1)掩膜ROM 在制造过程中编程。成本较高,因此只适合于大批量生产。 (2)可编程ROM(PROM) 用独立的编程器写入。但PROM只能写入一次,且不能再 (3)EPROM 电信号编程,紫外线擦除的只读存储器芯片。 (4)E2PROM( EEPROM) 电信号编程,电信号擦除的ROM芯片。

10、读写操作与RAM几乎 没有什么差别,只是写入的速度慢一些。但断电后能够保 存信息。 (5)Flash ROM 又称闪烁存储器,简称闪存。非易失性,电擦除型,可快速 在线修改,大有取代E2PROM的趋势。 8.4.1 常用EPROM芯片介绍 典型芯片是27系列产品,例如, 2764(8KB8)、27128( 16KB8)、27256(32KB8)、27512(64KB8)。 “27”后面的数字 表示其位存储容 量。扩展程序存 储器时,应尽量 用大容量的芯片 。 8.4.3 典型的EPROM接口电路 1.使用单片EPROM的扩展电路 下图为外扩8K字节的EPROM 2764的接口电路图 ,地址范围

11、为 :2000H3FFFH。 下图为外扩16K字节的EPROM 27128的接口电路图 。 MCS-51外扩单片32K字节的EPROM 27256的接口。 2. 使用多片EPROM的扩展电路 MCS-51扩展4片27128。 补充:74LS139(双2-4译码器) 引脚如下图 8.5 静态数据存储器的扩展 8.5.1 常用的静态RAM(SRAM)芯片 数据存储器分类:静态RAM(SRAM)和动态RAM(DRAM)。 单片机系统中外扩的RAM都采用SRAM。 典型型号有:6116、6264、62128、62256。 各引脚功能如下: A0A14:地址输入线。 D0D7:双向三态数据线。 CE*:

12、片选信号输入。对于6264芯片,当26脚(CS)为高电平 时, 且CE*为低电平时才选中该片。 OE*:读选通信号输入线。 WE*:写允许信号输入线,低电平有效。 Vcc:工作电源+5V GND:地 8.5.2 外扩数据存储器的读写操作时序 1.读片外RAM操作时序 执行指令:MOVX A,DPTR 时: 2. 写片外RAM操作时序 写是CPU主动把数据送上P0口总线。故在时序上,CPU先 向P0口总线上送完8位地址后,在S3状态就将数据送到P0 口总线。执行指令:MOVX DPTR,A 时。 8.5.3 典型的外扩数据存储器的接口电路 图8-21给出了用线选法扩展8031外部数据存储器的电路

13、。 地址线为A0A12,故8031剩余地址线为三根。用线选法可 扩展3片6264。3片6264对应的存储器空间如下表。 译码选通法扩展,如下图所示。 各片62128地址分配如下: P2.6 P2.7 译码输出 选中芯片 地址范围 存储容量 0 0 YO* IC1 0000H-3FFFH 16K 0 1 Y1* IC2 4000H-7FFFH 16K 1 0 Y2* IC3 8000H-BFFFH 16K 1 1 Y3* IC4 C000H-FFFFH 16K 单片62256与8031的接口电路如图8-23所示。地址范围为0000H 7FFFH。 例8-1 编写程序将片外数据存储器中5000H5

14、0FFH单元全部清 零。 方法1:用DPTR作为数据区地址指针,同时使用字节计数器。 MOV DPTR,#5000H;设置数据块指针的初值 MOV R7,#00H ;设置块长度计数器初值 CLR A LOOP: MOVX DPTR,A ;把某一单元清零 INC DPTR ;地址指针加1 DJNZ R7,LOOP ;数据块长度减1,若不为0则继续清零 HERE: SJMP HERE ;执行完毕,原地踏步 方法2:用DPTR作为数据区地址指针,但不使用字节计数器, 而是比较特征地址。 MOV DPTR,#5000H CLR A LOOP:MOVX DPTR,A INC DPTR MOV R7,DP

15、L CJNE R7,#0,LOOP ;与末地址+1比较 HERE:SJMP HERE 8.6 EPROM和RAM的综合扩展 8.6.1 综合扩展的硬件接口电路 例8-2 采用线选法扩展2片8KB的RAM和2片8KB的EPROM。RAM 选6264,EPROM选2764。扩展接口电路见下图。 例8-3 采用译码器法扩展2片8KB EPROM,2片8KB RAM。EPROM 选用2764,RAM选用6264。共扩展4片芯片。扩展接口电路 见图8-25。 各存储器的地址范围如下: 译码法进行地址分配,各芯片地址空间是连续的。 8.6.2 外扩存储器电路的工作原理及软件设计 1. 单片机片外程序区读指

16、令过程 2. 单片机片外数据区读写数据过程 例如:把片外1000H单元的数送到片内RAM 50H单元,程序如 下: MOV DPTR,#1000H MOVX A,DPTR MOV 50H,A 例如:把片内50H单元的数据送到片外1000H单元中,程序如 下: MOV A,50H MOV DPTR,#1000H MOVX DPTR,A 使用MOVX A,Ri和MOVX Ri,A。这时通过P0口输出Ri 中的内容(低8位地址),而把P2口原有的内容作为高8位 地址输出。 例8-4 将程序存储器中以TAB为首址的32个单元的内容依次 传送到外部RAM以7000H为首地址的区域去。 分析:DPTR指向标号TAB的首地址。R0既指示外部RAM的地址 ,又表示数据标号TAB的位移量。本程序的循环次数为32 ,R0的值:031,R0的值达到32就结束循环。程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号