网站大量收购独家精品文档,联系QQ:2885784924

单片机原理及应用教案-第5章.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用教案-第5章

第5课 教学内容: 2.4.8 MCS-51单片机指令的时序 第3章 汇编语言程序设计 3.1基本知识 3.2分支程序设计实例分析 3.3循环程序设计实例分析 教学目标: 了解:MCS-51单片机指令时序;程序设计方法;汇编语言格式及汇编方法 掌握:分支程序设计要点,先分支后赋值程序设计,先赋值后分支程序设计;循环程序设计要点,实例2程序设计方案。 课时安排: ????3 课时 教学重点: 分支和循环程序设计方法 教学提示: 一、重点内容与要点分析 (一)MCS-51单片机指令的时序 执行指令的最小时间单元是机器周期。每个机器周期由12个时钟周期构成,分为6个S状态。一般每个机器周期中ALE和/PSEN信号有效两次。指令长度有单字节、双字节、三字节三种情况。执行指令的时间有单周期、双周期、四周期三种情况。单字节指令的执行时间有单周期、双周期、四周期三种情况;双字节指令的执行时间有单周期、双周期两种情况;三字节指令的执行时间都为双周期。具体指令的长度和执指时间见附录。 (二)汇编语言程序设计 掌握:分支程序设计、循环程序设计、子程序设计。 1.画出清晰的程序流程图 一般地,开发者都是首先对自己开发的项目进行仔细地分析了解,在心里有个大概的框架后就开始编程序。但是程序是很难一步到位的,当需要改变一点小小的漏洞或者是要加入一个新的功能时,编程者往往显得不知所措,不知从何下手,重新整理自己的思路而耗费大量的时间。因此最好在进行编程前画出整个项目的流程图,这样自己分析和解决问题的过程一目了然,而且要尽量详细具体,重要的地方应作上标记,便于以后作修改时能很快明白自己的思路。总之在编程过程中,有了流程图,就有了自己的主线,即使以后需要作大的变动,根据在流程图中的标记和说明,可以轻松地解决问题,以免在焦头烂额之际,思路不清晰而陷入困境。 2.变量定义的直观性 大家肯定听说过Windows编程中的匈牙利命名法,它突出的特点就是变量名称的直观性,从变量的名称就能知道该变量的基本含义和用途,这样方便自己和别人理解程序,提高效率。其实在汇编程序中也可以实现,使用伪指令EQU和BIT即可。EQU用于定义字节常量,此变量可以代表地址,也可以代表立即数,只是使用时要注意如果是立即数的话,必须要在变量名称前面加上#号。还要注意在以字母开始的变量值前面加上0,如FFH应写成0FFH,否则会报错。BIT用于定义位变量。请看下面这段程序: SPEED_1 EQU 10H SPEED_2 EQU 20H SPEED_3 EQU 30H COUNT_H EQU 8DH COUNT_L EQU 10H ALARM_1 BIT 83H ALARM_2 BIT 84H ALARM_3 BIT 85H 一看就知道上面变量的基本含义,SPEED肯定和速度有关,COUNT和计数有关,ALARM和报警有关。当使用MOV A,SPEED_1时,SPEED_1是地址变量,即将10H地址单元中的数据送到寄存器A中。MOV A,#SPEED_1语句中,SPEED_1代表立即数,因为它前面有#号,即将立即数10H送到寄存器A中。注意:字符串变量的长度不能太长,一般宜在12个英文字母左右,否则编译会出错。   这样做还有一个好处是修改特别方便,当程序需要变动存储单元时,不用在每个使用此变量的地方轮流去修改,而只要在变量表中将相应的地址更改即可,如:如果以后需要加上一个存储单元而占用10H,将10H地址变成别的地址数值,假设为11H,按照一般的写法需要在程序中将地址10H逐个换成11H,特别麻烦。如果建立变量表的话,只需将该字符串变量对应的地址值改变即可,因为应用程序中使用的是字符串变量。例如,如果在程序中使用了10个MOV A,10H赋值语句,如果没有使用变量表,需要将10个10H地址值变成11H,如果是使用了变量表,只需将字符串变量对应的地址值由10H变成11H即可。 3.间接寻址的使用 一般提到间接寻址大家首先会想到DPTR,这是个16位的外部RAM地址寄存器。但是我要说的是内部的RAM地址寄存器,51系列单片机中8052单片机内部有256字节的RAM,我们可以用直接寻址访问其中00H-7FH字节单元,而80H-FFH范围内的内部RAM地址和特殊功能寄存器的地址空间是重叠的,因此51规定对于特殊功能寄存器的访问只能用直接寻址方式,而对于80H-FFH范围内的内部RAM地址只能用间接寻址,一般使用的指令是: MOVX @Ri,A 和MOVX A,@Ri   例如将内部RAM地址81H的数据送到寄存器A,程序如下: MOV R0,#81H MOVX A,@R0   将寄存器A的数据送到内部RAM地址81H,程序如下: MOV R0,#81H MOVX @R0,A 4.

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档