资料介绍
1.堆栈的溢出问题。MCS51系列单片机将堆栈设置在片内RAM中,由于片内RAM资源有限,堆栈区的范围也是有限的。堆栈区留得太大,会减少其他数据的存放空间,留得太少则很容易溢出。所谓堆栈溢出,是指在堆栈区已经满了的时候还要进行新的压栈操作,这时只好将压栈的内容存放到非堆栈区的特殊功能寄存器(SFR)中或者堆栈外的数据区中。特殊功能寄存器的内容影响系统的状态,数据区的内容又很容易被程序修改,这样一来,之后进行出栈操作(如子程序返回)时内容已变样,程序也就乱套了。因此,堆栈区必须留够,宁可大一些。要在Cx51程序设计中防止堆栈的溢出,要解决两个问题:第一,精确计算系统分配给用户的堆栈大小,假设是M;第二,精确计算用户需要堆栈的大小,假设是N。要求M≥N,下面分别分析这两个问题。
2.计算系统分配给用户的堆栈大小Cx51程序设计中,因为动态局部变量是长驻内存中的,实际上相当于局部静态变量,即使在函数调用结束时也不释放空间(这一点不同于标准C语言)。Cx51编译器按照用户的设置,将所有的变量存放在片内和片外的RAM中。片内变量分配好空间后,将剩下的空间全部作为堆栈空间,这个空间是最大可能的堆栈空间。当然,因为Cx51 是一种可以访问寄存器的C语言(特殊功能寄存器),因此可在程序中访问SP,将堆栈空间设置得小一点。不过,一般没有人这么做。
本文只是讨论放在片内RAM的变量。我们把变量分为两种情况:
- 《电子DIY》之《单片机实践项目》之光敏电阻(模块)内部原理图详细分析(讲解最完整最全系列之一),模块实际测试
- 实例制作一个51单片机连接PS2键盘讲解
- 功率放大电路的仿真资料详细分析 30次下载
- 51单片机多任务定时器和公共堆栈与私堆栈的源代码和工程文件 15次下载
- 51单片机堆栈的溢出问题和堆栈大小的详细说明
- 使用单片机实现Modbus通讯协议的实例程序和讲解分析
- 51单片机的应该如何使用定时器详细资料和实例说明
- 51单片机的int相关数据类型问题的详细资料讲解
- 使用51单片机进行智能家居的设计项目讲解和程序免费下载
- 如何配置minicom与51单片机进行串口通信详细实例说明
- 使用51单片机进行PWM的程序和讲解免费下载
- 51单片机堆栈的作用和使用资料讲解
- 近期的几个单片机例程及详细分析 3次下载
- 单片机应用系统的CPLD应用设计
- 单片机应用系统的CPLD 应用设计
- 详解STM32单片机和51单片机的区别 3.7w次阅读
- 普通单片机与STM32单片机中堆栈的区别 3032次阅读
- 详细分析MOSFET开关过程米勒效应的影响 6698次阅读
- 基于Boonton功率表的脉冲射频部件及系统的详细分析 972次阅读
- MCS51单片机程序设计时堆栈的计算方法解析 3675次阅读
- 绘制原理图的基本规测和各种电气控制原理图详细分析 5783次阅读
- 什么是单片机堆栈?单片机堆栈有什么作用和原理说明 2w次阅读
- 物联网的产业生态是怎样的详细分析概述 4968次阅读
- 51单片机CPU结构各部件的原理详细分析 2.7w次阅读
- 51单片机好学还是PIC单片机好学? 9920次阅读
- 凌阳十六位单片机与51单片机的比较分析 6849次阅读
- openwrt启动过程详细分析 1.2w次阅读
- 详细分析单片机数字滤波的算法 1266次阅读
- 51单片机存储器内存的讲解 1844次阅读
- 焊接技术详细分析 1809次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多