当前课程知识点:单片机原理及应用 >  2 单片机的硬件结构 >  2.6 堆栈 >  堆栈

返回《单片机原理及应用》慕课在线视频课程列表

堆栈在线视频

堆栈

下一节:内部程序存储器ROM

返回《单片机原理及应用》慕课在线视频列表

堆栈课程教案、知识点、字幕

同学

你好

今天我们要来介绍一下堆栈

堆栈是单片机非常重要的一个技术

首先让我们来看一看什么是堆栈

通常我们会在内部数据存储器RAM中

划分出一片连续的存储单元

划分出一片连续的存储单元

来当做堆栈

一般就是在内部RAM的30H以上

单元中划分出一片连续的区域

来作为堆栈

堆栈的功能

主要是在程序执行过程中

用来保存一些临时的数据

堆栈的功能有向上生长型

和向下生长型两种类型

我们的51单片机的堆栈

是属于向上生长型

即数据进入堆栈时是按照单元地址

增大的方向进入堆栈进行存储的

我们的数据是如何进出这个堆栈

进出堆栈的原则是按照

先进后出的原则

同时和堆栈相关的操作

和堆栈操作相关的

一个特殊功能寄存器

是堆栈指针SP

这个SP就属于我们前面所说过的

是内部RAM的高128个单元里面

的一个特殊功能寄存器

SP里面存放的是堆栈栈顶的

存储单元的地址

那么我们的数据如何进栈保存

首先会把SP指针自动加一个一

然后再把数据写入SP中地址

所对应的RAM单元中

这是数据的进栈

数据如何出栈

就是如何把存入堆栈的数据取出来

我们的单片机

会从堆栈指针SP中的地址

对应的RAM单元中来取出这个数据

当数据从堆栈取出之后

CPU会自动的把SP减一个一

这样的话就为读取下一个数据

做好了准备

在我们的单片机复位的时刻

堆栈指针SP是自动的设为07H

但是我们知道07H地址对应的是

存储单元中的什么

工作寄存器区的

因此我们在程序初始化时

应该将SP指针初始化为

30H以后的地址

这样就可以避免堆栈占用

宝贵的工作寄存器区

和位地址区的单元了

以上就是堆栈的主要的概念

和我们的51单片机如何利用堆栈来

进行保存数据和取出数据

好的

今天我们主要介绍了51单片机的

堆栈的功能以及堆栈的操作的方法

同学们要始终牢记

和堆栈操作相关的一个核心的硬件

就是我们的SP也叫做堆栈指针

数据进栈和出栈我们用一个口诀

可以形象地来进行描述

所谓数据的入栈就是SP要先加后压

就是先把SP指针内容加一个1

再把数据存入到SP指针所指向的

RAM单元的单元中

这叫先加后压

数据的出栈

我们又称作是先弹后减

就是先把SP

指向的RAM单元的数据取出来

再把SP自减一个一

这叫先弹后减

所以同学们以后在51单片机中

想利用51单片机进行堆栈的操作

始终牢记这个口诀

就是进栈是先加后压

出栈是先弹后减

只要掌握了这样一个准则

你就可以灵活的利用堆栈来存放

我们程序中相关的一些数据了

好了

今天的课就到这里

同学们 再见

单片机原理及应用课程列表:

1 单片机系统概述

-1.1 单片机的名称

--单片机的名称

-1.2 单片机的相关概念

--单片机的相关概念

-1.3 单片机的设计语言及软件

--单片机的设计语言及软件

-1.4 单片机的发展

--单片机的发展

-1.5单片机的应用

--单片机的应用

-1.6 第一单元作业

2 单片机的硬件结构

-2.1 单片机的结构框图

--单片机的结构框图

-2.2 80C51内部结构

--80C51内部结构

-2.3 信号引脚

--信号引脚

-2.4 内部数据存储器RAM

--内部数据存储器RAM

-2.5 特殊功能寄存器

--特殊功能寄存器

-2.6 堆栈

--堆栈

-2.7 内部程序存储器ROM

--内部程序存储器ROM

-2.8 存储器的结构特点

--存储器的结构特点

-2.9 并行输入输出接口电路

--并行输入输出接口电路

-2.10 并口功能与时序

--并口功能与时序

-2.11 工作方式

--工作方式

-2.12 最小应用系统

-- 最小应用系统

-2.13 第二单元作业

3 指令系统

-3.1 指令格式

--指令格式

-3.2 立即寻址与直接寻址

