内容正文:
第五章
第三节
中断初始化与堆栈
第二版
《单片机应用与技术》
教学目标
一
03 中断初始化与堆栈
本节目标
了解中断初始化的内容。
知识目标
(1)熟悉中断初始化操作。
(2)掌握 堆栈的定义、堆栈操作指令。
教学重难点
二
教学重点:熟悉中断初始化操作
教学难点:掌握 堆栈的定义、堆栈操作指令
导入新课
三
导入:
当单片机复位后,与中断有关的寄存器清0。因此,在使用中断之前,必须用软件编程对 与中断相关的寄存器初始化。
新知讲授
四
一、中断初始化
中断初始化操作主要有以下四方面:
(1)开放相应中断源:确定允许哪些中断源产生中断请求,即给IE 寄存器各标志位赋值。
01
(2)设定中断源的优先级。
02
新知讲授
四
一、中断初始化
中断初始化操作主要有以下四方面:
(3)确定中断源是内部中断还是外部中断,内部中断考虑赋初值(定时器/计数器初始值 或者串行通信波特率值),外部中断考虑触发方式,即给ITO、IT1赋值,赋值为1代表边沿触 发(下降沿有效),赋值为0代表电平触发(低电平有效)。
03
(4)开总中断允许标志位EA, 即 EA=1。
04
新知讲授
四
一、中断初始化
例5- 1 升级外部中断源INTO, 中断优先级为高,触发方式为边沿触发,禁止外部中断源INT1, 试编写中断初始化程序。
① 确定开放哪些中断源。外部中断源INTO允许中断, EXO =1; 外部中断INT1禁止中断, EX1=0 。
④ 开启总中断允许标志位,EA=1。
② 确定中断优先级。因INTO优先级为高,所以 PXO=1。
③ 确定中断的触发方式。采用边沿触发,故 ITO=1。
01
02
04
03
中断初始化
新知讲授
四
一、中断初始化
中断初始化程序如下:
新知讲授
四
二、堆 栈
1. 堆栈的定义
堆栈是内部数据存储器 (RAM) 中的一个区域,用于存放程序执行过程中某些寄存器内 需要保护的数据。数据进入或退出堆栈应遵循“先进后出,后进先出”的原则。MCS-51 系 列单片机的堆栈区地址范围为片内 RAM 的00H~7FH。
新知讲授
四
二、堆 栈
2. 堆栈指针 SP
堆栈指针 SP 是一个8位特殊功能寄存器,专门用来存放堆栈的栈顶地址。数据进栈时, 堆栈指针 SP 先自动加1,然后数据才被压入堆栈;数据出栈时,先取出需要出栈的数据,然 后 SP 自动减1。SP 总是指向栈顶,在系统恢复后,堆栈指针SP 的初始值为07H, 入栈操作从 08H 单元开始。因为00H~2FH作为工作寄存器组区和位寻址区,所以堆栈区的地址一般开辟 在 RAM 用户区(30H~7FH)。
新知讲授
四
二、堆 栈
3. 堆栈操作指令
堆栈操作指令有两条:进栈操作指令和出栈操作指令。
(1)进栈指令
格式: PUSH direct
功能: SP 堆栈指针先自动加1,然后将 direct 单元地址的值压入堆栈区。
新知讲授
四
二、堆 栈
3. 堆栈操作指令
例5-2 已 知(A)=0FH,(PSW)=80H, 观察以下指令:
新知讲授
四
二、堆 栈
3. 堆栈操作指令
(2)出栈指令
格 式 :POP direct
功能:先将堆栈区SP 所对应单元地址的值取出送入 direct 单元存储,然后 SP 堆栈指针自 动减1。
新知讲授
四
二、堆 栈
3. 堆栈操作指令
例5 -3 已知(A)=0FH,(PSW)=80H, 观察以下指令:
新知讲授
四
二、堆 栈
4. 现场保护与恢复服务程序结构
师生互动
五
总结出栈指令和堆栈操作指令的格式,并进行小组汇报。
课堂小结
六
中断初始化
01
1. 堆栈的定义
2. 堆栈指针 SP
3. 堆栈操作指令
堆 栈
02
布置作业
七
简答题
1.简述中断初始化操作。
2.简述堆栈指针 SP。
3.简述堆栈操作指令。
感谢观看
$$