汇编语言程序设计3..ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
延时程序 计算机反复执行一段程序以达到延时的目的称为软件延时。 通过控制执行指令的数量可以延时不同的时间。 要实现较长时间的延时,一般需采用多重循环。 下面是延时10ms的延时子程序,设单片机的晶振为12MHZ。 解:晶振=12MHz,则一个机器周期为1?s MOV R6,#20 DLP1: MOV R7,#250 DLP2: DJNZ R7,DLP2 DJNZ R6,DLP1 RET 说明:MOV Rn指令为1个机器周期; DJNZ指令为2个机器周期; RET指令为2个机器周期; 实际延时时间:{[(2×250)+1+2]×20+1+2}×1?s=10063?s≈10ms 例:设晶振频率为12MHz,指出下列程序完成的功能。 DEL: MOV R7,#200 ;1MC DEL1:MOV R6,#123 ;1MC NOP ;1MC DJNZ R6,$ ;2MC DJNZ R7,DEL1 ;2MC RET ;2MC 实际延时时间:t=1+200[1+1+2*123+2]+2 ≈50000us=50ms 用于查表的指令有两条: ⑴ MOVC A,@A+DPTR ⑵ MOVC A,@A+PC 查表指令一般用于代码转换、显示、散转等应用场合。 四.查表程序 ——依据ROM中的数据表格的项数来查找与之对应的表中数值 当用PC作基址寄存器时,其表格首地址与PC值间距不能超过256字节,且编程要事先计算好偏移量,比较麻烦。 因此,一般情况下用DPTR作基址寄存器。 当用DPTR作基址寄存器时,查表的步骤分三步: ① 基址值(表格首地址)→DPTR; ② 变址值(表中要查的项与表格首地址之间的间隔字节数)→A; ③ 执行MOVC A,@A+DPTR。 解: MOV DPTR,#TABD;置共阴字段码表首址 MOV A,30H ;读显示数字 MOVC A,@A+DPTR ;查表,转换为显示字段码 MOV 30H,A ;存显示字段码 RET TABD:DB 3FH,06H,5BH,4FH,66H;0~4共阴字段码表 DB 6DH,7DH,07H,7FH,6FH;5~9共阴字段码表 【例1】 在单片机应用系统中,常用LED数码管显示数码,但显示数字(≤9)与显示数字编码并不相同,需要将显示数字转换为显示字段码,通常是用查表的方法。现要求将30H中的显示数字转换为显示字段码并存入30H。已知共阴字段码表首址为TABD。 解: MOV DPTR,#TAB ;置立方表首址 MOV A,30H ;读数据 ADD A,30H ;数据×2→A MOV 30H,A ;暂存立方表数据序号 MOVC A, @A+DPTR;读立方数据高8位 XCH A,30H ;存立方数据高8位,立方表数据序号→A INC A ;指向立方数据低8位 MOVC A,@A+DPTR ;读立方数据低8位 MOV 31H,A ;存立方数据低8位 RET TAB: DW 0,0,0,1,0,8,0,27,0,64 DW 0,125,0,216,…,0FAH,00H; 0~40立方表 【例2】 用查表程序求0~40之间整数的立方。已知该整数存在内RAM30H中,查得立方数存内RAM30H31H中。已知立方表(双字节)首地址为TAB。 在实际应用中,经常会遇到一些带有通用性的问题,例如:数值转换、数值计算等,在一个程序中可能要使用多次。这时可以将其设计成通用的子程序供随时调用。 子程序主要特点是,在执行过程中需要由其它程序来调用,执行完后又需要把执行流程返回到调用该子程序的主程序。 子程序调用时要注意两点: 一是现场的保护和恢复; 二是主程序与子程序的参数传递。 五.子程序 现场保护与恢复(入栈、出栈) 在子程序执行过程中常常要用到单片机的一些通用单元,如工作寄存器R0~R7、累加器A、数据指针DPTR,以及有关标志和状态等。而这些单元中的内容在调用结束后的主程序中仍有用,所以需要进行保护,称

文档评论(0)

586334000 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档