--立即寻址与直接寻址

-3.3 寄存器寻址与寄存器间接寻址

--寄存器寻址与寄存器间接寻址

-3.4 变址间接寻址与位寻址

--变址间接寻址与位寻址

-3.5 内部RAM传送指令

--内部RAM传送指令

-3.6 外部RAM传送指令

--外部RAM传送指令

-3.7 ROM传送指令

--ROM传送指令

-3.8 交换指令

--交换指令

-3.9 堆栈操作指令

--堆栈操作指令

-3.10 传送类指令习题讲解

--传送类指令习题讲解

-3.11 算术运算类指令特点

--算术运算类指令特点

-3.12 加法指令

--加法指令

-3.13 加法习题、减法和乘除指令

--加法习题、减法和乘除指令

-3.14 逻辑运算指令

--逻辑运算指令

-3.15 布尔变量操作指令

--布尔变量操作指令

-3.16 无条件转移指令

--无条件转移指令

-3.17 条件转移指令

--条件转移指令

-3.18 循环转移指令

--循环转移指令

-3.19 子程序相关指令

--子程序相关指令

-3.20 并口访问指令及指令小结

--并口访问指令及指令小结

-3.21 第三单元作业

4 汇编语言程序设计

-4.1 汇编程序约定

--汇编程序约定

-4.2 宏指令

--宏指令

-4.3 汇编控制指令

--汇编控制指令

-4.4 汇编语言程序设计步骤

--汇编语言程序设计步骤

-4.5 顺序程序举例

-- 顺序程序举例

-4.6 单重分支结构

--单重分支结构

-4.7 多重分支结构

--多重分支结构

-4.8 单重循环结构

--单重循环结构

-4.9 计数控制循环程序

--计数控制循环程序

-4.10 特征控制循环程序

-- 特征控制循环程序

-4.11 多重循环程序

--多重循环程序

-4.12 子程序的概念

--子程序的概念

-4.13 子程序设计注意事项

--子程序设计注意事项

-4.14 子程序举例

--子程序举例

-4.15 第四单元作业

5 单片机存储器扩展

-5.1 系统扩展

--系统扩展

-5.2 51单片机扩展方法

--51单片机扩展方法

-5.3 存储器单元位数扩充方法

--存储器单元位数扩充方法

-5.4 存储器容量单元扩充方法

--存储器容量单元扩充方法

-5.5 译码线选法

--译码线选法

-5.6 程序存储器的类型

--程序存储器的类型

-5.7 程序存储器的扩展

--程序存储器的扩展

-5.8 数据存储器的扩展

--数据存储器的扩展

-5.9 存储器综合扩展

--存储器综合扩展

-5.10 单片机存储器系统的特点

-- 单片机存储器系统的特点

-5.11 第五单元作业

6 中断与定时系统

-6.1 中断技术

--中断技术

-6.2 中断优先级及中断系统内部结构

--中断优先级及中断系统内部结构

-6.3 中断控制寄存器及中断响应过程

--中断控制寄存器及中断响应过程

-6.4 中断请求的撤消

--中断请求的撤消

-6.5 外部中断举例

--外部中断举例

-6.6 定时器/计数器

--定时器/计数器

-6.7 定时计数器工作方式及程序编写

--定时计数器工作方式及程序编写

-6.8 定时器举例

--定时器举例

-6.9 第六单元作业

7 I/O扩展及应用

-7.1 并行接口

-- 并行接口

-7.2 并口举例

--并口举例

-7.3 并口扩展芯片

--并口扩展芯片

-7.4 8155连接方式及编程

--8155连接方式及编程

-7.5 键盘接口技术

--键盘接口技术

-7.6 按键处理程序及举例

--按键处理程序及举例

-7.7 键盘扫描子程序

-- 键盘扫描子程序

-7.8 显示接口技术

--显示接口技术

-7.9 多位字符静态显示

--多位字符静态显示

-7.10 多位字符动态显示

--多位字符动态显示

-7.11 第七单元作业

8 单片机实验

-8.1 流水灯控制系统设计

--html

-8.2 数码管显示系统设计

--html

-8.3 按键控制系统设计

--html

-8.4 中断控制系统设计

--html

-8.5 定时计数器系统设计

--html

-8.6 串口通信系统设计

--html

-8.7 汉字显示系统设计

--html

-8.8 单片机烧录方法

--单片机烧录方法

-8.9 第八章作业-作业

堆栈笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。