51单片机存储程序和数据

发布者:SereneDreamer最新更新时间:2024-03-19 来源: elecfans关键字:51单片机  存储程序  数据 手机看文章 扫描二维码
随时随地手机看文章

初学51总是会有这样的疑问,从电脑下载程序到开发板后,程序去哪了? C51中,用户或应用程序,系统程序和数据都是存放在哪的?

51单片机从物理结构上,可分为片内,片外程序存储器,片内片外数据存储器。


51单片机从功能上,有程序存储器,片内数据存储器,特殊功能寄存器,位地址空间,片外数据存储器。

程序存储器

51单片机的程序存储器用于存储代码和一些固定表格常数。
可寻址的程序存储器空间为64KB。

51单片机的从物理角度上可分为:片内,片外程序存储器,作为编址空间,编址规律是:先片内,后片外,片内片外连续,不重叠。
如图:为51单片机程序存储器编址图。

 

51单片机存储程序和数据

 

单片机如何执行指令?
如图:

 

51单片机存储程序和数据

无论片内程序存储器,还是片外程序存储器,他们的地址是共享的。如果片内4KROM的话,地址就是0x0000-0x0FFF,从0x1000-0xFFFF就是外部ROM的地址空间。可外部ROM的0x0000-0x0FFF的这一部分是否使用呢,这取决于单片机EA引脚的电平值。EA=1时就是使用内部ROM的这一部分,外部ROM的这一部分浪费不用;EA=0时就是使用外部ROM的这一部分,内部ROM浪费不用。从CODE段读取数据要使用汇编的MOVC指令,单片机会根据MOVC指令、EA状态、要读取的地址值,来自动地判断从什么存储器里取数据。

程序地址空间一般可以根据用户需要任意安排使用,但是cpu执行特殊程序的入口地址,用户必须按照规定存放相应的程序。
特殊程序入口地址如图:

 

51单片机存储程序和数据

 

数据存储器

51单片机内外数据存储器是两个独立的地址空间,应单独编址。
片内数据存储器地址空间'00H-FFH',RAM地址空间“00H-7FH”特殊功能寄存器SFR地址空间“80H-FFH”
片外数据存储器地址空间“0000H-FFFFH”
如图:

 

51单片机存储程序和数据

 

为了使片内数据存储器的存储空间合理运用,对低128字节的RAM划分了不同的功能区。
如图:

51单片机存储程序和数据

 

51单片机存储程序和数据

位寻址区,地址空间20H-2FH,16个单元,共128位。

数据缓冲区,地址空间30H-7FH,共80个单元。


特殊功能寄存器
特殊功能寄存器(SFR,Special Function Registers)别称专用寄存器,主要用于管理,控制,片内逻辑部件,并行i/o口,串行i/O口,定时器/计数器,中断系统等功能模块的工作。

总结:对于数据存储器,则分为内部数据存储器(IDATA/RAM)和外部数据存储器(XDATA)两个部分,但这两个存储器就不像code存储器那样共享地址空间的了。一般的8051芯片,内部RAM只有128B,从0x00-0x7F,而从0x80-0xFF则是SFR(CPU工作寄存器和各种外设寄存器都在此)的区域。对于8052来说,内部RAM有256B,所以0x80-0xFF是高128B的RAM在使用。可这部分不是SFR专用的吗?是SFR专用,但注意,SFR的访问只能使用“直接寻址方式”(使用特定的汇编指令来实现),区别就在这里。只有通过直接寻址访问的地址才是SFR,否则就是普通的RAM。至于外扩的RAM(XDATA),地址也是从0x0000-0xFFFF的,而且这里的0x0000和内部RAM的0x00是不同的,是完全独立的两个空间。他们的访问方法也是不同的。MCS-51使用MOVX指令,来读写XDATA区。而且,访问XDATA区,是需要DPTR寄存器来辅助的。因为只有DPTR才能装得下十六位的XDATA地址。参考:

特殊功能寄存器

特殊功能寄存器(SFR,Special Function Registers)别称专用寄存器,主要用于管理,控制,片内逻辑部件,并行i/o口,串行i/O口,定时器/计数器,中断系统等功能模块的工作。

51单片机中,专用寄存器与片内RAM统一编址,且作为直接寻址使用。

51单片机有18个专用寄存器,其中3个是双字节寄存器,占用21个字节。

在SFR块的地址空间80H-FFH中,仅仅只有21个字节作为特殊功能寄存器离散分布在这128个字节范围中,其余字节无定义,但是用户不能对这些字节进行“读写操作”

下图为特殊功能寄存器的名称,表示符,地址一览表。

 

51单片机存储程序和数据


关键字:51单片机  存储程序  数据 引用地址:51单片机存储程序和数据

上一篇:基于51单片机的万年历时钟仿真设计
下一篇:51单片机工程模板创建方法

推荐阅读最新更新时间:2024-11-17 05:10

