文章目录

    • @[TOC](文章目录)
  • 一、51单片机的程序存储器结构
    • 1.内部结构
    • 2.程序存储器的7个特殊地址
  • 二、51单片机的数据存储器
    • 1.片内数据存储器
    • 2.片外数据存储器

提示:以下是本篇文章正文内容,下面案例可供参考

一、51单片机的程序存储器结构

1.内部结构

单片机内部的程序存储器用于存储单片机工作时候的程序,单片机内部专门设置一个16位的程序计数器(PC),用于知识下一时刻单片机要执行的程序在ROM空间中的地址位置,即可以存储64Kb空间大小。

程序存储器物理上可以分为片内程序存储器和片外存储器,不同单片机型号有不同的片内程序存储器空间大小。

例如8051单片机片内有4Kb的ROM,那当控制线取0时,PC访问的前4kb空间是片内的ROM;当控制线为0时候,PC访问的是片外的ROM。

2.程序存储器的7个特殊地址

51单片机复位后,PC的内容是0000H,即为系统程序的启动地址。

51单片机内部有6个中断源,6个中断源介绍及地址如下所示:

中断源之间只间隔8个存储单元,这是不足以存放中断程序的,所以这是中断入口地址,后续有中断服务函数。

二、51单片机的数据存储器

数据存储器(RAM)存储单片机运行期间所需要的数据和临时生成的数据。
从物理上分为片内RAM和片外RAM(片外RAM是通过16位的地址总线访问,所以片外RAM也是64kb)。

1.片内数据存储器

厂家根据不同的任务要求和需求定义不同的任务块,如下所示:

工作寄存器组:一共有32个字节,也被称为通用寄存器,用于临时寄存8个信息,工作寄存器组分为4个组别,每组有R0-R7一共8个数据信息。
位寻址区:一共有16个字节,128位,该区域每一位可按照位于方式使用,这128位会重新分配工作地址。
一般RAM区域:用户编程可以使用的RAM,当然,前两个单元未使用的空间,用户也可以使用。
堆栈区和堆栈指针:先进后出、后入先出的原则进行管理的一段存储区域

函数的调用就是一个堆栈操作,如下图所示:

为实现堆栈“先入后出,后入先出”数据处理,51单片机内部设置了一个堆栈指针SP。

特殊功能寄存器:专用于控制、管理片内算术逻辑部件等功能模块工作,用户编程时可以直接给特殊功能寄存器设定值。51单片机内部有包括PC在内19个特殊功能寄存器,如下所示:
CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈寄存器SP(81H),数据指针DPTR(82H、83H)

2.片外数据存储器

51单片机内部RAM空间不够时候,就通过总线来扩展片外ram,最多可以扩展64KB.


51单片机ROM和RAM相关推荐

  1. protues仿真扩展51单片机片外RAM的方法

    protues仿真扩展51单片机片外RAM的方法 由于protues仿真stc89c52的单片机时,是使用相近的at89c52.而AT89C52只有256B的RAM,并不能储存巨大的变量.所以,需要更 ...

  2. 51单片机外扩RAM,ROM操作。

    这是51单片机内置的功能,可以让我们少写很多时序,让代码变的整洁好看. 这里先拓展点小知识:RAM,ROM的区别,地址数据总线,控制总线. 1.RAM是一种掉电会丢失数据的可读可写的存储器.//其实题 ...

  3. 51单片机如何跳出wile循环_51单片机(九)汇编指令

    1 往期链接 Chenglin Li:51单片机(一)Visual Basic串口通信程序 Chenglin Li:51单片机(二)汇编语言设计流水灯 Chenglin Li:51单片机(三)汇编语言 ...

  4. 单片机原理与实践学习记录之51单片机硬件基础

    单片机原理与实践学习记录 第三课(更新时间:2021.9.6) 51单片机硬件基础 MCS-51是Intel公司生产的一个单片机系列的总称.在功能上,该系列单片机有基本型和增强型两大类,通常以芯片型号 ...

  5. 嵌入式ROM和RAM的区别

    随着智能手机的发展,不管是看手机配置还是经常在生活中与网络中都经常听人有人讨论一些词.比如手机RAM多少或者ROM多少等等.其实,在嵌入式开发中,ROM和RAM都是一种存储技术,只是两者原理不同,RA ...

  6. 【51单片机快速入门指南】1:基础知识和工程创建

    目录 简介 命名规则 51单片机的数据类型 总表 扩展数据类型 stdint.h 存储器类型关键字 烧录工具 工程的创建 创建项目 添加C文件 配置工程 存储模式配置 输出配置 代码优化配置 编译 烧 ...

  7. 51单片机的应用——I/O口数据传送

    一.题目要求 利用单片机发送存放在内部20H~29H中的10个字符,晶振11.0592MHz,波特率为9600,由T1产生,请编写发送和接收程序 二.题目分析 分析这是一道基础的题目,考察了I/O最基 ...

  8. 51单片机 同时扩展ROM,RAM的具体实现及kiel的具体设置

    51MCU内部有RAM,ROM,不同于8031.尽管如今的增强行51MCU的内部RAM,ROM可能已经很大的空间.但就技术而言,扩展RAM,ROM还是需要学会的.               对于不同 ...

  9. 嵌入式--深入理解单片机(一)单片机程序是如何运行起来的以及单片机的ROM和RAM

    目录 一.两种处理器的结构体系 1.哈佛结构体系(Harvard architecture) 2.冯·诺依曼结构体系 3.两种结构的总结 哈佛结构的优势 冯·诺依曼结构的优势 当前很多芯片都是混合结构 ...

最新文章

  1. 深入解析Angular Component的源码示例
  2. Windows 10 搭建Python开发环境(PyCharm )
  3. bestcoder #67 div2 1003 Black Jack 概率dp
  4. Android常见控件— — —EditText
  5. Vue中使用moment将时间戳数据格式化显示(el-table中)
  6. 牛逼!Python错误、异常和模块(长文系列第4篇)
  7. 计算机网络学习笔记-1.2.2OSI参考模型(1)
  8. 项目管理系统、工作台、经营看板、质量管理、合同管理、合同审核、新建合同、分包商管理、立项审批、创建项目、项目模板、项目统计、计划管理、结项申请、审批流程、审批记录、审批状态、参数设置、axure原型
  9. 如何使用 SpringCloud 搭建服务注册中心?
  10. java数组查找文本_基于数组的二叉查找树 Binary Search Tree (Java实现)
  11. 【STM32 .Net MF开发板学习-05】PC通过Modbus协议远程操控开发板
  12. 北大中文核心期刊计算机类前30%名录
  13. paypal沙盒用户_如何使用PayPal实施用户登录
  14. webGl shader的学习记录(六):如何画出一个渐变色填充的三角形
  15. 镜头调制传递函数MTF
  16. JavaEE#JCA
  17. Comet OJ - Contest #5 D 迫真小游戏 (堆+set)
  18. STM32 USB 开发(二)HID Slave 通信 --- 简单上位机开发
  19. ubuntu虚拟机开机黑屏系列解决办法
  20. ERROR: flag ‘flagfile‘ was defined more than once

热门文章

  1. proguard的使用
  2. 功能测试需要从那几个方面入手
  3. 聊聊 Ubuntu 18.04 静态IP设置
  4. IDEA新建运行Java项目
  5. Python生成个性二维码
  6. 区块链开源实现hyperledger fabric架构详解
  7. PSGAN 网络再修改
  8. geoerver mvt的pbf格式切片
  9. Virgin Voyages将提供按需香槟配送服务“Shake for Champagne™”
  10. (附源码)计算机毕业设计SSM职业学校招生系统