单片机程序设计.ppt_第1页
单片机程序设计.ppt_第2页
单片机程序设计.ppt_第3页
单片机程序设计.ppt_第4页
单片机程序设计.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机程序设计 一 汇编程序约定二 编语言程序设计步骤三 常用程序结构 一 汇编程序约定 汇编语言程序 用汇编语言编写的 完成特定功能的指令序列 汇编程序 能将汇编语言源程序转换成机器语言目标程序的系统软件 汇编语言程序到机器语言程序的转换过程称为汇编 1 手工汇编 人工查指令表汇编 用于设计短小程序或调试程序的场合 2 机器汇编 用汇编程序进行汇编 源程序使用机器汇编要考虑汇编程序的约定 1 按指令格式和语法规则编写程序 常数的表示 十进制数 20十六进制数 87H 0F0H二进制数 01011001B字符 H 字符串 Hello 2 使用伪指令提供汇编信息 汇编的主要任务 1 确定程序中每条汇编语言指令的指令机器码 2 确定每条指令在存储器中的存放地址 3 提供错误信息 4 提供目标执行文件 OBJ HEX 和列表文件 LST 一 汇编语言指令类型 1 机器指令 指令系统中的全部指令 每条指令有对应的机器代码 2 伪指令 汇编控制指令 仅提供汇编信息 没有指令代码 3 宏指令 宏汇编功能 将需要多次反复执行的程序段定义成一个宏指令名 宏定义 编程时 可在程序中使用宏指令名来替代一段程序 宏调用 宏定义过程 宏指令名MACRO形式参数 定义程序段ENDM宏调用过程 宏指令名实际参数 宏指令名实际参数 二 汇编语言程序设计步骤 一 确定方案和计算方法 二 了解应用系统的硬件配置 性能指标 三 建立系统数学模型 确定控制算法和操作步骤 四 画程序流程图 表示程序结构和程序功能 五 编制源程序 1 合理分配存储器单元和了解I O接口地址 2 按功能设计程序 明确各程序之间的相互关系 3 用注释行说明程序 便于阅读 修改和调试 三 常用程序结构 1顺序程序顺序程序又称简单程序 程序走向只有一条路径 例 双字节变补程序 设数据在R4R5中 MOVA R5 取低字节CPLAADDA 01H 低字节变补MOVR5 AMOVA R4 取高字节CPLAADDCA 00H 高字节变补MOVR4 A 顺序程序 分支程序 循环程序 2 分支程序 2 1单重分支程序一个判断决策框 程序有两条出路 两种分支结构 例 求R2中补码绝对值 正数不变 负数变补 MOVA R2JNBACC 7 NEXT 为正数 为0跳CPLA 负数变补INCAMOVR2 ANEXT SJMPNEXT 结束 由条件转移指令构成程序判断框部分 形成程序分支结构 2 2多重分支程序 例 求符号函数Y SGN X 1 当X 0 SGN X 0 当X 0 1 当X 0 SYMB MOVA 40H 取XJZSTOR X 0跳 Y XJBACC 7 MINUS X 0 A 7 1跳 MOVA 01H X 0 Y 1SJMPSTORMINUS MOVA 0FFH X 0 Y 1STOR MOV41H A 保存YRET 一 多次使用条件转移指令 形成两个以上判断框 温控系统结构框图 电热箱采用电热丝加热 由双向可控硅控制加热量的大小 温度传感器检测电热箱内的温度 经放大与A D转换后进入单片机 单片机将设定的温度值与检测到的电热箱中的实际温度进行比较 并调节运算后 发出控制信号经光电隔离器去驱动双向可控硅以调节加在电热丝的电压 从而控制电热箱的温度 电热箱单片机温控系统结构框图 例题 多分支 例4 3 某温度控制系统 采集的温度值 Ta 放在累加器A中 此外 在内部RAM54H单元存放控制温度下限值 T54 在55H单元存放控制温度上限值 T55 若Ta T55 程序转向JW 降温处理子程序 若Ta T54 则程序转向SW 升温处理子程序 若T55 Ta T54 则程序转向FH 返回主程序 去FH思路 Ta T55 Ta T55 去JWTa T55 Ta T54 去FH Ta T54 去SWTa T54 去FH算法 1 Ta T55 去JW 2 Ta T54 去SW 3 T55 Ta T54 去FH 程序 CJNEA 55H LOOP1AJMPFHLOOP1 JNCJWCJNEA 54H LOOP2AJMPFHLOOP2 JCSWFH RET Ta T55 转向LOOP1 Ta T55 返回 若CY 0 表明Ta T55 转降温处理程序 Ta T54 转向LOOP2 Ta T54 返回 若CY 1 表明Ta T54 转升温处理程序 T55 Ta T54 返回主程序 若Ta T55 程序转向JW 降温处理子程序 若Ta T54 则程序转向SW 升温处理子程序 若T55 Ta T54 则程序转向FH 返回主程序 3循环程序 3 1循环程序的构成 各个环节任务 一 初始化部分 循环准备工作 如 清结果单元 设指针 设循环控制变量初值等 二 循环体 循环工作部分 需多次重复处理的工作 循环控制部分 1 修改指针和循环控制变量 2 检测循环条件 满足循环条件 继续循环 否则退出循环 三 结束部分 处理和保存循环结果 允许0次循环的循环结构 在循环工作之前检测循环条件 包含多次重复执行的程序段 循环结构使程序紧凑 3 2单重循环 简单循环结构 循环体中不套循环 循环控制方法 计数控制 特征标志控制 3 3多重循环 循环体中套循环结构 以双重循环使用较多 试计算延时程序的执行时间 源程序指令周期 M 指令执行次数 习题 DELAY MOVR6 1001D1 MOVR7 101D2 NOP1DJNZR7 D22t 6 606msDJNZR6 D12RET2计算延时程序的执行时间 设时钟fOSC 6MHz T 2 s DELAY MOVR6 64H 100 1I1 MOVR7 0FFH 255 1I2 DJNZR7 I22DJNZR6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论