51单片机-内部扩展RAM的应用

RAM是在程序运行中存放随机变量的数据空间,51单片机球认的内部RAM只有128B,c

清于编程者来说,一个芯片的RAM空间越大,RAM不够用怎么办,连过多的变量都不敢定义。写起程序来就越容易得心应手,不会总考忠压前面我们写程序时曾讲到过,如果定义个变量后,不对这个变量进行初始化,这个修就是0,其实这个结论是流要一定的条的闲四写.政酸石用防学节之利要于品东粗烘器技式内叫限款边装控观

有初哈化时编译器会默认将变量值设定为0。一旦程序中的总变量超过128娜,

有交量进行初始化,否则没有被初始化的变量款认值将是不确定的,当变量总利配

2B时,还必须要在编译器中重新设定存储器的存储模式

器模式一共有三种,分别为small,compact和large模式,在Keil编译器中有配

选项表如图13.4,1所示。它决定了没有明确指定存储类型的变量、函数参数等数据的

驱欢,如果在来些函数中需要使用现的在滋楼武,也可用夫费字直装观

下面分别介绍这三种模式。

1.small模式

ma模式中,所有默认变量均装入单片机内部123BRAM中,当定义类似如"uchar a; float b"等变量时,这些变量都装入内部128BRAM中,使用该模式的优点是访问速度快

缺点是空间有限,且对堆栈的空间分配比较少,难以把握,碰到递归调用的时候需要小心。

这种模式只适用于小程序。

2.compact模式

compact模式中,所有默认变量均位于单片机内部256BRAM中,和在smal模式中使用

关键字pdata来定义变量的效果相同,如"uchar pdata a[10o;"在该模式下,程序总变量空间不得超过256B。对于只有128B的单片机,使用此模式定义变量超过128B时,程序将出错。

其优点是空间较small模式宽裕,速度较smal慢,但较large模式要快,是一种中间状态。

3.large模式

在large模式中,所有默认变量可放在多达64KB的RAM区,包括内部RAM和外部RAM,

这和使用关键字xdta来定义变量的效果相同。该模式的优点是空间大,可存变量多:缺点是访问速度慢,尤其对于两个以上的多字节变量访问速度来说更是如此。

参考来源


相关推荐
爱吃米粥7 小时前
过流、过压、防反接、防浪涌于一体的输入电路
单片机·嵌入式硬件
江屿风7 小时前
【STM32基础篇】【嵌入式生态问题及历史追溯】流食般投喂
大数据·开发语言·人工智能·笔记·stm32·嵌入式硬件
橘色的喵7 小时前
USB MCU的固件烧写工具:从 vendor 命令到逐字节校验
单片机·嵌入式硬件·嵌入式
意法半导体STM328 小时前
【官方原创】STM32CubeMX 6.18.0新版本发布
stm32·单片机·嵌入式硬件·stm32cubemx·cube开发工具
恒锐丰小瑞8 小时前
率能SS8833T 15V/1A/双通道H桥驱动芯片,低静态电流与过温报警输出(FAULT),用于POS打印机/机器人/电池玩具
stm32·单片机·机器人
振南的单片机世界8 小时前
IDLE中断:串口收完一帧数据,硬件自动“吹哨”
arm开发·stm32·单片机·嵌入式硬件
天空'之城8 小时前
单片机基础核心知识点汇总(四)
单片机·嵌入式硬件
zcmodeltech9 小时前
新能源教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的光伏-储能-智慧能源全场景联动方案
stm32·嵌入式硬件·能源·嵌入式实时数据库·多分类
优信电子9 小时前
STM32F103C8T6连接ESP-01S实现WiFi通信:TCP客户端开发实战(二)
stm32·嵌入式硬件·物联网·tcp/ip·esp8266·stm32f103c8t6·esp01/01s
智闲电子设计10 小时前
STM32 外扩 QSPI Flash 实战:字库和开机图存不下,就把 W25Q64 映射成内存直接读
网络·stm32·嵌入式硬件