为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

储存器扩展

2010-07-07 13页 pdf 404KB 17阅读

用户头像

is_392008

暂无简介

举报
储存器扩展 第六章 存储器接口设计 尽管 MCS-51 系列单片机有一定容量的内部存储器,但是对于某些单片机应用系统可能 并不能满足实际要求,往往需要扩展外部存储器。常用外部存储器有并行和串行两种接口方 式,MCS-51 单片机总线结构支持并行接口。 6.1 MCS-51 系列外部总线结构以及存储器编址 MCS-51 系列单片机具有 Intel 标准并行总线,可方便地与外围接口芯片连接,是单片机 外部扩展技术的基础。 6.1.1 MCS-51 单片机外部总线结构 如图 6-1 所示,MCS-5l 单...
储存器扩展
第六章 存储器接口设计 尽管 MCS-51 系列单片机有一定容量的内部存储器,但是对于某些单片机应用系统可能 并不能满足实际要求,往往需要扩展外部存储器。常用外部存储器有并行和串行两种接口方 式,MCS-51 单片机总线结构支持并行接口。 6.1 MCS-51 系列外部总线结构以及存储器编址 MCS-51 系列单片机具有 Intel 标准并行总线,可方便地与外围接口芯片连接,是单片机 外部扩展技术的基础。 6.1.1 MCS-51 单片机外部总线结构 如图 6-1 所示,MCS-5l 单片机片外总线结构由三组总线构成,即地址总线(AB)、数据 总线(DB)和控制总线(CB)。所有符合这个总线标准的外部接口芯片都可以用这三组总线进行 扩展。 1、 地址总线(AB) 地址总线宽度为 16 位,因此可寻址范围为 216 = 64KB。地址总线由P0口通过锁存器提供 低 8 位地址A7~A0,由P2口提供高 8 位地址A8~A15 。由于P0口还要作数据总线口,因此,它 只能分时地用作地址线,P0口输出的低 8 位地址必须用锁存器锁存。锁存器用单片机引脚ALE 作为锁存控制信号,在ALE的下降沿(或高电平)期间,将P0口输出的地址锁存。因此,地 址锁存器必须选择采用高电平或下降沿触发的锁存器如 74LS373 或 74LS273。P2口具有输出 锁存功能,故不需外加锁存器。P2口在系统扩展中用作地址线后便不能再作为一般I/O口使 用。 2.数据总线(DB) 数据总线由P0口提供,其 宽度为 8 位。该口为三态双向 口,是应用系统中使用最为频 繁的端口。单片机所有需要通 过总线与外部交换的数据、指 令、信息,必须经由P0口传送。 高八位地址 +5v 低八位地址 16 位地址总线 8 位数据总线 控制总线 P2.0~7 8051 EA P0.0~7 ALE RD WR PSEN 地址 锁存器 图 6-1 MCS-51 单片机上总线结构 数据总线要连接到多个 外围芯片上,而在同一时间内 只能有一个数据传送通道有 效,至于是哪一个芯片的数据 通道有效,则由地址线控制的 各个芯片的片选线来选择。 3.控制总线(CB) 控制总线是单片机片外系统扩展控制线,有RD 、WR、PSEN 、ALE 和EA。 RD 、WR:分别用于片外数据存储器(RAM)或 I/O 口的读/写控制线。当执行读/写操 作指令 MOVX 时,这两个信号自动生成。 PSEN :用于片外程序存储器(ROM)的取指控制线。读取 ROM 中的指令 (数据)时,不用 RD 信号。 ALE:用于锁存P0口输出的低 8 位地址的控制线。在P0口输出地址期间,ALE用其下降沿 控制锁存器锁存低 8 位地址。 EA:用于选择片内或片外程序存储器。当EA = 1 时,单片机从片内程序存储器取指; 当EA = 0 时,强制单片机从片外程序存储器取指,而不论有无片外程序存储器。因此,在 扩展使用外部程序存储器时,必须将EA接地。 92 6.1.2 外部存储器编址以及地址译码 1、 编址技术概述 编址是存储器以及 I/O 扩展技术中的重要问。所谓编址问题就是如何使用系统提供的 地址线,通过适当连接使得一个存储单元(或 I/O 口)只唯一地对应一个地址。常用编址有 两种方式:独立编址方式和统一编址方式。所谓“独立编址”是指可寻址单元分开进行编址, 而“统一编址”是指可寻址单元统一进行编址。就总体而言,外部存储器编址分为两个层次: 即存储器芯片的选择(片选)和芯片内存储单元的编址。 芯片内部存储单元的编址,是由芯片内的译码电路来完成的。对设计者来说,只需把存 储芯片的地址引脚,与相应的系统地址线直接连接即可。而芯片选择的实质就是如何提供芯 片的片选信号,片选有两种方法即:线选法和译码法。 在编址技术中,通常存储器芯片内部存储单元地址译码使用地址总线低位地址,高位地 址用作为芯片选择,因此芯片的选择都取决于高位地址线。 存储器编址除了研究地址线的连接外,还讨论各存储器芯片在整个存储空间中所占据的 地址范围,以便在程序设计时正确地使用。 2、 外部存储器及编址 片外数据存储器(包括外部 I/O 接口电路)与程序存储器采用独立编址方式,访问使用 不同的控制信号,允许两者地址空间重叠。因此,片外可扩展的数据存储器与程序存储器各 为 64KB,地址空间分别为 0000H~FFFFH。 片外数据存储器与片内数据存储器的操作指令亦不同(对片外 RAM 只能用 MOVX 指令),所 以也允许两者的地址重复,即外部数据存储器地址可以从 0000H 开始编址。 片外程序存储器与片内程序存储器采用相同的取指操作,对片内、片外程序存储器的选 择依靠硬件来实现。当EA = 0 时,不论片内有无程序存储器,单片机运行时,从 0000H 的 地址开始,强制从片外程序存储器取指。但当EA = 1 时,则前 4KB(相对于 8X51 单片机) 的地址(0000H~0FFFH)为片内程序存储器所有,片外扩展的程序存储器的地址只能从 1000H 开始编址。单片机从 0000H 的地址开始,从片内程序存储器取指,直到 0FFFH 以后,才从片 外程序存储器取指。 为了配置外围接口设备而需要扩展的 I/O 口与片外数据存储器统一编址,不再另外提 供地址线。所以,当应用系统需要大量扩展 I/O 口时,可以占用片外 RAM 地址。 3、 片选与地址译码 在扩展多片外部存储器和 I/O 时,所有外部 扩展器件的片选端口都必须按照地址线进行选 择。片选是在保证对外部扩展的公共地址空间寻 址的条件下,使用剩余的地址线进行线选或经过 译码进行选择来实现的。如图 6-2 为采用线选法 扩展和采用译码法扩展的结构图。 线选法是利用剩余的高位地址线直接进行片 选,因此电路较简单,但地址空间不连续,造成 地址空间浪费。如图 6-2 所示,地址线A13用作 64KB 存储器的片选线。 译码法是通过外接译码器对地址译码来进行 片选,因此地址空间不会浪费,但由于使用译码 器增加了电路复杂性。常用译码器芯片有:2-4 线译码器 74LS139、3-8 线译码器 74LS138、 4-16 线译码器 74LS154 等。如图 6-2 所示,地址线A14、A15用 2-4 线译码器提供四条片选线 A15 CS1 CS2 A14 CS3 CS4 A13 A12~A8 A7~A0 MCS-51 单 片 机 P0 CS 64KB 存 储 器 锁存器 2-4 译 码 器 图 6-2 线选法和译码法扩展的结构图 93 CS1、CS2、CS3、CS4。 下面介绍两种常见的译码器 74LS139 和 74LS138 引脚以及译码真值。 74LS139 是双 2-4 线译码器引脚排列如图 6-3a所示,译码真值表见表 6-1a所示。其中: G 为使能端,低电平有效。A、B为选择端(译码榆入)。Y0、Y1、Y2、Y3、Y4为译码输出端, 低电平有效。 图6-3b 74LS138引脚 1 16 2 15 3 14 4 13 5 12 6 11 7 10 8 9 A B C 1E 2E E3 Y7 GND Vcc Y0 Y1 Y2 Y3 Y4 Y5 Y6 图6-3a 74LS139引脚 1 16 2 15 3 14 4 13 5 12 6 11 7 10 8 9 G1 1A 1B 1Y0 1Y1 1Y2 1Y3 GND Vcc G2 2A 2B 2Y0 2Y1 2Y2 2Y3 表 6-1a 74LS139 译码真值表 输入端 输出端 使能端 选择端 G B A Y0 Y1 Y2 Y3 1 × × 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 74LS138 是 3-8 线译码器,引脚排列如图 6-3b所示,译码真值表见表 6-1b。其中: 1E 、 2E 、 为使能端(控制输入),3E 1E 、 2E 低电平有效, 高电平有效。A、B、C为选择端(译 码输入)。Y 3E 0、Y1、Y2、Y3、Y4、Y5、Y6、Y7为译码输出端,低电平有效。 表 6-1b 74LS138 译码真值表 输入端 输出端 使能端 选择端 3E 2E 1E C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 × × × × × 1 1 1 1 1 1 1 1 × 1 × × × × 1 1 1 1 1 1 1 1 × × 1 × × × 1 1 1 1 1 1 1 1 6.2 程序存储器的扩展 单片机程序存储器扩展主要使用只读存储器 ROM(Read Only Memory)。存储单元内容 一旦写入之后就不能随意更改,特别是不能在程序运行过程中写入新的内容而只能读取。 6.2.1 程序存储器概述 根据只读存储器编程方式的不同,共分为以下 5 种: 1、掩膜 ROM(MaskROM) 掩膜 ROM 编程是由半导体制造厂家完成的,即在生产过程中以掩膜工艺实现,用户不 能更改其内容。这种 ROM 芯片存储结构简单,集成度高,但由于掩膜工艺一次性成本较高, 因此只适合于大批量生产。 94 2、一次性可编程 ROM(OTPROM) OTPROM 芯片出厂时并没有任何内容,程序可在开发过程中由用户写入。但这种芯片 只能一次编程 OTP( One Time Proramble),一旦写入就不能再进行修改。OTPROM 芯片为用 户自行编程提供了可能,价格较为便宜,适合于小批量生产。 3、紫外线擦除可编程 ROM(uvEPROM) 这种芯片外壳上方中央有一个圆形窗口,紫外线通过窗口照射就可以擦除原有信息,允 许用户反复擦除重新编程。一般情况下,可反复擦写几百次。程序写好后最好用不透明的标 签贴封窗口,以避免阳光以及日光灯中紫外线的成分照射而破坏程序。这种芯片使用灵活, 但价格较高,适合于样机的研究开发。 典型芯片是 27××系列产品,按存储容量不同有多种型号,例如:2716(2 KB×8)、2732(4 KB×8)、2764(8KB×8)、27128(16 KB×8)、27256(32KB×8)、27512(64KB×8)等,型号名 称后面的数字表示位存储容量。 4、电擦除可编程ROM (E2PROM) 这是一种可电擦除的非易失存储芯片,它可以通过读/写操作进行逐个存储单元的读出、 写入和擦除,且读/写操作与 RAM 存储器几乎没有什么差别,只是写入速度慢一些,但断电 后所存储的信息不丢失。 典型芯片有:28C16、28C17、2817A(2 KB×8)、2864(8 KB×8)等。 5、闪烁存储器(Flash Memory) Flash Memory是在E2PROM的基础上发展起来的一种电擦除/编程存储器,读/写速度都 很快,存取时间可达 70ns,存储容量可达 2KB~256KB,这种芯片可擦写次数可从 1 万次 到 100 万次,是一种使用灵活方便很有前途的存储器芯片,目前价格较高。 典型芯片有:28F××系列产品,按存储容量不同有多种型号,例如:28F16(2 KB×8)、 28F256(4 32KB×8)、28F512(64KB×8)等。 程序存储器扩展根据需要可选择上述各种存储器芯片。大规模生产可选择掩膜ROM (MaskROM),小规模生产可选择一次性可编程ROM(OTPROM), 研究与开发可选择紫外 线擦除可编程ROM(uvEPROM)、电擦除可编程ROM(E2PROM)和闪烁存储器(Flash Memory) 以降低开发成本和缩短开发周期。 6.2.2 典型程序存储器芯片 一、uvEPROM 芯片 27C256 1、27C256 引脚 27C256 是采用 CMOS 工艺 32KB×8 位存储容量紫外线擦除的 EPROM,其引脚排列如 图 6-4 所示。该芯片主要引脚及功能见下表 图 6-4 27C256 引脚排列 引脚名 引脚号 功能 A14 ~ A0 2~10、21、23~27 15 位地址线。 O7 ~ O0 11~13、15~19 8 位数据读出线。 CE 20 片选控制线,低电平有效。 OE 22 输出允许。当OE=0 时,输出缓冲器打开,所 寻址存储单元内容输出。 VPP 1 编程电压。编程时,该端加+12.5 V 编程电压。 VCC 、VSS 28、14 +5V 电源、地 2、27C256 工作方式 27C256 共有 7 种工作方式即:读、编程、编程校验、编程禁止、输出禁止、待机和闲 置。由OE 、CE 、VPP和A9各信号状态组合来确定。27C256 工作方式如表 6-2 所示。 表 6-2 27C256 的工作方式 95 工作方式 CE OE 、 VPP A9 O7 ~ O0 读出 低电平 低电平 VCC × 数据输出 编程 低电平 高电平 VH × 数据输入 程序检验 高电平 低电平 VH × 数据输出 编程禁止 高电平 高电平 VH × 高阻态 待机 高电平 × VCC × 高阻态 输出禁止 低电平 高电平 VCC × 高阻态 闲置 低电平 低电平 VCC VH 闲置码 × = 任意 VH = +12.5v 二、Flash Memory 芯片 28F256 1、28F256 引脚 28F256 是采用 CMOS 工艺 32KB×8 位存储容量闪烁存储器,其引脚排列如图 6-5 所示。 该芯片主要引脚及功能见下表 图 6-5 28F256 引脚排列 引脚名 引脚号 功能 A14 ~ A0 12~4、25~29 15 位地址线。 DQ7 ~ DQ0 13~15、17~21 8 位数据输入/输出线。 E 22 片选控制线,低电平有效。 G 24 输出允许控制线。当G =0 时,输出缓冲器打 开,所寻址存储单元内容输出。 W 31 写允许控制线,低电平有效。 VPP 1 编程电压。编程时,该端加+12.5 V 编程电压。 VCC 、VSS 28、14 +5V 电源、地 2、28F256 工作方式 28F256 只有 2 种工作方式,即只读、读/写方式。由E、G 、W 、VPP和A9各种状态组 合来确定见表 6-2。 表 6-2 28F256 的工作方式 工作方式 VPP 操作方式 E G W A9 DQ7 ~ DQ0 读出 低电平 低电平 高电平 A9 数据输出 输出禁止 低电平 高电平 高电平 × 高阻状态 待机 高电平 × × × 高阻状态 只读方式 VPPL 电子标签 低电平 低电平 高电平 VID 标签编码 读出 低电平 低电平 高电平 A9 数据输出 写入 低电平 高电平 编程脉冲 A9 数据输入 输出禁止 低电平 高电平 高电平 × 高阻状态 读/写方式 VPPH 待机 高电平 × × × 高阻状态 × = 任意 VPPH = 11.4~12.6v VPPL = 0~6.5v VID = 11.5~13v 6.2.3 程序存储器扩展方法 程序存储器芯片与单片机可按如图 6-6 方式连接: 1.地址线A15~A0连接 根据存储器芯片容量大小,把存储器低 8 位地址线A7~A0相应连接到地址锁存器 输出A7~A0;存储器高 8 位地址线A15~A8相应连接到单片机P2口P2.7~P2.0,以实现存 96 储芯片内存储单元的唯一编址。 2.数据线D7~D0的连接 存储器 8 位数据线D7~D0相应连接到单片机P0口P0.7~P0.0,以实现指令的读取。 3.控制线的连接 存储器OE (输出允许) 线必须相应连接单片机 PSEN (片外程序存储器取指允许) 线,以控制取指操作。单片机 ALE(地址锁存允许) 连接到地址锁存器(74LS373)的锁 存控制端 LE,在 ALE 高电平时,将数据总线上的低 8 位地址锁存到地址锁存器上,以 便为程序存储器提供低 8 位地址。 单片机 EA (片外程 序存储器选择)对于 8031 /8032 必须接地,全部从 片外程序存储器取指;对 于 8X51/8X52 应根据整 个程序存储器空间使用 情况,选择接高电平(外 部程序存储器和 8X51/ 8X52 片内程序存储器共 同使用),或接低电平(全 部使用外部程序存储 器)。 高八位地址 +5v 低八位地址 P2.0~P2.7 8051 EA P0.0~P0.7 ALE PSEN 地址锁存器 图 6-6 MCS-51 单片机程序存储器的扩展 CE A15~A8 A7~A0 程序 存储器 D0~D7 OE 当只扩展一片 EPROM 时,无需片选控制,故可将CE 线直接接地。否则用线选法 或译码法进行片选控制。 74LS373 是常用地址锁存器芯片,是一种同步锁存的 8D 触发器,其引脚排列如图 6-7 所示。1D~8D 是 8D 触发器的 8 个输入端,1Q~8Q 是 8D 触发器的 8 个输出端,OE 是输出允许端,LE 是锁存允许端。74LS373 功能见下表: 6.2.4 程序存储器扩展实例 一、 32KB×8 程序存 储器 7连接到 74LS 74LS373 功能表 锁存允许 输入 输出 27C256 的扩展 用 27C256 扩展的 电路如图 6-8 所示,数据线和控制 线连接可按一般方法对应相连即可。关 键是地址线和片选线的连接。 27C256 低 8 位地址A0~A 373 输出,高 8 位地址A8~A14连接 输出允许 OE LE Dn Qn 低电平 图6-7 74LS373引脚 1 20 2 19 3 18 4 17 5 16 6 15 7 14 8 13 9 12 10 11 OE 1Q 1D 2D 2Q 3Q 3D 4D 4Q GND Vcc 8Q 8D 7D 7Q 6Q 6D 5D 5Q LE 高电平 高电平 平 高电 低电平 高电平 低电平 低电平 低电平 低电平 × 不变 高电平 × × 高阻态 97图 6-8 27C256 程序存储器的扩展 到单片机P2.0~P2.6 , P2.7作为片选连接到 27C256 的CE,这样,27C256 存储空间是:0000H~ FH。 7FF 闪烁存储器 28F256 的扩展方法与 27C256 相似,只需要注意 28F256 的E、G 分别对应 于 27C256 的CE、OE ,对于程序存储器 28F256 的W 应接高电平,置之于无效。 二、两片 27C256 的扩展 用两片 27C256 扩展的 64KB×8 程序存储器电路如图 6-9 所示,除片选线外,其它公共 地址线、数据线和控制线连接与单片 27C256 扩展相同,关键在于片选线的设计。单片机的 P2.7 直接连接到 27C256 存储器 1 的CE 端作为片选控制;再经过反相器连接到 27C256 存储 器2的CE 端作为片选控制。这样,在全部64KB×8的存储空间0000H~FFFFH中,由27C256 存储器 1 提供的 32KB×8 存储空间是:0000H~7FFFH,27C256 存储器 2 提供的 32KB×8 存储空间是:1000H~FFFFH。 P2.0~P2.6 EA 80C31 ALE P0.0~P0.7 PSEN P2.7 A0~A7 锁存器 74LS373 LE OE A0~A7 A8~A15 27C256 - 1 D0~D7 OE CE A0~A7 A8~A15 27C256 - 2 D0~D7 OE CE 图 6-9 两片 27C256 扩展的 64 KB×8 程序存储器电路 +5v 实际上,由于半导体存储器技术的不断发展,单片机芯片内程序存储器容量也不断地增 加,现在某些单片机芯片的片内程序存储器已达 32 KB,还有的达 64 KB,存储器扩展问题 变得越来越不重要了。即使确实需要,也可选用一片大容量的存储器进行扩展就能够满足要 求,例如用一片 27C512 就能完成两片 27C256 的扩展工作。 6.2 数据存储器的扩展 MCS-51 系列单片机片内数据存储器容量一般为 128B~256B。当数据存储量需要较大时, 可以通过并行总线在片外扩展 RAM 数据存储器,扩展容量最大可达 64KB。 6.2.1 数据存储器概述 数据存储器采用的是可随时存取数据的随机存储器 RAM(Random Access Memory), 在单片机系统中用于存放可随时修改的数据,与程序存储器 ROM 不同的是单片机在运行过 程中对 RAM 可进行读/写操作。但常用的 RAM 是易失性存储器,断电后所存信息立即消失。 按半导体工艺,RAM 分为 MOS 型和双极型两种。MOS 型集成度高,功耗低,价格便 宜,但速度较慢。而双极型正好相反。目前所使用的大多数是 MOS 型的随机存储器,它们 的输入/输出信号能与 TTL 兼容,所以在扩展中信号连接是很方便的。 按工作方式,RAM 又分为静态存储器 SRAM 和动态存储器 DRAM 两种。静态 RAM 只 要不掉电,所存信息就能可靠保存,但价格相对较高,常见的有 6116(2KB×8)、6264(8KB ×8)、62256(32KB×8)、62512(64KB×8)。而动态 RAM 使用的是动态存储单元,需要 不断进行周期性地刷新,才能保存信息。动态 RAM 集成密度高,功耗低,价格便宜,但要 增加刷新电路,常见的有 2114、4114 等。MCS-51 单片机不支持 RAM 动态刷新,因此,单 片机应用系统常用静态存储器 SRAM 作数据存储器。 常用RAM是易失性存储器,断电后所存信息会立即消失。但是,E2PROM具有非易失性 98 的特点,且读/写方便。近几年随着价格的下降,作为数据存储器在需要掉电保护的单片机 应用系统中得到广泛应用。 6.2.2 典型数据存储器芯片 一、6264 芯片 6264 是采用 CMOS 工艺存储容量为 8 KB×8 的静态 RAM 芯片,具有极低的功耗,在 维持状态下只需几个微安电流。6264 采用 28 脚双列直插封装,引脚排列如图 6-10 所示, 主要引脚及功能见下表。 图 6-10 6264 芯片引脚 6264 主要引脚及功能 引脚名 引脚号 功能 A12~A0 10~2,23~25,21 13 位地址输入。 I/O8~I/O1 11~13,15~19 8 位数据输入/输出。 WE 27 写允许。低电平有效。 OE 22 输出允许。低电平有效。 1CS 20 片选 1。低电平有效。用于芯片选择。 CS2 26 片选 1。高电平有效。用于芯片选择。 VCC 、VSS 28 , 14 单+5V 电源 , 地 6264 有 4 种工作方式如表 6-3 所示。其中,读/写操作是正常的工作方式,掉电方式(Power Down)是维持数据不丢失的低功耗方式。 表 6-3 6264 工作方式 工作方式 WE 1CS CS2 OE I/O8~I/O1 供电电流 掉电方式 × 高电平 × × 高阻状态 待机电流 ISB 掉电方式 × × 低电平 × 高阻状态 待机电流 ISB 输出禁止 低电平 低电平 高电平 高电平 高阻状态 正常电流 ICC 读取操作 高电平 低电平 高电平 低电平 输出数据 正常电流 ICC 写入操作 低电平 低电平 高电平 高电平 输入数据 正常电流 ICC 写入操作 低电平 低电平 高电平 低电平 输入数据 正常电流 ICC 二、62256 芯片 62256 也是一种采用 CMOS 工艺存储容量为 32KB×8 的静态 RAM 芯片,采用 28 脚双 列直插封装,与 6264 芯片不同的主要是存储容量以及地址线和片选线。引脚排列如图 6-11 所示,主要引脚及功能见下表。 图 6-11 62256 芯片引脚 62256 主要引脚及功能 引脚名 引脚号 功能 A14~A0 10~1,23~26,21 15 位地址输入。 I/O8~I/O1 11~13,15~19 8 位数据输入/输出。 WE 27 写允许。低电平有效。 OE 22 输出允许。低电平有效。 CS 20 片选。低电平有效。用于芯片选择。 VCC 、VSS 28 , 14 单+5V 电源 , 地 62256有 4种工作方式如表 6-4所示。其中读/写操作是正常的工作方式,掉电方式(Power 99 Down)是维持数据不丢失的低功耗方式。 表 6-4 62256 工作方式 工作方式 WE 1CS OE I/O8~I/O1 供电电流 掉电方式 × 高电平 × 高阻状态 待机电流 ISB 输出禁止 高电平 低电平 高电平 高阻状态 正常电流 ICC 读取操作 高电平 低电平 低电平 输出数据 正常电流 ICC 写入操作 低电平 低电平 高电平 输入数据 正常电流 ICC 写入操作 低电平 低电平 低电平 输入数据 正常电流 ICC 三、2816 芯片 2816 是采用NMOS工艺的单+5V电擦除可编程 2KB×8E2PROM存储器,内置高压发生 器,无需另配写入电源。具有单字节写或页面写操作,写前自动擦除。写一个字节需 5ms, 可反复擦写 1 万次,数据可保存 100 年。因 2816 E2PROM存储器写操作周期较长,在写入 操作时应考虑采用软件延时来控制写操作的节奏。 2816 采用 24 脚双列直插封装,引脚排列如图 6-12 所示。主要引脚及功能见下表 。 2816 主要引脚及功能 引脚名 引脚号 功能 A10~A0 1~8,22~23,19 11 位地址输入。 I/O7~I/O0 9~11,13~17 8 位数据输入/输出。 WE 21 写允许。低电平有效。 OE 20 输出允许。低电平有效。 CE 18 片选控制。低电平有效。用于芯片选择。 VCC 、VSS 24 , 12 单+5V 电源 , 地 图 6-12 28 16 芯片引脚 2816 有 4 种工作方式如表 6-4 所示。其中,读/写操作是正常 的工作方式,待机方式(Standby)是维持数据不丢失的低功耗方式。 表 6-4 2816 工作方式 工作方式 WE CE OE I/O8~I/O1 供电电流 读取操作 高电平 低电平 低电平 输出数据 正常电流 ICC 写入操作 低电平 低电平 高电平 输入数据 正常电流 ICC 待机方式 × 高电平 × 高阻状态 待机电流 ISB 写入禁止 × × 低电平 - - 写入禁止 高电平 × × - - 6.2.3 数据存储器的扩展方法 数据存储器的扩展方法与程序存储器大致相同。地址线和数据线的连接方法与程序存储 器连接的方法相同,关键不同的是控制线的连接,单片机与数据存储器连接的一般方法如图 6 -13 所示。其中: 单片机读控制线 RD 连接到存储器输出允许线OE ,用于读操作。 单片机写控制线WR 连接到存储器写入允许线WE ,用于写操作。 单片机程序存储器取指允许线PSEN 悬空不用。 MCS-51 单片机利用 MOV 指令访问内部数据存储器,而利用 MOVX 指令访问外部数 据存储器。外部数据存储器又可分成两个数据存储区,因此 MOVX 指令也有两种寻址类型: 100 1、低 8 位地址线寻址的外部数据存储区,其寻址空间为 256B。单片机可以使用 8 位寻 址的读/写指令来访问 256B 存储区。 读 256B 外部数据存储器指令: MOVX A ,@Ri ( i = 0 , 1) 写 256B 外部数据存储器指令: MOVX @Ri ,A ( i = 0,1) 2、16 位地址线寻址的外部数据存 器指令: MOVX 器指令: 储区,其寻址空间为 64KB。单片机可 以使用 16 位寻址的读/写指令来访问 所扩展的全部存储区。 读外部数据存储 A ,@DPTR 写外部数据存储 MOVX @DPTR ,A 6.2.4 数据存储器的扩展实例 一、单片 6264 芯片的扩展 用一片 6264 芯片扩张的 8KB×8 数据存储器电路如图 6-14 所示。数据 总线D0~D7对应相连;地址总线的公 共部分A0~A12对应相连,单片机P2.7 (对应地址总线A15)连接到 6264 片 选端 1CS ,另一个片选端CS2 直接连接 +5V电源(片选有效)。读/写线对应相 连,实现读/写控制。 根据如图数据存储器电路的连接 情况,其存储空间:0××0 0000 0000 0000B~0××1 1111 1111 1111B (0000H~1FFFH) 。 为了提高单片机应用系统的可靠性,可以在系统上电时对存储器进行自检。自检的方法 是分别用‘0’‘1’相间的 55H 和 AAH 作码,检查全部存储单元的每一位读/写操作是 否正常。上电自检程序如下: TEST: MOV DPTR , #0000H ;设定初始地址 0000H TEST1: MOV A , #55H ; 用 01010101B 码检验存储单元位读/写操作 MOVX @DPTR , A ; 写入 55H 给指定存储单元 MOVX A , @DPTR ;读出所写入的数据 CJNE A , #55H , ERROR ; 检查读写前后数据的正确性,有错转ERROR INC DPTR ;地址指针指向下一个单元 CJNE DPH , #20H , TEST1 ;检查完毕? 未完毕,继续 TEST2: MOV A , #0AAH ; 用10101010B检验存储单元的位读/写操作 MOVX @DPTR , A ; 写入 AAH 给指定存储单元 MOVX A , @DPTR ;读出所写入的数据 CJNE A , #55H , ERROR ; 检查读写前后数据正确性,有错转 ERROR INC DPTR ;地址指针指向下一个单元 CJNE DPH , #20H , TEST2 ;未检查完毕,继续 LJMP GOOD ; 检验完毕,存储器正常,转相应程序。 高八位地址 低八位地址 P2.0~P2.7 8051 P0.0~P0.7 WR RD 地址锁存器 图 6-13 MCS-51 单片机数据存储器的扩展 CE A15~A8 A7~A0 数据存储器 D0~D7 WE OE 图 6 -1 4 一片 6 26 4 芯片扩展的 8K B× 8 数据存储器电路 101 . . . ERROR: . ; 故障处理 . . 二、四片 6264 芯片的扩展 6264 芯片只有 8KB×8 容量,要扩展 32KB×8 的数据存储器,需使用 4 片 6264 芯片。 如图 6-15 所示电路是使用 4 片 6264 扩展的 32KB×8 的数据存储器。 图中所有 6264 的数据线D0~D7和地址线A0~A12以及读/写控制线作为公共部分并联, 再与单片机系统的数据和地址总线相连。2-4 线译码器 74LS139 对单片机两位地址线P2.5和 P2.6(对应A13和A14)译码输出 4 条片选线CS0、CS1、CS2、CS3 用于 4 片 6264 芯片选择, 单片机地址线P2.7连接到译码器的使能端G ,用于决定是否激活 74LS139(译码器的使能端G 也可以直接接地)。 该存储器电路的存储空间为 0000H~7FFFH,其中存储器 U1 的存储空间为 0000H~ 1FFFH,存储器 U2 的存储空间为 2000H~3FFFH,存储器 U3 的存储空间为 4000H~5FFFH, 存储器 U4 的存储空间为 6000H~7FFFH。 实际上,采用一片 62256 芯片就可以直接扩展成 32KB×8 的存储器电路如图 6-16 所示。 显然,这个电路简单得多。 图 6-15 用 4 片 6264 扩展的 32KB×8 的数据存储器电路 三、2816 芯片的扩展 E2PROM作为数据存储器扩展与一般RAM存储器的扩展方法相同,2816 扩展 2KB×8 存 储器电路如图 6-17 所示,存储空间为 0000H~07FFH。所不同的是E2PROM的擦写周期较长, 使用时应注意控制写入操作的时间隔,可以采用写前延时的方法来解决。下面子程序WRITE 可以确保写入操作的正确。 START: . . . MOV DPTR , #0123H ; 指向所写单元地址 MOV A , #12H ;所写数据暂存入 ACC 102 . . . WRITE: LCALL D7MS ;延时 7ms MOVX @DPTR , A ;把数据写入指定单元 RET 图 6-16 62256 芯片扩展 32KB×8 存储器电路 图 6-17 2816 芯片扩展 2KB×8 存储器电路 6.3 存储器的综合扩展 实际单片机应用系统中,可能既要扩展程序存储器也要扩展数据存储器,甚至 I/O 接口 芯片。 一、 程序存储器和数据存储器的综合扩展 程序存储器和数据存储器的存储空间是独立编址的,因此,地址/数据总线的连接基本 一样,只要根据各自控制总线的特点,“挂”接到三总线上即可。 32 KB×8 程序存储器和 8KB×8 数据存储器综合扩展电路如图 6-18 所示。该电路中, 两种存储器都是由P2 口提供高 8 位地址,74LS373 提供低 8 位地址,其中 6264 所用地址线 为A12~A0,27C256 所用地址线为A15~A0,公共部分并接;数据线D0~D7并接;控制线接 法很不一样,程序存储器 27C256 取指操作由PSEN 信号控制,而数据存储器 6264 的读/写 操作分别由RD 和WR信号控制,这样两个存储器从物理空间上是分开的,因此不会造成操 作上的混乱。 P2.7 P2.0~P2.6 EA 80C31 ALE P0.0~P0.7 PSEN RD WR A0~A7 74LS373 LE OE A0~A7 A8~A12 6264 CE D0~D7 OE WE A0~A7 A8~A15 27C256 D0~D7 OE CE 图 6-18 32 KB×8 程序存储器和 8KB×8 数据存储器综合扩展电路 +5v 103 习题: 1、 MCS-51 系列单片机总线结构如何?有什么特点? 2、 MCS-5l 单片机进行外部扩展时,为何低 8 位地址需地址锁存器,而高 8 位地址不需要? 3、 单片机编址技术解决什么问题? 4、 单片机有几种片选方式?各有什么特点? 5、 在 MCS-51 扩展系统中,程序存储器和数据存储器共用 16 位地址和 8 位数据线,为什 么两个存储空间不会发生冲突? 6、 试程序存储器与数据存储器扩展方法的异同点? 7、 用 74LS138 设计一个译码片选电路,分别作为 8 片 6264 的片选,试指出各芯片所占的 地址空间范围。 8、 试用 28F256 扩展 8031 的 32KB 程序存贮器,设计扩展电路并指出程序存贮器地址空间 范围。 9、 试用 2816 芯片扩展 8031 的 4K 数据存贮器,设计扩展电路并指出存贮器地址范围。设 计该电路上电自检程序。 10、试用 27256 作程序存贮器,62256 作数据存贮器,设计一个具有 32KB 程序存贮器和 32KB 数据存贮器的 8031 单片机应用系统。 104
/
本文档为【储存器扩展】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索