《单片机原理及维修》公开课教案<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
授课班级 |
| 授课时间 | ||||||||||||||||||||||||||||||||||||||||||||||||||
授课内容 | 51单片机内部RAM中堆栈的使用 | |||||||||||||||||||||||||||||||||||||||||||||||||||
教学目的 | 掌握堆栈在单片机中的位置、使用方法、指令形式 | |||||||||||||||||||||||||||||||||||||||||||||||||||
教学重点、难点 | 堆栈的操作原则、指令形式 | |||||||||||||||||||||||||||||||||||||||||||||||||||
教学过程 | 堆栈: 1、 什么是堆栈? (1)是单片机内部RAM中一个专用的连续存储区,是一个单端读写操作的存储结构。 (2)51单片机的堆栈在片内RAM 中开辟。 2、堆栈指针(SP) (1)8位寄存器,用来存放堆栈的栈顶。 (2)单片机复位后SP=70H。 3、堆栈的操作 (1)压入堆栈:SP自动加1,数据进栈; 先加后进 (2)弹出堆栈:数据进栈,SP自动减1; 先出后减 举例:假设SP=70H,将数据12H,34H依次压入堆栈 解答: (1) SP自动加1,SP=71H;将数据12H压入SP所指的单元(71H)。 (2) SP自动加1,SP=72H,将数据34H压入SP所指的单元(72H)。 <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
反之,现要将堆栈单元的内容弹出的话,执行过程如下, (1) 将SP所指堆栈单元(70H)的内容34H弹出;SP自动减1,SP=71H。 (2) 将SP所指堆栈单元(71H)的内容12H弹出;SP自动减1,SP=70H。
4、堆栈的原则: ★ 先进后出,后进先出 5、堆栈的作用: 用来保护断点地址和保护现场。 6、堆栈操作的指令: (1) 压入堆栈: PUSH direct ; SP自动加1,然后将direct内容压入SP所指堆栈单元。 (2) 弹出堆栈: POP direct ; 先将所指堆栈单元的内容弹给direct,然后SP自动减1。 小结:总结重点难点。
| |||||||||||||||||||||||||||||||||||||||||||||||||||
文章评论(0条评论)
登录后参与讨论