80C51的程序设计习题及答案.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
80C51的程序设计习题及答案

第四章 80C51的程序设计习题及答案 1、80C51单片机汇编语言有何特点? 答:80C51单片机汇编语言的源程序结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。但它的是面向机器的语言,所以它缺乏通用性,编程复杂繁琐,但应用相当广泛。 2、利用80C51单片机汇编语言进行程序设计的步骤如何? 答:在进行程序设计时,首先需要对单片机应用系统预先完成的任务进入深入的分析,明确系统的设计任务、功能要求、技术指标。然后,要对系统的硬件资源和人工作环境进行分析和熟悉。经过分析、研究和明确规定后,利用数学方法或数学模型来对其进行描述,从而把一个实际问题转化成由计算机进行处理的问题。进而,对各种算法进行分析比较,并进行合理的优化。 3、常用的程序结构有哪几种?特点如何? 答:常用的程序结构有以下几种: (1)顺序程序结构 顺序结构是按照逻辑操作顺序,从某一条指令开始逐条顺序进行,直到某一条指令为止;比如数据传送与交换、查表程序和查表程序的设计等;在顺序结构中没有分支,也没有子程序,但它是组成复杂程序的基础和主干; (2)分支程序结构 它的主要特点是程序执行流程中必然包含有条件判断指令,符合条件要求的和不符条件合要求的有不同的处理程序; (3)循环程序结构 它在本质上只是分支程序中的一个特殊形式,它由循环初始化、循环体、循环控制和结束部分构成;在循环次数已知情况下,采用计数循环程序,其特点是必须在初始部分设定计数的初始值,循环控制部分依据计数器的值决定循环次数;根据控制循环结束的条件,决定是否继续循环程序的执行。 (4)子程序 它的主要特点是,在执行过程中需要由其它的程序来调用,执行完后又需要把执行流程返回到调用该子程序的主程序。 4、子程序调用时,参数的传递方法有哪几种? 答:在80C51单片机中,子程序调用时,参数的传递方法由三种:1、利用累加器或寄存器;2、利用存储器;3、利用堆栈。 5、什么是伪指令?常用的伪指令功能如何? 答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令有: (1)起始地址设定伪指令ORG,该指令的功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址; (2)汇编结束伪指令END,该指令的功能是汇编程序遇到END伪指令后立即结束汇编; (3)字节数据定义伪指令DB,该指令的功能是从标号指定的地址单元开始,在程序存储器中定义字节数据; (4)字数据定义伪指令DW,该指令的功能是从标号指定的地址单元开始,在程序存储器中定义字数据; (5)空间定义伪指令DS,该指令的功能是从标号指定的地址单元开始,在程序存储器中保留由表达式所指定的个数存储单元作为备用空间,并都填以零值; (6)赋值伪指令EQU,该指令的功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名; (7)位地址符号定义伪指令BIT,该指令的功能是将位地址赋给指定的符号名。 6、设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位数相加的程序。 答:由于相加字节数不多, 所以不用循环模式。程序如下: MOV A,21H ADD A,23H MOV 24H,A MOV A,22H ADDC A,20H MOV 25H,A SJMP $ 7、编写一段程序,把外部RAM中1000H~1030H单元的内容传送到内部RAM的30H~60H单元中。 答: MOV R1,#49 MOV R0,#30H MOV DPTR,#1000H LOOP: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R1,LOOP SJMP $ END (正) 8、编写程序,实现双字节无符号数加法运算,要求(R1R0)+(R7R6)→(61H60H)。 答: MOV A,R0 ADD A,R6 MOV 60H,A MOV A,R1 ADDC A,R7 MOV 61H,A SJMP $ 9、若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档