- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3 .1 实 训 概 要
程序是一系列有序指令的集合。单片机通过执行程序完成相应的任务。
程序设计的任务就是根据任务的要求,给出解决问题的步骤和算法,编制程序的过程。学习完指令系统后,就具备了程序设计的基础。汇编语言程序设计不但技巧性强,而且还有软硬件结合的特点。设计出的程序质量好坏,直接关系到单片机应用系统的特性和运行效率。为了能够编制出高质量的程序,必须从一个个程序模块的学习开始,通过熟读多练,反复上机训练,才能逐步掌握程序设计的方法和技巧。 ;实训内容:
顺序程序设计。
分支程序设计。
循环程序设计。
子程序设计。;预备知识:
汇编语言程序设计的一般步骤:
分析问题。根据给出的问题,熟悉和明确问题的要求,明确已知条件及对运算和控制的要求,建立数学模型。
确定解题算法。根据实际问题的要求和指令系统的特点,选择解决问题的方法。算法是程序设计的依据,它决定了程序的正确性和程序的质量。
画出程序流程图。程序流程图就是用各种规定的图形、流程线和简洁的文字表达解题步骤的一种图形。它直观、清晰地体现了程序设计思路,是程序的逻辑设计过程。;资源分配。算法确定后,要为每一个变量、各种指针、计数器等分配工作单元,定义数据类型和数据结构。
根据程序流程图及资源分配情况,写出汇编语言源程序。
上机调试。
汇编语言源程序的一般结构:
在程序设计中将会遇到各种类型的程序,但不论程序如何复杂,都可以分为如下基本结构:
顺序结构
分支结构
循环结构
子程序结构; ; 3 .2 实训9 顺序程序设计训练
3.2.1 实训目的
通过本节实训,主要学习下面内容:
顺序程序的结构。
顺序程序设计的编程方法。
顺序结构程序的调试方法。;3.2.2 实训要求
1.双字求和。设有两个四字节二进制数,分别存放在片内RAM30H和40H开始的单元中,先存低字节。求两数之和,并将和存于50H开始的单元中。
2.双字节二进制无符号数乘法。
3.2.3 实训预习
预习内容
(1)掌握顺序程序的结构。
(2)复习片内数据存储器地址范围。
(3)复??数据传送指令和二进制加法指令的功能。
(4)复习乘法指令的功能。 ;程序设计基本思路
(1)双字求和
编写程序前要掌握片内RAM的结构。MCS-51单片机片内RAM一个存储单元为一个字节,以字节为单位编址。因此,每个加数和结果各占四个字节。按照加法的相加思路,先做低字节相加,然后做高位字节相加。
例如:
; ; ; ; ; ; ; ; ;3.2.6 实训步骤
(1)阅读并理解程序,并画出两个程序的流程图。
(2)将机器码送入单片机系统中,并检查是否正确。
(3)对于多字节加法实训程序,运行程序前,将两个四字节数据分别送入30H和40H开始的单元中。 ;(4)单步执行程序,并将运行结果记录在表3-3中。
12 34 56 78H + 23 45 67 89H = ?
AB CD EF 01H + 94 39 82 71H = ?
2A 3B 4C 5DH + 3F 4E 5D 6CH = ?
(5)对于双字节乘法实训程序,运行程序前,将被乘数和乘数分别送入工作寄存器R2、R3和R6、R7中,执行程序,并记录结果。程序运行结果表格请读者自行设计。
; ;3.2.7 思考与讨论
1.如何将程序改成十字节加法运算,编写程序并上机验证。
2.编写四字节减法程序,要求被减数和减数分别存放在片内RAM30H和50H开始的单元中,差存放在60H开始的单元。上机验证。
3.使用减法指令时应注意什么问题? ;;
;3.3.2 实训要求
设单片机片内数据存储器20H单元存放00H~03H四个不同的数。根据20H中存放数据的不同,在LED七段显示器上显示循环左移的数字0、1、2、3。即:
;3.3.3 实训预习
JMP @A+DPTR 是一条散转指令。它常用于多分支选择程序中。数据指针DPTR作为基址寄存器,决定多分支程序的首地址,用累加器ACC作为变址寄存器来动态地选择某一分支,来实现多分支转移。该指令采用基址寄存器加变址寄存器间接寻址方式,将DPTR和ACC内容相加作为地址,该地址传送到程序计数器PC中。 ; 为了在单片机开发系统上显示数字,必须了解所使用的单片机开发系统的显示器控制接口,通常用多功能接
文档评论(0)