关于结构体数据存储的对齐问题
在C/C 中经常需要进行存储器的操作,关于数据如何在存储器中存储的问题也是非常重要的,如何在保证数据量(信息量)的同时又保证数据的存储量最小,乍一听感觉没什么好讨论的。但是作为学习嵌入式的必须要明白数据的存储是与数据的结构存在密切联系的,特别是结构体中的内存分配问题。 首先应该明白基本的类型在内存中的大小,char型一般占有1个字节,int型一般占有4个字节,double型一般占有8个字节,short 则占有2个字节(当然也会存在一定的变化,具体情况依据编译器决定)。我们都知道C语言的结构体是一个不同类型数据的集合。那么一个结构体到底占多少存储空间呢? 首先应该意识到C语言的存储存在一定的特殊性。在C语言的结构体中需要主要
[单片机]
关于结构体<font color='red'>数据</font><font color='red'>存储</font>的对齐问题
基于C8O51f060单片机的数据采集系统
0 引言 随着测控系统自动化、智能化的发展,要求传感器及仪表的准确度更高,可靠性更强,并具有一定的数据处理能力及自检、自校验、自补偿等功能。传统测控方式已不能满足这些要求。近几年来,由微计算机、传感器和通讯等技术结合而产生的功能强大的传感器数据采集系统可以准确、及时地获得并处理信息,提高了收集环境信息的有效性和速度。智能化、数字化数据采集系统己成为当今科技界研究的热门课题。 1 总体方案设计 该系统是以C8051f060单片机为核心,对数据进行放大滤波采集,经过单片机内部A/D转换,最后将数据存入FLASH, 同时可以通过串口将数据传送到PC机上显示。采集系统硬件框图如图1所示。 1.1 信号放大电路设计
[单片机]
清翔51单片机5个中断所涉及的寄存器
定时器对片内时钟脉冲计数,计数器对外部脉冲计数。 51单片机有两个16位定时器/计数器:定时器0P3.4 定时器1 P3.5 3.0 RXD串行口输入 3.1 TXD 3.2 外部中断0 3.3 外部中断1 3.4 T0 3.5 T1 3.6 WR外部写控制 3.7 RD外部读控制 我们通过单片机的晶振频率得知其时钟周期,再尤其乘以12得到机器周期。每一个机器周期在寄存器内+1,直到加满溢出产生中断 100MHZ 周期=1/频率 t=1/100M=10^-8(s)=10ns 1.在定时模式,每经过一个机器周期,计数器的值就加一,寄存器装满的时候溢出 单次最高定时时间为65535*1.085us 2.在计数模式P
[单片机]
51单片机指令系统寻址方式
指令给出参与运算的数据方式称为寻址方式。换句话说,寻址方式就是寻找确定参与操作的数的真正地址。 在MCS-51系列单片机的指令系统中寻址方式共有7种, 立即寻址方式,mcs-51单片机的一种寻址方式,操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如#20H,立即寻址方式通常用于对通用寄存器或内存单元赋初值。 直接寻址方式,指令操作数域给出的是参加运算的操作数地址。在MCS-51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据寄存器和位地址空间。其中,特殊功能寄存器和位地址空间只能用直接寻址方式访问。 寄存器寻址方式,操作数在寄存器中,由指令操作码中的rrr
[单片机]
示波器没有波形怎么调
  1、打开示波器进行使用,找到示波器面板上面的【menu】按钮。   2、校准示波器的数据,以保证准备地进行测量。   3、让探头和信号发生器进行连接。   4、接好信号以后,按下示波器的【autoset】按键,示波器就会自动设置,波形就稳定了。
[测试测量]
解决数据中心非标设备EDA 布线的方法
EDA在通信行业(电信)里的另一个解释是企业数据架构,EDA给出了一个企业级的数据架构的总体视图,并按照电信企业的特征,进行了框架和层级的划分。 EDA是 电子 设计自动化(Electr ON ic Design Automation )的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。   在数据信息通信量快速增长的今天,数据中心机房建设规模将是空前的,在众多的大型数据中心机房中,为支持高效的数据处理,通常会使用较多的非标的 服务器 设备或存储设备,所谓非标设备指的是设备的外围安装尺寸不符合标准的 网络机柜 规格的 传输设备
[嵌入式]
解决<font color='red'>数据</font>中心非标设备EDA 布线的方法
基于FPGA的高速时钟数据恢复电路的实现
   0 引言   时钟数据恢复电路是高速收发器的核心模块,而高速收发器是通信系统中的关键部分。随着光纤在通信中的应用,信道可以承载的通信速率已经可以达到GHz,从而使得接收端的接收速率成为限制通信速率的主要瓶颈。因此高速时钟数据恢复电路的研究是目前通信领域的研究热点。目前时钟数据恢复电路主要是 模拟 IC和数字IC,其频率已经可以达到几十GHz。而由于FPGA器件的可编程性、低成本、短的设计周期以及越来越大的容量和速度,在数字领域的应用逐渐有替代数字IC的趋势,已经广泛作为数字系统的控制核心。但利用中低端FPGA还没有可以达到100MHz以上的时钟数据恢复电路。由于上面的原因,许多利用FPGA实现的高速通信系统中必须使用额外的
[嵌入式]
基于FPGA的高速时钟<font color='red'>数据</font>恢复电路的实现
AMD 宣布推出第二代 Versal Premium 系列,实现全新系统加速水平,满足数据密集型工作负载需
2024 年 11 月 12 日,加利福尼亚州圣克拉拉 —— AMD ( 超威,纳斯达克股票代码: AMD )今日宣布推出 第二代 AMD Versal™ Premium 系列,这款自适应 SoC 平台 旨在面向各种工作负载 提供 最高水平系统加速。 第二代 Versal Premium 系列 将成为 FPGA 行业 首款 在硬 IP 中 采用 Compute Express Link (CXL®) 3.1 1 与 PCIe ® Gen6 并支持 LPDDR5 存储器 的器件。 这些下一代接口和 存储器 技术 能够在处理器和加速器之间快速且高效地访问和迁移数据。CXL 3.1 和
[嵌入式]
AMD 宣布推出第二代 Versal Premium 系列,实现全新系统加速水平,满足<font color='red'>数据</font>密集型工作负载需
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved