第12章_单片机汇编语言程序设计.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二章 单片机汇编语言程序设计 本章内容 单片机汇编语言程序设计步骤 程序的开发调试过程 单片机汇编语言程序设计方法及技巧 掌握汇编语言程序设计的一般步骤 了解程序的开发调试过程 掌握简单程序、分支程序、循环程序、查表程序、子程序和中断系统程序的基本设计方法和技巧 图12.8 双字节无符号数除法程序流程图 子 程 序: DIV1 功 能: 两个双字节无符号数除法子程序 入口参数: R7 R6=被除数,R5 R4=除数 出口参数: R7 R6=商,F1=除数为0标志位 工作寄存器:R3R2作为余数寄存器, R1为循环控制计数器, R0为低8位的差值暂存寄存器 DIV1: MOV A,R4 ;取除数低字节 JNZ START1 ; 除数不为0,转START MOV A,R5 ;取除数高字节 JZ DONE ;除数为0,转DONE START1: MOV A,R7 JNZ START ;被除数不为0则转 MOV A,R6 JNZ START RET ;被除数为0,返回 START: CLR A MOV R2,A ;部分余数低八位寄存器清0 MOV R3,A ;部分余数高八位寄存器清0 MOV R1,#16 ;循环控制计数器初值为16 DIV01:CLR C MOV A,R6 ;取被除数低字节 RLC A ;被除数低字节左移一位,低位补0 MOV R6,A MOV A,R7 ;取被除数高字节 RLC A ;被除数高字节左移一位 MOV R7,A MOV A,R2 ;被除数移出的位移入部分余数寄存器 RLC A ;部分余数低字节左移一位 MOV R2,A MOV A,R3 RLC A ;部分余数高字节左移一位 MOV R3,A 在多重循环程序中,只允许外重循环嵌套内重循环程序,而不允许循环体互相交叉,也不允许从循环程序外部跳入循环程序的内部。 1) 单循环程序 一个循环程序中不再包含其他循环程序。 2) 多重循环程序 一个循环程序中还包含了其他循环程序,也称循环嵌套。 1.用硬件电路实现 2.定时器实现 3.软件延时 定时(或延时)方法: 延时程序 不需另添硬件,且变化灵活。 软件延时:利用计算机执行程序耗用的时间来实现延时,又称“延时程序”。 优点: 延时过程中占用CPU,所以不宜设计太长的延时程序。 缺点: 例12.8:编写一个延时50ms的程序。 若8051单片机系统采用12M晶振,则Tcy=1μs DEL: MOV R1,#125 ;1个Tcy DEL1:MOV R2,#198 ;1个Tcy NOP ;1个Tcy DEL2:DJNZ R2,DEL2 ;2个Tcy,内循环 DJNZ R1,DEL1 ;2个Tcy RET ;2个Tcy 外循环 内循环时间:198×2 = 396μs 外循环时间:125×(1+1+396+2)μs = 50 ms 总延时时间:0.001+50+0.002 = 50.003 ms 用软件实现延时的系统,不允许有中断,否则将严重影响定时的准确性。对于更长时间的延时,可采用更多重的循环,如1s延时,可用三重循环。 延时程序常设计为子程序,以便频繁调用。 数据排序最常用的是冒泡排序法。 从前往后进行相邻两个数的比较,若数据的大小次序与要求的顺序不符则将这两个数互换, 进行升序排序时,通过这种相邻数的互换,使大数向后移; 从前向后进行一轮相邻数的互换(冒泡),就会将最大的数换到最后; 再进行一次冒泡,就可将次大的数排在倒数第二的位置。 依次类推,完成由小到大的排序。 分析 例 12.9 编写无符号数排序程序,假设片内RAM中,起始地址为30H的连续10个单元中存放有10个无符号数,试进行升序排序。 START: MOV R0,#30H ; R0指向数据区首地址 MOV R1,#09H

文档评论(0)

经管专家 + 关注
实名认证
内容提供者

各类文档大赢家

版权声明书
用户编号:6055234005000000

1亿VIP精品文档

相关文档