单片机原理及应用技术(第2版) 清华大学出版社第3章_第1页
单片机原理及应用技术(第2版) 清华大学出版社第3章_第2页
单片机原理及应用技术(第2版) 清华大学出版社第3章_第3页
单片机原理及应用技术(第2版) 清华大学出版社第3章_第4页
单片机原理及应用技术(第2版) 清华大学出版社第3章_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.1概述3.2寻址方式3.3数据传送与交换指令3.4算术运算指令3.5逻辑运算指令3.6控制转移指令3.7位操作指令3.8伪指令小结第3章MCS-51单片机的指令系统1一般格式为:

[标号:]操作码[目的操作数][,源操作数][;注释]在两个操作数的指令中,通常目的操作数写在左边,源操作数写在右边。

3.1.1MCS-51单片机指令格式标号是程序员根据编程需要给指令设定的符号地址,可有可无。标号由1~8个字符组成,第一个字符必须是英文字母,不能是数字或其他符号,标号后必须用冒号。操作码是指令的核心部分,用于指示机器执行何种操作操作数是表示指令操作的对象,操作数可以是一个具体的数据,也可以是参加运算的数据所在的地址。注释是对指令的解释说明,用以提高程序的可读性,注释前必须加分号。3.1概述2MCS-51单片机指令系统按指令所占的字节数可分为以下三类:(1)单字节指令(49条)例如:INCDPTR(2)双字节指令(46条)例如:MOVA,#data(3)三字节指令(16条)例如:MOVDPTR,#datal6

3.1.2指令的字节33.1.3MCS-51单片机的助记符语言指令的助记符用英文单词或缩写字母来表征指令功能,以便于人们识别、读/写、记忆和交流,常用于程序设计。MCS-51指令系统中,操作码采用了42种助记符。4不要尝试去背指令,理解、实践、会使用才是最主要的!按功能分为五大类:1.数据传送类指令(8种助记符)

MOV(Move)对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;

MOVC(MoveCode)读取程序存储器数据表格的数据传送;

MOVX(MoveExternalRAM)对外部RAM的数据传送;

XCH(Exchange)字节交换;

XCHD(Exchangelow-orderDigit)低半字节交换;SWAP(Swap)低4位与高4位交换;

PUSH(PushontoStack)入栈;

POP(PopfromStack)出栈。5不要尝试去背指令,理解、实践、会使用才是最主要的!按功能分为五大类:2.算术运算类指令(8种助记符)

ADD(Addition)加法;

ADDC(AddwithCarry)带进位加法;

SUBB(SubtractwithBorrow)带借位减法;

DA(DecimalAdjust)十进制调整;

INC(Increment)加1;

DEC(Decrement)减1;

MUL(Multiplication、Multiply)乘法;

DIV(Division、Divide)除法。6不要尝试去背指令,理解、实践、会使用才是最主要的!按功能分为五大类:3.逻辑运算类指令(9种助记符)

ANL(ANDLogic)逻辑与;

ORL(ORLogic)逻辑或;

XRL(Exclusive-ORLogic)逻辑异或;

CLR(Clear)清零;

CPL(Complement)取反;

RL(Rotateleft)循环左移;

RLC(RotateLeftthroughtheCarryflag)带进位循环左移;

RR(RotateRight)循环右移;

RRC(RotateRightthroughtheCarryflag)带进位循环右移。7不要尝试去背指令,理解、实践、会使用才是最主要的!按功能分为五大类:4.控制转移类指令(13种助记符)

ACALL(AbsolutesubroutineCall)子程序绝对调用;

LCALL(LongsubroutineCall)子程序长调用;

RET(Returnfromsubroutine)子程序返回;

RETI(ReturnfromInterruption)中断返回;

JMP(Jump)相对长转移;

SJMP(ShortJump)短转移;

AJMP(AbsoluteJump)绝对转移;

LJMP(LongJump)长转移;

CJNE(CompareJumpifNotEqual)比较不相等则转移;

DJNZ(DecrementJumpifNotZero)减1后不为0则转移;

JZ(JumpifZero)结果为0则转移;

JNZ(JumpifNotZero)结果不为0则转移;

