单片机原理与应用普通高等教育“十一五”国家级规划教材课件作者梁炳东第4章节单片机的程序设计与调试.pptVIP

  • 8
  • 0
  • 约2.1万字
  • 约 141页
  • 2018-05-08 发布于广东
  • 举报

单片机原理与应用普通高等教育“十一五”国家级规划教材课件作者梁炳东第4章节单片机的程序设计与调试.ppt

第4章 单片机的程序设计与调试 第4章 单片机的程序设计与调试 4.1 源程序的设计与汇编 4.2单片机开发系统与源程序的调试 4.3 顺序和分支程序设计 4.4 循环和查表程序设计 4.5 子程序和中断程序设计 练习题 4.1 源程序的设计与汇编 4.1.0 几个概念 几个概念 源程序的汇编与反汇编 4.1.1 伪指令 1.起始汇编伪指令 【项目应用】以下是应用项目中使用的ORG伪指令,请分析各条ORG指令的作用。 解: 2.结束汇编伪指令 3.通用赋值伪指令 说明: 【例4-1】如下一段程序的功能是将BLOCK单元开始存放的10个无符号数进行求和,并将结果存入SUM单元中(假设结果小于255)。 说明: 4.位地址赋值伪指令 5.单字节定义伪指令 数据的表示方法 【项目应用】以下是应用项目中使用的DB伪指令 说明: 6.双字节定义伪指令 7.空间定义伪指令 4.1.2 源程序的设计 1.源程序设计的步骤 (1)明确设计任务 (2)选择适当的算法 (3)确定系统规划 (4)确定程序结构 (5)绘制程序流程图 程序流程图符号 程序流程图符号说明: (6)编写源程序 (7)汇编和调试 2.源程序设计的基本要求 3.源程序设计注意事项 (1)采用模块化的程序设计方法 (2)尽量采用循环结构和子程序 (3)合理分配内存单元 (4)正确使用转移指令 4.1.3 源程序的汇编 1.手工汇编 【例4-2】请对例4-1的源程序进行手工汇编。该源程序的功能是将BLOCK单元开始存放的10个无符号数进行求和,并将结果存入SUM单元中(假设结果小于255)。 解:(1)第一次汇编 表4–1 第一次手工汇编结果: (2)第二次汇编 表4–2 第二次手工汇编结果: 2.机器汇编 4.2 单片机开发系统 与源程序的调试 4.2.1 开发系统的组成 1.PC机 2.仿真机 3.仿真头 4.目标系统 5.编程器 6.擦除器 4.2.2 开发系统的功能 1.源程序编辑功能 2.源程序的编译功能 3.排错功能 4.目标代码装载功能 5.运行监控功能 6.读出/修改功能 7.仿真功能 4.2.3 源程序的调试 (1)编辑 (2)汇编 (3)链接 (4)装载 (5)反汇编 (5)反汇编 (6)运行 4.3 顺序和分支程序设计 4.3.1 顺序程序设计 【项目应用】 【项目应用】源程序 4.3.2 分支程序设计 1.单分支程序 【项目应用】 【项目应用】源程序 说明: 说明: 说明: 2.双分支程序 【项目应用】 【项目应用】源程序 【项目应用】源程序(续) 【项目应用】源程序(续) 3.多分支程序 【例4-3】 说明: 4.4 循环和查表程序设计 4.4.1 循环程序设计 循环程序组成 循环程序结构 1.先执行后判断 2.先判断后处理 4.4.2 查表程序设计 1.使用MOVC A,@A + DPTR查表 2.使用MOVC A,@A?+?PC查表 【项目应用】 (1)实现“延时1ms” 的循环程序: (2)控制6个LED数码显示器依次显示时、分、秒时间值的循环程序(只要求理解程序结构即可): 说明: (3)显示子程序中的查表程序: 4.5 子程序和中断程序设计 4.5.1 子程序设计 1.子程序的编写 2.子程序的调用与返回 3.现场的保护和恢复 现场保护和现场恢复方法 (1)在主程序中实现现场的保护和恢复。 说明: 说明: 说明: (2)在子程序中实现现场的保护和恢复。 说明: 4.子程序调用时的参数传递 (1)利用累加器或工作寄存器传递 (2)利用数据表传递 (3)利用堆栈传递 (4)利用位地址传递 【项目应用】 (1)实时时间(时、分、秒)存放单元 (2)时间控制字 控制字存放在ROM中的情况及查表方法 (3)控制子程序的调用 (4)控制时间的核对 控制子程序流程图 (5)控制时间的查表方法 (5)控制时间的查表方法(续) 细化的控制子程序流程图 (6)控制子程序的源程序 4.5.2 中断程序设计 中断服务程序特点 【项目应用】 练习题 每调用一次控制子程序,就查看一遍存放控制字的数据区,检查每个控制字所设置的时间是否与当前时间相同,若相同,则通过并行I/O端口P1输出控制信号。 图4-13 应用项目中的控制子程序 (见图4-12):用DPTR作为数据指针,指向控制字的第一个字节时,先取出控制字中的控制码, 若控制码为00H,则表示已查到控制字码表的末尾,子程序返回; 若控制码不为00H,则暂存控制码及数据指针的低8位,然后依次取出控制字的时、分、秒数值,并逐个与时、分、秒计时单元中的当前时间值进行比

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档