第2章指令系统及语言设计试题.ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 例:晶振频率12MHz,试编一个3毫秒延时子程序 解:回忆前面所讲,机器周期= 12/fOSC=1210-6S=1us a、振荡周期: 1/fOSC b、时钟周期: 2/fOSC c、机器周期: 12/fOSC=T d、指令周期: 1~4T(*) DELAY: MOV R7,#6 ;双字节指令,执行时间1个机器周期 1us D1: MOV R6,#248 ;双字节指令,执行时间1个机器周期 1us DJNZ R6,$ ; 执行时间2个机器周期 2us*248=496us DJNZ R7,D1 ;(1us+496us+1us)*6=2.988ms RET ;1us ;子程序总延时= 1us+2988us+1us=2990us 例: 编制一个循环闪烁的程序。有八个发光二极管,每次其中某个灯闪烁点亮10次后,转移到下一个灯闪烁10次,循环不止。本程序的硬件连接如图所示。当P1.i输出高电平时,LED灯亮,否则不亮 其主要程序片段如下: MOV A,#01H ;灯亮初值,最低位亮 SHIFT: LCALL FLASH ;调闪亮10次子程序 RL A ;循环左移一位 SJMP SHIFT ;循环 FLASH: MOV R2,#0AH ;闪烁10次计数 FLASH1:MOV P1,A ;点亮 LCALL DELAY ;延时 MOV P1,#00H ;熄灭 LCALL DELAY ;延时 DJNZ R2,FLASH1;循环10次 RET * 2.5 汇编语言基本程序设计方法 2.5.1汇编语言程序设计的基本步骤 (1)建立数据处理数学模型,也即确定算法 (2)制定程序流程图 (3)确定数据结构,即数据存放方式 (4)写出源程序 (5)仿真调试程序,修改程序 * 2.5 汇编语言基本程序设计方法 2.5.2程序的基本结构 如下图所示,有三种,顺序结构、分支(选择)结构和循环结构 A B a b 顺序结构 P A B 分支结构 Y N a b * 循环结构图 A P N Y a b 当型循环结构 A P Y N a b 直到型循环结构 * 顺序结构虚框内A框和B框分别代表不同的操作, A、 B顺序执行。 分支结构也称为选择结构,该结构中包含一个判断框,根据给定条件P是否成立而选择执行A框操作或B框操作。 循环结构分为当型(While)循环结构和直到型(Until)循环结构两种方式,他在一定条件下反复执行某一部分的操作。当型循环是先判断条件,条件成立则执行循环体A;而直到型循环则是先执行循环体A一次,再判断条件,条件不成立再执行循环体A。循环体两种结构形式可以互相转换。 * 2.5.3顺序结构程序设计 顺序结构程序按照指令存储的位置有低地址到高地址按顺序一条一条执行。 例 三字节无符号数相加,其中加数在内部RAM的50H、51H和52H单元中;被加数在内部RAM的53H、54H和55H单元中;要求把相加之和放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。编程如下 MOV R0, #50H ;被加数的低字节地址 INC R0 ;指向最高字节 MOV R1, #53H ;加数的低字节地址 INC R1 MOV A, @R0 ; MOV A, @R0 CLR C ; ADDC A, @R1 ;高字节带进位相加 ADDC A, @R1 ;低字节数据相加 MOV @R0, A MOV @R0, A ;存低字节数据相加结果

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档