单片机数据存储器RAM的扩展实例
- 格式:pdf
- 大小:180.86 KB
- 文档页数:3
单片机数据存储器RAM的扩展实例
RAM 是用来存放各种数据的,MCS-51 系列8 位单片机内部有128 B RAM 存储器,CPU 对内部RAM 具有丰富的操作指令。
但是,当单片机用于实时数
据采集或处理大批量数据时,仅靠片内提供的RAM 是远远不够的。
此时,我
们可以利用单片机的扩展功能,扩展外部数据存储器。
常用的外部数据存储器有静态RAM(Static Random Access MemorySRAM)和动态RAM(Dynamic Random Access MemoryDRAM)两种。
前者读/写速度高,一般都是8 位宽度,易于扩展,且大多数与相同容量的EPROM 引脚兼容,有
利于印刷板电路设计,使用方便;缺点是集成度低,成本高,功耗大。
后者集成
度高,成本低,功耗相对较低;缺点是需要增加一个刷新电路,附加另外的成本。
MCS-51 单片机扩展片外数据存储器的地址线也是由P0 口和P2 口提供的,
因此最大寻址范围为64 KB(0000H~FFFFH)。
一般情况下,SRAM 用于仅需要小于64 KB 数据存储器的小系统,DRAM 经常用于需要大于64 KB 的大系统。
实例:在一单片机应用系统中扩展2 KB 静态RAM。
芯片选择
单片机扩展数据存储器常用的静态RAM 芯片有6116(2K 乘以8 位)、
6264(8K 乘以8 位)、62256(32K 乘以8 位)等。
根据题目容量的要求,我们选用SRAM 6116。
6116 的管脚与EPROM 2716 管脚兼容,管脚如图所示
硬件电路。
STC单片机内部扩展RAM的应用作者:郭天祥来源:原创更新时间:2008-11-27 21:19:35 浏览次数:5803RAM是用来在程序运行中存放随机变量的数据空间,51单片机默认的内部RAM只有128字节,52单片机增加至256字节,STC89C52增加到512字节,STC89C54、55、58、516等增加到1280字节,对于编程者来说,一个芯片的RAM越多,写起程序来就越容易得心应手,不会总考虑RAM不够用而担心这担心那,连过多的变量都不敢定义。
在前面我们写程序时曾讲到过,如果定义一个变量后,不对这个变量进行初始化,这个变量默认的初值就是0,其实这个结论是需要一定的条件的,在用KEIL编写程序时,总程序中所有变量占用的字节之和小于128字节,并且存储器模式为small模式的前提下,对定义的变量不进行初始化时,编译器会默认将变量值设定为0。
一旦程序中的总变量超过128字节,必须对所有变量进行初始化,否则,没有被初始化的变量默认值将是不确定的。
当变量总和超过128字节时,必须还要在编译器中重新设定存储器的存储模式,存储器模式一共有3种,分别为small、compact和large模式,在KEIL编译器中有选项可进行选择,选项表如图4.4.1所示。
它决定了没有明确指定存储类型的变量、函数参数等数据的默认存储区域。
如果在某些函数中需要使用非默认的存储模式,也可以使用关健字直接说明。
下面对这三种模式分别做介绍。
1. small模式small模式中,所有缺省变量参数均装入单片机内部128字节RAM中,当定义类似如:uchar a; float b;等变量时,这些变量都装入内部128字节RAM中。
使用该模式的优点是访问速度快,缺点是空间有限,而且是对堆栈的空间分配比较少,难以把握,碰到需要递归调用的时候需要小心。
所以这种模式只适用于小程序。
2. compact模式compact模式中,所有缺省变量均位于单片机内部256字节RAM中,和在small模式中使用关健字pdata 来定义变量的效果相同,如:uchar pdata a[100];在该种模式下,程序总变量不得超过256字节,对于只有128字节的单片机,使用此模式定义变量超过128字节时,程序将出错。
典型外部ROM和RAM器件的使用实例详解来源:开拓电子()录入: autumn1 实例功能在很多应用场合,51单片机自身的存储器和I/O口资源不能满足系统设计的需要,这时就要进行系统扩展。
在本例中,将结合片外ROM和片外RAM的典型芯片的应用,说明如何扩展单片机的数据存储器和程序存储器。
本例中3个功能模块描述如下:∙单片机系统:扩展单片机的存储器,实现片外存储器的访问。
∙外围电路:分为3个内容。
首先是用地址锁存器完成单片机系统总线的扩展,其次是扩展片外ROM器件2764,第三是扩展片外RAM6264.∙C51程序:用C51完成对片外存储器的读写。
本例目的在于希望keiltop读者在读完本例后,能完成相关的电路设计。
∙器件原理本实例中将首先介绍单片机的三总线概念和形成,随后介绍单片机弦叫线的扩展。
在单片机系统扩展时,引入片外典型存储器件,最后给出典型片外ROM和RAM的电路连接和使用方法。
2.1单片机的三总线(1)什么是单片机的三总线?单片机三总线指数据线、地址线和控制线。
单片机CPU所要处理的就是这3种不同的总线信号。
数据线:数据总线用来传送指令和数据信息。
P0口兼做数据总线DB0~DB7.地址线:用来指定数据存储单元的志趣分配信号线。
在8051系列中,提供了引脚ALE,在ALE为有效高电平,在P0口上输出的是地址信息,A7-A0。
另外,P2口可以用于输出地址高8位的A15~A8,所以对外16位地址总线由P2和P0锁存器构成。
控制线:8051系列中引脚输出控制线,如读写信号线、PSEN、ALE以及输入控制信号线,如EA、TST、T0、T1等构成了外部的控制总线。
(2)如何实现外部总线的扩展?由于单片机的输入输出引脚有限,一般的,我们采用地址锁存器进行单片机系统总线的扩展。
常用的单片机地址锁存器芯片有74LS373,图1-22所示为74LS373的引脚以及它们用作地址锁存器的连接方法。
74LS373是带三态输出的8位锁存器。
单片机大容量FLASHRAM的扩展作者:北方交换大学史红梅余祖俊来源:《电子产品世界》微机监控设备常常需要对监控的数据进行实时记录,以便于事后分析处理,为事故分析、设备故障诊断和维修提供准确可靠的信息,如飞机“黑匣子”、列车“运行记录器”等。
数据信息的记录需要大数据容量和实时快速的读写速度,以及在掉电和复位等干扰下的可靠的数据保护。
现在一般采用非易失性RAM(NVRAM)为存储介质,其缺点是没有硬件和软件写保护,在强干扰下,程序误写的概率大。
新型闪速存储器(FLASHRAM)由于同时具有EPROM的可编程能力和EEPROM的电可擦写功能,又能像SRAM一样进行随机快速访问,因而越来越多的受到国内外的广泛关注和应用。
28F040是一个容量为512K×8Bit可块擦除、字节编程的EEPROM,其擦除、编程电压均为5V。
美国SST公司FLASHRAM28S040的性能特点及技术参数(1)单电源5V供电(2)容量512×8Bit(3)数据保存时间大于10年(4)重复擦写次数典型值100,000次(5)可分块擦除每块256字节(6)可进行硬件及软件定写保护(7)快速读取时间(150~200)ns其引脚功能如下:A0~A18为地址线,A0~A7选择一块数据中的某个字节,A8~A18是块地址。
DQ7~DQ0为数据I/O总线,读周期输出数据,在写周期接收数据。
CE为片先线,低电平时芯片被选中。
OE为输出使能端。
WE为写信号使能端。
VCC为电源,接+5V;VSS接地。
28SF040是一个容量为512Kbyte的CMOS快速闪存,可块擦除、字节编程的EEPROM,与现存的EPROM、EEPROM兼容。
它非常适合用程序和数据重复写入的场合。
对这种系统的应用来说,28SF040可提高性能和稳定性。
FLASHRAM与80C196单片机接口实例28SF040是容量并行存储器共计512Kbyte,而80C196全部寻址空间仅为64Kbyte,因此直接寻址大于64Kbyte的存储器是不行的,需要采用分而扩展技术,即CPU只提供大容量存储器的低位地址线,如A0~A12,而高位地址线A13~A18则通过扩展的CPU的I/O口来分页寻址。
STM32F103_外部RAM⽤作运存概述SRAM的简介折腾过电脑的朋友都知道,当电脑运⾏⽐较卡的时候,我们可以通过给电脑加装内存条来改善电脑的性能。
那么号称微型计算机的单⽚机能不能像电脑⼀样加装内存条呢?装内存条倒是不⾏,但是我们可以给单⽚机外加和内存条效果⼀样的SRAM来提升单⽚机的性能。
下⾯以STM32F407ZGT6单⽚机来讲解⼀下来扩展外部SRAM。
原理:给STM32芯⽚扩展内存与给PC扩展内存的原理是⼀样的,只是PC上⼀般以内存条的形式扩展,内存条实质是由多个内存颗粒(即SRAM芯⽚)组成的通⽤标准模块,⽽STM32直接与SRAM芯⽚连接。
SRAM,型号IS62WV51216,管脚图如下:IS62WV51216的管脚总的来说⼤致分为:电源线、地线、地址线、数据线、⽚选线、写使能端、读使能端和数据掩码信号线。
从这个图中我们可以看出IS62WV51216有19根地址线和16根数据线,从这些数据中我们可以分析出IS62WV51216的存储⼤⼩为1M,那么这个1M是怎么分析出来的呢?我们得来说说IS62WV51216的存储原理。
⾸先,我们来谈⼀谈⼀般的SRAM的存储原理:sram的存储模型我们可以⽤矩阵来说明:SRAM内部包含的存储阵列,可以把它理解成⼀张表格,数据就填在这张表格上。
和表格查找⼀样,指定⼀个⾏地址和列地址,就可以精确地找到⽬标单元格,这是SRAM芯⽚寻址的基本原理。
这样的每个单元格被称为存储单元,⽽这样的表则被称为存储矩阵。
地址译码器把N 根地址线转换成2的N次⽅根信号线,每根信号线对应⼀⾏或⼀列存储单元,通过地址线找到具体的存储单元,实现寻址。
如果存储阵列⽐较⼤,地址线会分成⾏和列地址,或者⾏、列分时复⽤同⼀地址总线,访问数据寻址时先⽤地址线传输⾏地址再传输列地址。
但是呢?你会发现,这个原理好像不太适⽤于IS62WV51216,为什么呢?其实不然,因为我们使⽤的SRAM⽐较⼩,IS62WV51216没有列地址线。
单片机外部RAM扩展模块MCS-51系列单片机外部RAM为64K,在一些特殊场合下,远不能满足需要,本文就AT89C51讨论MCS-51系列单片机大容量RAM的扩首先介绍128K随机读取RAM HM628128。
HM628128是32脚双列直插式128K静态随机读取RAM,它具有容量大、功耗低、价格便宜、集成度高、速度快、设计和使用方便等特点。
如若在系统中加入掉电保护电路,保护数据有很高的可靠性,可以和EEPROM相媲美。
技术特性:(1)最大存取时间为120ns;(2)典型选通功耗75mW;典型未选通功耗10uW;(3)使用单一5V电源供电;(4)全静态存储器,不需要时钟及时序选通信号;(5)周期时间与存取时间相等;(6)采用三态输出电路,数据输入和输出端公用;图6 HM628128外部引脚(7)所有输入和输出引脚均与TTL电平直接兼容;(8)有两个片选端,适合于低功耗使用,即为了保存信息,用电池作为后备电源。
保存信息的最低电源电压Vcc=2V。
引脚安排及功能表:图6是HM628128的外部引脚排列图,各引脚名称及功用分别如下:A0~A16是17条地址线;I/O0~I/O7是8条双向数据线;CS1是片选1,低电平有效,CS2是片选2,高电平有效;WR是写控制线,当CS1为低电平,CS2为高电平时,WR的上升沿将I/O0~I/O7上的数据写到A0~A16选中的存储单元中;OE是读出允许端,低电平有效。
HM628128的功能表如表3所示。
其中,H表示高电平,L表示低电平,X表示任意状态由于AT89C51直接外部RAM容量为64K,地址线为16条,其中低8位地址和数据分时复用,因此需要外部地址锁存器和ALE锁存信号来锁存低8位地址。
又由于AT89C51的外部数据和外设地址通用,若扩展外设必然占用数据地址。
因此本系统采用P2.7(A15)口来区分数据和外设:当P2.7(A15)口为高电平时,选择外部数据;P2.7(A15)口为低电平时,则为外设。
单片机系统扩展在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此在系统设计时首先要解决系统扩展问题。
单片机的系统扩展主要有程序存储器(ROM)扩展,数据存储器(RAM)扩展以及I/O口的扩展。
MCS-51单片机有很强的扩展功能,外围扩展电路、扩展芯片和扩展方法都非常典型、规范。
本章首先通过实训初步了解扩展的方法及应用,然后详细讨论各种扩展的常见电路、芯片以及使用方法。
实训6 片外RAM对信号灯的控制及可编程I/O口的应用1.实训目的(1) 掌握扩展片外RAM的方法及使用。
(2) 熟悉8155可编程接口芯片的内部组成。
(3) 掌握8155初始化的方法及I/O口的使用。
(4) 了解8155内部定时器和RAM的编程使用。
(5) 认识片外RAM及8155相关地址的确定。
2.实训设备和器件实训设备:单片机开发系统、微机。
实训器件:实训电路板1套。
3.实训电路图下图为实训电路图,与附录1中的电路图连接完全相同。
图6.1 实训6电路图4.实训步骤与要求1)查阅附录实训电路板原理图及芯片手册,初步认识51单片机扩展片外RAM 所使用的芯片6264的管脚排列,以及与单片机的连接关系;初步分析8155与单片机的连接及三个I/O口与外部LED的关系。
2)将电路板与仿真器连接好。
3)输入参考程序1,汇编并调试运行,观察P1口发光二极管的亮灭状态。
4)输入参考程序2,汇编并调试运行,观察电路板中LED(共阴极)的显示情况。
参考程序1:对片外RAM写入数据并输出,控制P1口的亮灭状态。
ORG 0000HMOV DPTR,#1000H ;指向片外RAM的首地址MOV A,#0FEH ;设置第一个要送入的数据MOV R1,#08H ;设循环次数WRITE: MOVX @DPTR,A ;向RAM中写入数据INC DPTR ;片外RAM地址加1CLR CYRL A ;更新数据DJNZ R1,WRITE ;8次未送完,继续写入,否则顺序执行下一条指令MOV R1,#08H ;再次设置循环次数START: MOV DPTR,#1000H ;指向第一个数据单元1000HREAD: MOVX A,@DPTR ;读出数据到A累加器MOV P1,A ;送P1口点亮发光二极管LCALL DELAY ;延时一段时间INC DPTR ;更新地址DJNZ R1,READ ;连续读出8个数据,送P1口显示SJMP START ;8个数据读完,继续从第一个数据单元开始。
单片机数据存储器RAM的扩展实例
RAM是用来存放各种数据的,MCS-51系列8位单片机内部有128 B RAM存储器,CPU对内部RAM具有丰富的操作指令。
但是,当单片机用于实时数据采集或处理大批量数据时,仅靠片内提供的RAM是远远不够的。
此时,我们可以利用单片机的扩展功能,扩展外部数据存储器。
常用的外部数据存储器有静态RAM(Static Random Access MemorySRAM)和动态RAM(Dynamic Random Access MemoryDRAM)两种。
前者读/写速度高,一般都是8位宽度,易于扩展,且大多数与相同容量的EPROM引脚兼容,有利于印刷板电路设计,使用方便;缺点是集成度低,成本高,功耗大。
后者集成度高,成本低,功耗相对较低;缺点是需要增加一个刷新电路,附加另外的成本。
MCS-51单片机扩展片外数据存储器的地址线也是由P0口和P2口提供的,因此最大寻址范围为64 KB(0000H~FFFFH)。
一般情况下,SRAM用于仅需要小于64 KB数据存储器的小系统,DRAM 经常用于需要大于64 KB的大系统。
实例:在一单片机应用系统中扩展2 KB静态RAM。
芯片选择。