单元3 mcs-51单片机指令系统(1)

单元3 mcs-51单片机指令系统(1)

ID:12092033

大小:50.50 KB

页数:6页

时间:2018-07-15

单元3 mcs-51单片机指令系统(1)_第1页
单元3 mcs-51单片机指令系统(1)_第2页
单元3 mcs-51单片机指令系统(1)_第3页
单元3 mcs-51单片机指令系统(1)_第4页
单元3 mcs-51单片机指令系统(1)_第5页
资源描述:

《单元3 mcs-51单片机指令系统(1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单元三 MCS-51单片机指令系统一、学习目标与要求1、了解MCS-51单片机的寻址方式、指令结构及指令长度、指令周期等概念。2、了解MCS-51单片机指令系统结构。3、掌握常用指令的功能及指令操作方式。4、能应用MCS-51单片机常用指令进行简单程序编写。5、能解决简单应用课题程序设计。二、本章重点内容1、指令寻址方式直接寻址、立即寻址、寄存器寻址、间接寻址、变址寻址、相对寻址、位寻址。2、指令系统(1)数据传送指令(2)算术运算指令(3)逻辑运算指令(4)转移指令(5)位指令三、本章内容的前后联系1、本章内容与前面内容的联

2、系单片机的指令执行过程同单片机的内部结构密切相关,他包括:单片机存储器空间、端口结构、程序状态字(PSW)、程序存储器中的常数表格等等。2、与后面章节联系指令是构成程序的基础,所以,必须注意掌握每一条指令的功能与使用特点,为后面汇编语言程序设计打好基础。四、学习方法指导:学习单片机指令系统要注意对指令功能及操作的理解,常用指令要在较短的时间内采取强化记忆的方式背记下来,同时,通过编写应用程序熟练掌握指令的应用环境。1、对指令功能的理解以及常用与不常用指令(1)数据传送指令中大部份指令的功能较为简单容易理解,难点是对查表指令MO

3、VCA,@A+DPTR和MOVCA,@A+PC的理解,其中MOVA@A+DPTR是常用指令,它允许将常数表格存放在程序存储器内的任何位置,查表时只需将表的首地址赋1台数据指针DPTR(即DPTR指向表首地址),而A中的值是表内偏移地十,指令将程序存储器中(A+DPTR)单元中的内容传送到累加器A(即查表)。而MOVC A@A+PC指令形成的查表地址是(A)+(PC),其中程序计数器PC为该MOVC指令的下一条指令的地址(即所谓当前的PC值),往往要计算当前PC值与表首地址的距离,将该距离加到累加器A中去,所以用MOVC,A@A

4、+PC指令查表ee较麻烦,故该指令不是常用指令,半字节交换(XCHD)指令是常用指令,而累加器A高4位与低4位数据交换指令(SWAP指令)是常用指令。(2)算术运送指令大多是常用指令,功能简明确,大多数指令以累加A为第一操作数,运算结果保存在累加A中,同一种运算的指令,第二操作数的来源于以来自不同的存储空间,也可以是相同的存储空间,但采用不同的寻址方式,例如将累加器A中的内容与片内RAM中50H单元的内容相加。第二操作数采用直接寻址:ADD A:50H第二操作数采用寄存器间接寻址:MOVR0,#50H             

5、                ADDA,@R0MCS-51单片机指令系统中只有带进位的减法指令,应用时要根据实际情况确定是否对进位标志清零。使用乘除法指令时,应注意每操作(被乘数或被除数)与第二操作数(乘数或除数)的存储位置以及运算结果的存储位置。(3)逻辑运算指令大多也是功能简单常用指令,移位指令的作有征收数字电子技术中移位寄存器的作用类似,每次将累加器A中的内容左移(或右移)一位,数值上相当于将原数乘以2(或除以2)。(4)控制转移指令是系统学习的难点之一,它难在条件转移指令中对转移条件的理解,它即要判断条件是否满足,又

6、要确定程序是否转移。其实掌握这类指令并不难,简言之“满足条件则转移,不满足条件则执行下一条指令”。无条件转移指令容易理解,但要注意转移范围分别是-127B~+128B(短转移)或±2KB范围(相对转移)或64KB范围(长转移)。子程序调用与返回指令操作与堆拽操作有一定关系,要注意出入拽顺序。(5)位操作指令是MCS-51单片机的特色,由于可以按位操作,方便了程序设计。位操作指令中的条件转移指令是短转移指令(-127~+128B范围),而且都是以条件位的状态作转移条件的。五、典型例题分析【例题3.1】 0.2秒软件延时程序,设单

7、片机振荡频率为12MHz。外循环内循环NYY开始200→R6200→R7R7-1=0?R6-1=0?返回TIME:MOV R6,#200TIME1:MOV R7,#200TIME2:NOP        NOP       NOP       DJNZ R7,TIME22       DJNZ R6,TIME1       RET分析:1、该程序流程图如图1所示2、由三条NOP指令和DJNZR7,TIME2 指令构成内循环,内循环次数为200次(R7从200减到等于0),延时时间为5个机器周期×200=1000机器周期,因f

8、osc=12MHz,一个机器周期TC=1/(fosc/12)=1us,因此延时时间为1ms。3、外循环次数同样为200次,因此总延时时间为f=200×[(5×200)+2+1]=200600us≈200ms=0.2s4、采用三条NOP指令是为了方便延时时间的计算。【例题3.2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。