项目 一 汽车单片机原理应用(任务三 MCS-51单片机指令系统与程序设计).pptxVIP

项目 一 汽车单片机原理应用(任务三 MCS-51单片机指令系统与程序设计).pptx

  1. 1、本文档共78页,可阅读全部内容。
  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文档。上传文档
查看更多

任务三MCS-51单片机指令系统与程序设计;一、MCS-51单片机汇编语言指令系统;(2)指令格式;MOV__move传送

XCH__exchange交换

ANL__andlogic与逻辑运算

XRL__exclusiveor异或运算

MUL__Multiply乘法

RR__rotateright右循环

SJMP__shortjump短跳转

RET__return子程序返回

;(2)机器语言指令格式;本讲结束

;二、MCS-51单片机寻址方式;2)直接寻址方式;3)寄存器寻址方式

指令操作数为寄存器名,数据在寄存器中。

例: MOVA,R0 ;A?R0

设指令执行前A=20H,R0=40H,

执行指令后,A=?,R0=?;5)变址间接寻址方式

数据在存储器中,指令给出的寄存器中为数据的基地址和偏移量。

数据地址=基地址+偏移量。;本讲结束

;三、MCS-51单片机汇编语言指令功能;1)内部传送指令:实现片内数据存储器中数据传送。

指令格式:MOV目的操作数,源操作数

寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间址。;例1-3-1:顺序执行下列指令序列,求每一步执行结果。;说明:;2)外部传送指令:实现片外数据存储器和A累加器之间的数据传送。;例1-3-2:实现片外数据存储器数据传送(2000H)?(2100H)。;3)交换指令:实现片内RAM区的数据双向传送。;②半字节交换指令;4)堆栈操作指令

入栈指令:PUSHn;SP?SP+1,(SP)?(n)

出栈指令:POP n;(n)?(SP),SP?SP-1;5)查表指令

实现从程序存储器读取数据到A累加器,只能使用变址间接寻址方式。

多用于查常数表程序,可直接求取常数表中的函数值。;例:查表法求Y=X2。设X(0≤X≤15)在片内RAM的20H单元中,要求将查表求Y,存入片内RAM21H单元。;②指令地址 源程序

ORG1000H ;程序起始地址

1000H SQU: MOVA,20H ;取X

1002H ADDA,#3 ;修正偏移量

1004H MOVCA,@A+PC ;查表求Y=X2

1005H MOV21H,A ;存结果

1007H RET ;子程序结束

1008H TAB: DB00,01,04 ;平方表 100BH DB09,…,225 ;习题:找出指令错误并改正:;(2) 算术运算指令;2)标志位(自动设置状态);3)用户选择位(编程设置状态);(3)算术运算指令:完成片内RAM和A中数据的加减乘除运算。;10011010

11100011

+0

101111101;*带进位加法指令ADDC用于多字节运算;十进制加法指令:

ADDA,源操作数

DAA

带进位十进制加法指令:

ADDCA,源操作数

DAA

十进制加1运算:ADDA,#01

DAA;2)减法指令

SUBBA,源操作数 ;带借位减法指令;3)增量、减量指令;4)乘除指令;(2)逻辑运算指令;例1-3-7:设A=,Cy=0,分别执行下列单条指令: CPLA 求:A=,Cy=

RLA

RLCA ;2)双操作数逻辑运算指令(对位逻辑运算):

ANL、ORL、XRL;(3)布尔变量操作指令

对片内RAM中位寻址区操作。位累加器Cy和位地址b。;3)逻辑运算:ANL、ORL:

ANLC,40H;C←C∧(40H)

ANLC,/40H;C←C∧/(40H);(4)转移指令

转移指令通过改写PC的当前值,从而改变CPU执行程序的顺序,使程序发生跳转。;按转移方式分类:;1)无条件转移指令

①长转移指令:

LJMP nn ;PC?nn

指令机器码:02nnHnnL

指令转移范围:64KB;相对偏移量e的计算式:

e=目的指令地址-(转移指令地址+指令字节数) =目的地址-PC当前值;例1:计算转移指令的相对偏移量e,并判断是否超

出转移范围。;④间接转移指令(多分支转移指令---散转) JMP@A+DPTR.;

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档