51单片机内部ram
51单片机默认的内部RAM只有128字节,52单片机增加至256字节,STC89C54、55、58、516等增加到1280字节。
单片机内部RAM,共256个单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。现在新出的51单片机都在内部扩展了外部RAM,通常的情况是256B+1024B的RAM组合,不过在芯片内部之所以还叫外部RAM是因为是用外部总线连接的,访问方式还是MOVX。
51单片机内部ram分配如下:
地址 |
|
0x80~0xff |
高128字节,用于SFR |
0x30~0x7f |
数据缓冲区 |
0x20~0x2f |
16个字节(28位)可位寻址bdata区 |
0x1f |
第四组寄存器R0~R7 |
0x10~0x17 |
第三组寄存器R0~R7 |
0x08~0x0f |
第二组寄存器R0~R7 |
0x00~0x07 |
第一组寄存器R0~R7 |
可位寻址bdata区unsigned char bdata test;
sbit test0=test^0;就可以单独使用test的第0位
数据缓冲区unsigned char data test;
外部存储区A=XBYTE[0x8100];从地址8100H读一个字节
B=*((char xdata *)0x0000);从地址0000H读一个字节
在keil->option->Target->MemoryMode中有三种存储器模式:small、compact、large。
Small:变量存储在内部的RAM。
Large:变量存储在外部RAM里。
一般都使用small来存储变量,单片机优先把变量存储在内部RAM,如果内部RAM不够再到外部RAM里,而Large则先将变量存储到外部RAM。
采用small方式,unsigned char xdata a;指定变量a存储在外部ram
Unsigned char a;变量默认存储在内部ram里
采用large方式,unsigned char xdata a;变量存储在外部ram
Unsigned char a;变量默认存储在外部ram
本文档下载地址:http://download.csdn.net/detail/luckywang1103/598254
51单片机内部ram相关推荐
- 关于用51单片机内部定时器实现时钟和闹钟功能的概述
关于用51单片机内部定时器实现时钟和闹钟功能的概述 仅个人观点,欢迎大家相互学习和讨论 STC89C52单片机,内部配置了三个定时器,T0\T1\T2,其中T2定时器我们几乎不用,或者说很少用到.我们 ...
- 51单片机内部定时器/计数器实验
51单片机内部定时器/计数器实验 一.实验内容 使用MCS-51内部定时/计数器,定时1秒钟,CPU运用定时中断方式,实现每1秒钟输出状态发生一次反转,即发光管每隔1秒钟亮一次(P1.7接LED). ...
- 51单片机内部外设:定时器和计数器
定时器 51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成. 定时器作用: 1.用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作: 2.替代长时间的for循 ...
- 51单片机内部外设:实时时钟(SPI)
RTC引入 何为实时时钟 real time clock,真实时间,就是所谓的xx年x月x日x时x分x秒星期x RTC是SoC中一个内部外设,RTC有自己独立的晶振提供RTC时钟源,内部有一些寄存器用 ...
- 单片机内部RAM(片上RAM) 外部RAM(片外RAM)
上图中的no chip就是指的片上RAM,一般我们都是适用的片上RAM,在出现片上RAM不够用的情况下,可以通过扩展片外RAM来解决RAM不够用的情况. 实例 我用#CSDN#这个app发现了有技术含 ...
- 51单片机内部E2ROM
/*main.c源程序*/ #include <reg52.h> #include "E2ROM.c" #include "key.c" sfr W ...
- 51单片机ROM和RAM
文章目录 @[TOC](文章目录) 一.51单片机的程序存储器结构 1.内部结构 2.程序存储器的7个特殊地址 二.51单片机的数据存储器 1.片内数据存储器 2.片外数据存储器 提示:以下是本篇文章 ...
- html5如何划分区域,10.4 51单片机 RAM 区域的划分
前边介绍单片机资源的时候,我们提到过 STC89C52 共有512字节的 RAM,是用来保存数据的,比如我们定义的变量都是直接存在 RAM 里边的.但是单片机的这512字节的 RAM 在地位上并不都是 ...
- 51单片机读写内部EEPROM详解
文档共包含三个程序. 第一个程序最简单易懂,看懂了基本就会读写51单片机内部EEPROM了. 第二个程序和第一个读写EEPROM原理差不多,包含有LCD1602操作方法,有写字符串的方法. 第三个程序 ...
最新文章
- Asp.net MVC中的ViewData与ViewBag
- AngularJS 表单数据验证及错误信息提示
- c++ 函数的值传递,引用传递 和 引用返回的探索
- 量子计算机与新型传感器,新型量子传感器为超导量子计算机发展开辟了新路径...
- RocksDB事务实现TransactionDB分析
- collection集合 多少钱_面试必备-Java集合框架
- Java中Spring中的方法加上try catch后事务管理器失效无法回滚的情况
- (Android小应用)在Android中实现多线程断点下载(连载二)
- Maven修改默认JDK
- layui按钮展开、_layui监听工具栏(操作列表按钮)
- 程序员常用英文名参考
- php新浪微博开发平台,PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用
- Android使用Intent一键分享图片文字到腾讯、新浪、开心、微信等
- 【PostgreSQL】函数之百分位数中位数:percentile_cont()
- 承认吧,你就是个意志力很差的人
- 贾跃亭:5年前没人相信我能造出一辆车,我做到了
- 抖音矩阵系统,抖音矩阵系统源码。抖音SEO源码。
- K8S---Pod进阶资源限制以及探针
- linux将grep行注释,Linux grep命令的12个实用示例
- 通过playwright获取某平台直播弹幕
热门文章
- 使用JavaScript删除CSS属性
- centos7配置网卡
- [实战系列]SelectDB Cloud Kafka Connect 最佳实践张家锋
- 蓝牙低功耗CC2640R2F+W5500SPI通信
- 在win10系统上配置phpstorm 2018+php7.3+xdebug的开发环境
- PHPWORD 实现单元格内同一行文字设置不同的样式比如不同颜色不同大小粗细是否斜体等等
- 部置VMware Management Assistant-vMA
- QuartusII中Design partion功能的使用
- Visio 保存卡死解决办法
- mysql处理高并发