NOP(NoOperation)空操作。8不要尝试去背指令,理解、实践、会使用才是最主要的!按功能分为五大类:5.位操作指令(6种助记符)

SETB(SetBit)置位JC(JumpiftheCarryflagisset)有进位则转移;

JNC(JumpifNotCarry)无进位则转移;

JB(JumpiftheBitisset)位为1则转移;

JNB(JumpiftheBitisNotset)位为0则转移;

JBC(JumpiftheBitissetandClearthebit)位为1则转移,并清除该位;93.1.4常用符号说明103.2寻址方式寻址方式是指寻找操作数或指令的地址的方式。MCS-51的寻址方式有七种。即:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、位对寻址和相对寻址。若不特别声明,我们后面提到的寻址方式均指源操作数的寻址方式。11

指令中直接给出操作数的寻址方式称为立即寻址。立即数可以为一个字节,也可以是两个字节,并要用符号“#”来标识。由于立即数是一个常数,所以只能作为源操作数。

立即寻址所对应的寻址空间为:ROM

3.2.1立即寻址如:MOVA,#30H;A←30HMOVDPTR,#1638H;DPH←16H,DPL←38H123.2.2直接寻址指令操作码之后的字节存放的是操作数的地址,操作数本身存放在该地址指示的存储单元中的寻址方式称为直接寻址。直接寻址中的SFR经常采用符号形式表示。寻址空间为:片内RAM低128字节、SFR。133.2.3寄存器寻址

操作数存放在寄存器中,指令中直接给出该寄存器名称的寻址方式。可以获得较高的传送和运算速度。

寄存器可以是:R0~R7、A、B、DPTR。例:MOVA,R1;A←R114

寄存器中的内容为地址,从该地址去取操作数的寻址方式称为寄存器间接寻址

。寻址的存储空间为片内RAM或片外RAM。片内RAM的数据传送采用“MOV”类指令,间接寻址寄存器采用寄存器R0或R1(堆栈操作时采用SP)。片外RAM的数据传送采用“MOVX”类指令,这时间接寻址寄存器有两种选择:一是采用R0和R1作间址寄存器,这时R0或R1提供低8位地址(外部RAM多于256字节采用页面方式访问时,可由P2口未使用的I/O引脚提供高位地址);二是采用DPTR作为间址寄存器。

3.2.4寄存器间接寻址15例:MOVR0,#30H;R0←30HMOVA,@R0;A←(R0)即A←(30H)寄存器间接寻址对应的空间为:片内RAM(采用@R0,@R1)片外RAM(采用@R0,@R1或@DPTR)

163.2.5变址寻址

以一个基地址加上一个偏移量地址形成操作数地址的寻址方式称为变址寻址。在这种寻址方式中,以数据指针DPTR或程序计数器PC作为基址寄存器,累加器A作为偏移量寄存器,基址寄存器的内容与偏移量寄存器的内容之和作为操作数地址。

变址寻址所对应的寻址空间为:ROM例如:MOVCA,@A+DPTR17

对位地址中的内容进行操作的寻址方式称为位寻址。采用位寻址指令的操作数是8位二进制数中的某一位。指令中给出的是位地址。位寻址方式实质属于位的直接寻址。

寻址空间为:片内RAM的20H~2FH单元中的128可寻址位;SFR的可寻址位。习惯上,特殊功能寄存器的寻址位常用符号位地址表示。例如:CLRACC.7MOVC,7FH3.2.6位寻址18相对寻址是以程序计数器PC的当前值(指读出该2字节或3字节的跳转指令后,PC指向的下条指令的地址)为基准,加上指令中给出的相对偏移量rel形成目标地址的寻址方式。

rel是一个带符号的8位二进制数,取值范围是-128~+127,以补码形式置于操作码之后存放。如:JCrel;rel=75H3.2.7相对寻址19例:指出下列各指令中操作数的寻址方式ADDA,40H;直接寻址PUSHAcc;直接寻址MOVB,20H;直接寻址ANLP1,#35H;立即数寻址MOV@R1,PSW;寄存器寻址20例:设A=11H,(44H)=22H,R0=33H,试求下列程序依次运行后有关单元中的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论