51单片机存储器结构介绍(2)

发布者:数据之翼最新更新时间:2016-02-25 来源: eefocus关键字:51单片机  存储器  结构介绍 手机看文章 扫描二维码
随时随地手机看文章
数据存储器
    数据存储器也称为随机存取数据存储器。数据存储器分为内部数据存储和外部数据存储。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。
    MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:
数据存储器空间(低128单元);
特殊功能寄存器空间(高128单元);
这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。下面我们就来详细的与大家讲解一下:
低128单元:
    片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。
                                                     
从上图中我们可以看到,8051单片机片内RAM共有256个单元(00H-FFH),这256个单元共分为两部分。其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从下图中可清楚地看出它们的结构分布。
                   
1、通用寄存器区(00H-1FH)
    在00H—1FH共32个单元中被均匀地分为四块,如下图,每块包含八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都称为R0—R7,那么在程序中怎么区分和使用它们呢?聪明的INTEL工程师们又安排了一个寄存器——程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器。对应的编码关系如下表所示。惹程序中并不需要用4组,那么其余的可用做一般的数据缓冲器,CPU在复位后,选中第0组工作寄存器。

 
2、位寻址区(20H-2FH)
片内RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H—7FH。位地址分配如下表所示:
          

CPU能直接寻址这些位,执行例如置“ 1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。
3、用户RAM区(30H-7FH)
在片内RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区了,地址单元为30H-7FH。对这部份区域的使用不作任何规定和限制,但应说明的是,堆栈一般开辟在这个区域。
关键字:51单片机  存储器  结构介绍 引用地址:51单片机存储器结构介绍(2)

上一篇:51单片机存储器结构介绍(1)
下一篇:51单片机时序及延时分析介绍

推荐阅读最新更新时间:2024-03-16 14:45

51单片机最简LED驱动
得到8盏LED交替亮灭的实验效果 #include reg51.h void Delay10ms(unsigned int c); // 延时10ms void main() { while(1) { P0 = 0x00; // 设置 P0 为低电平 Delay10ms(50); // 延时 P0 = 0xff; // 设置 P0 为高电平 Delay10ms(50); // 延时 } } void Delay10ms(unsigned int c) { unsigned char a, b; for (; c 0; c--) { for (b = 38;
[单片机]
51单片机系列——定时/计数器
51单片机有2个16位定时器/计数器:定时器0(T0为P3.4)和定时器1(T1为P3.5) 这里所说的16位是指定时/计数器内部分别有16位的计数寄存器。分别为低8位寄存器和高8位寄存器。 定时器模式 当工作在定时模式时,每经过一个机器周期内部的16位计数寄存器的值就会加1,当这个寄存器装满时溢出。 我们可以算出工作在定时模式时最高单次定时时间为 65535*1.085us=时间(单位us) 定时器作用:可以用于精确事件定时,PWM脉宽调制,波形发生,信号时序测量的方面。 计数器模式 当工作在计数器模式时,T0(P3.4引脚),T1(P3.5引脚)。每来一个脉冲,计数寄存器加1。 使用51定时/计数器步骤
[单片机]
<font color='red'>51单片机</font>系列——定时/计数器
带有存储器功能的数字温度计
1. DS1624基本原理 DS1624是美国DALLAS公司生产的集成了测量系统和存储器于一体的芯片。数字接口电路简单,与I2C总线兼容,且可以使用一片控制器控制多达8片的DS1624。其数字温度输出达13位,精度为0.03125℃。DS1624可工作在最低2.7V电压下,适用于低功耗应用系统。 (1). DS1624基本特性 ◆ 无需外围元件即可测量温度 ◆ 测量范围为-55℃~+125℃,精度为0.03125℃ ◆ 测量温度的结果以13位数字量(两字节传输)给出 ◆ 测量温度的典型转换时间为1秒 ◆ 集成了256字节的E2PROM非易性存储器 ◆ 数据的读出和写入通
[单片机]
带有<font color='red'>存储器</font>功能的数字温度计
基于51单片机制作的波形发生器Proteus仿真程序
仿真原理图如下 单片机源程序如下: #include reg51.h sbit wr=P3^6; sbit rd=P3^2; sbit key0=P1^0; sbit key1=P1^1; sbit key2=P1^2; sbit key3=P1^3; sbit key4=P1^4; unsigned char flag;//flag为0、1、2、3、4时分别为正弦波、方波、三角波、梯形波、锯齿波 unsigned char const code ZXB_code ={ 0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2, 0xa5,0xa8
[单片机]
基于<font color='red'>51单片机</font>制作的波形发生器Proteus仿真程序
51单片机连接ESP8266串口WiFi模块
  51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。   51单片机区别   同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51, PHILIPS,和WIN
[单片机]
<font color='red'>51单片机</font>连接ESP8266串口WiFi模块
延长Flash存储器使用寿命的研究
  引 言   随着嵌入式系统在数码相机、数字摄像机、移动电话、MP3音乐播放器等移动设备中越来越广泛的应用,Flash存储器已经逐步取代其他半导体存储元件,成为嵌入式系统中主要数据和程序载体。Flash存储器又称闪存,是一种可在线多次擦除的非易失性存储器NVM(Non-Volatile Memo-ry),即掉电后数据不会丢失。Flash存储器还具有体积小、功耗低、抗振性强等优点,是嵌入式系统的首选存储设备。   世面上常用的Flash存储设备有两种:NOR Flash和NAND Flash。根据存储容量,NOR一般为1~16 MB,而NAND为8~512 MB,现在的大容量NAND已经可以达到4 GB;读取速度NOR较NAND
[单片机]
延长Flash<font color='red'>存储器</font>使用寿命的研究
51单片机 (3)定时器和计数器
注:定时器与计数器原理与使用方法相似、此处计数器知识为基础普及、后面详讲 2个定时器(寄存器)、定时器0、定时器1、(计数器0、计数器1) TMOD: 定时器 /计数器模式控制寄存器 详见 百度百科TMOD 每经过一个机器周期、寄存器+1 TF:定时器溢出标志。溢出时自动置1。中断时硬件清零否则必须软件清零。 TR:定时器运行控制位。置1开始计时、清零停止计时。 C/T:该位为0时用作计时器、该位为1时用作计数器。 溢出时时间-开始计时时间=预设定时时间 一个机器周期共有12个振荡脉冲周期 若设定时为0.02s,则: 12*(65535-X)/11059200=0.02s 定时器作“加1”次数:X=4710
[单片机]
51单片机红外遥控解码
红外遥控发射芯片采用PPM编码方式,当发射器按键按下后,将发射一组108ms的编码脉冲。遥控编码脉冲由前导码、8位用户码、8位用户码的反码、8位操作码以及8位操作码的反码组成。通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前导码是一个遥控码的起始部分,由一个9ms的低电平(起始码)和一个4. 5ms的高电平(结果码)组成,作为接受数据的准备脉冲。以脉宽为0. 56ms、周期为1. 12ms的组合表示二进制的“0”;以脉宽为1. 68ms、周期为2. 24ms的组合表示二进制的“1”。如果按键按下超过108m
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved