51单片机内部ram
来源:互联网 发布:美橙域名转出 编辑:程序博客网 时间:2024/05/17 22:26
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
- 单片机内部扩展RAM
- MCS-51单片机内部RAM可分为几个区?各区的主要作用是什么
- 51单片机的工作寄存器R0~R7位于内部RAM什么位置
- 1T单片机1KB内部扩展RAM
- 51单片机内部资源
- 51单片机内部E2ROM
- 51单片机片外扩展RAM
- 51单片机片外扩展RAM
- 51单片机 RAM 数据存储区
- 10.4 51单片机RAM区域的划分
- 51单片机RAM区域的划分
- 51的内部RAM地址分配
- STC89C52单片机RAM模式
- 51之51单片机RAM数据存储区学习笔记
- 51单片机 RAM 数据存储区 [李园7舍_404]
- 51单片机资源扩展:扩展片外RAM
- MCS-51单片机的内部程序存储器
- sort,qsort排序 (C++)
- UIView的layoutSubviews和drawRect方法何时调用
- MOSES的高级特征和功能
- android有用代码片段2
- Response.ContentType
- 51单片机内部ram
- Ojbective-C的一些语法
- sql判断表名是否存在
- 工具栏的创建 及状态栏
- 深度学习的网站链接
- Java反射机制
- 关于interface继承来源的讨论-interface不从object继承
- STL之multimap简介
- linux用户管理