单片机控制技术与应用(刘靖)4剖析.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?主程序调用子程序有两条: 绝对调用指令 ACALL addr11 长调用指令 LCALL addr16 ?注意设置堆栈指针和现场保护。 ?最后一条指令必须是RET指令。 ?子程序可以嵌套,即子程序可以调用子程序。 ?在子程序调用时,要注意参数传递的问题。 ② 子程序的基本结构 ? 4.4 Cygnal单片机汇编语言程序设计举例 (1)算术运算程序 【例4-5】 假定R2、R3和R4、R5分别存放两 个16位的带符号二进制数,其中R2和R4的最高位 为两数的符号位。请编写带符号双字节二进制 数的加减法运算程序,以BSUB为减法程序入口, 以BADD为加法程序入口,以R6、R7保存运算结 果。 参考程序: ? ? (2)数制转换程序 【例4-6】 在内部RAM的hex单元中存有两位 十六进制数,试将其转换为ASCII码,并存放于asc 和asc+1两个单元中。 主程序(MAIN): ? ? 子程序(HASC): ? 其中,RET为子程序的返回指令 在十字路口交通灯控制中用RET来实现子程序 的返回。 (3)定时程序 有多个定时需要,可以先设计一个基本的延时程 序,使其延迟时间为各定时时间的最大公约数,然 后就以此基本程序作为子程序,通过调用的方法 实现所需要的不同定时。例如要求的定时时间 分别为5μs 、10μs和20μs并设计一个1s延时子程 序DELAY,则不同定时的调用情况表示如下: ? 其中: 长调用指令  LCALL addr16 在十字路口交通灯控制中用Lcalldelay1来调用延 时。 (4)查表程序 假定有4×4键盘,键扫描后把被按键的键码放在 累加器A中,键码与处理子程序入口地址的对应 关系为: 并假定处理子程序在ROM 64KB的范围内分 布。要求以查表方法,按键码转向对应的处理子 程序。参考程序如下: ? (5)数据极值查找程序 【例4-7】 内部RAM 20H单元开始存放8个无 符号8位二进制数,找出其中的最大数。 极值查找操作的主要内容是进行数值大小的比 较。假定在比较过程中,以A存放大数,与之逐个 比较的另一个数放在2AH单元中。比较结束后, 把查找到的最大数送2BH单元中。 4.1 汇编语言程序设计概述 (1)汇编语言的特点 ① 助记符指令和机器指令一一对应,所以用汇编 语言编写的程序效率高,占用存储空间小,运行速 度快,因此汇编语言能编写出最优化的程序。 ② 使用汇编语言编程比使用高级语言困难,因为 汇编语言是面向计算机的,汇编语言的程序设计 人员必须对计算机硬件有相当深入的了解。 ③ 汇编语言能直接访问存储器及接口电路,也能 处理中断,因此汇编语言程序能够直接管理和控 制硬件设备。 ④ 汇编语言缺乏通用性,程序不易移植,各种计算 机都有自己的汇编语言,不同计算机的汇编语言 之间不能通用;但是掌握了一种计算机系统的汇 编语言后,学习其他的汇编语言就不太困难了。 (2)汇编语言的语句格式 [标号]:操作码[操作数];[注释] (3)汇编语言程序设计的步骤 ① 建立数学模型。 ② 确定算法。 ③ 制定程序流程图。 ④ 确定数据结构。 ⑤ 写出源程序。 ⑥ 上机调试程序。 4.2 伪指令 伪指令是程序员发给汇编程序的命令,也称为汇 编命令或汇编程序控制指令。 Cygnal常见汇编语言程序中常用的伪指令如 下。 (1)ORG (ORiGin) 汇编起始地址命令    ????? 在汇编语言源程序的开始,通常都用一条ORG伪 指令来实现规定程序的起始地址。 在十字路口交通灯控制中,用ORG 0000H来开始 程序。 (2)END (END of assembly) 汇编终止命令    ????? 汇编语言源程序的结束标志,用于终止源程序的 汇编工作。在整个源程序中只能有一条END命 令,且位于程序的最后。 在十字路口交通灯控制中,用END来结束的程 序。 (3)EQU (EQUate) 赋值命令    ????? (4)DB (Define Byte) 定义字节命令    ????? (5)DW (Define Word) 定义数据字命令    ????? (6)DS (Define Stonage ) 定义存储区命令    ????? (7)BIT位定义命令    ????? (8)DATA数据地址赋值命令 ????? 4.3 单片机汇编语言程序的基本结构形式 (1)顺序程序 【例4-1】 三字节无符号数相加,其中被加数在 内部RAM的50H、51H和52H单元中,加数在内部 RAM的53H、5414和55H单元中,要求把相加之 和存放在50H、51H和52H单元中,进位存放在位 寻址区的00H位中。 ? 其中: ① ? ② ? 在十字路口交通灯控制中,用到MOVR0,#0FFH, MOVA,#0

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档