MSC51-3_80C51单片机的指令系统ppt课件_第1页
MSC51-3_80C51单片机的指令系统ppt课件_第2页
MSC51-3_80C51单片机的指令系统ppt课件_第3页
MSC51-3_80C51单片机的指令系统ppt课件_第4页
MSC51-3_80C51单片机的指令系统ppt课件_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 80C51单片机指令系统3.1指令系统概要一、指令系统分类及技术指标共111种指令,按功能分为5类数据传送29条)算术操作24条)逻辑操作24条)控制转移17条)布尔变量操作17条)指令字节数单字节指令占44%双字节指令占42%三字节指令占15%指令执行的时间单机器周期(12/fosc)58%双机器周期(24/fosc)41%两条指令是4个机器周期二、汇编语言中常用符号符号意义说明Rn当前寄存器R0R7RiR0或R1间址内低内低128BRAM外外256B RAMdirect直接地址内部RAM#data8位立即数在指令中#data1616位立即数在指令中addr1111位目的地址2K R

2、OMaddr1616位目的地址64K ROMrel8位相对地址-128127Bbit位地址内部RAM设:fosc=12MHz,则对应的机器周期为单机器周期=1s双机器周期=2 s4个机器周期=4 s每条指令由两部分组成:操作码:指令的功能操作对象:操作地址(含寄存器名地址)或数据操作码 1Byte操对象 12B 操对象1BX1 X2 EA PSEN ALE RST VCC GND 8051 P0 P1 P2 P3 P00P07 P10P17 P20P27 P30P37 3.2 8051存储器结构一、存储器结构8051单片机程序存储器和数据存储器分开由PSEN选通外部程序存储器,由RD(P3.7

3、)和WR(P3.6)读写外部数据存储器MOVX)(一程序存储器存放程序或固定数据,只能取指令读或程序MOVC读取阐明:1、8051可寻址64K程序空间;2、8051内部有4KBROM;3、执行到0FFFH到外部取指;4、8031无内部ROM;5、程序存储器访问通过(1地址有效;(2PSEN有效;0000H 0FFFH 0000H 0FFFH 1000H FFFFH 外部ROM 内部ROM EA=1 外部ROM EA=0 图3.1程序存储器示意图 (二数据存储区u8051分为片内数据存储器(256B)和片外数据存储器1、内部RAM由8位地址线寻址00H7FH:存储区80H FFH:特殊功能寄存器

4、区2、片外RAM由16位地址寻址寻址空间64KB片外数据存储器访问条件:(1地址信号有效;(2RD/WR信号有效;0000H FFFFH 00H 7FH 内部RAM 外部 RAM 64KB 图3.2数据存储器示意图 SFR 80H FFH 二、内部数据存储器二、内部数据存储器内部数据存储器低内部数据存储器低128字节为字节为RAM高高128字节为特殊功能寄存器字节为特殊功能寄存器区区(一RAM区1、通用寄存器区4组8个8位寄存器R0R7由PSW中的RS1,RS0选择当前工作区2、位寻址空间20H2FH字节可以位寻址128位00H7FH3、寻址内部RAM空间30H7FH字节(80B)4、特殊功能

5、寄存器u*表示 可以位寻址的寄存器其地址可被8整除)u共21个SFR,离散分布u只能使用直接寻址标识符名 称地址*ACC累加器E0H*BB寄存器F0H*PSW程序状态字D0HSP堆栈指针81HDPTR数据指针(DPH和DPL)82H,83H*P0口080H*P1口190H*P2口2A0H*P3口3B0H*IP中断优先级寄存器B8H*IE中断控制寄存器A8HTMOD定时器方式寄存器89H*TCON定时器控制寄存器88H标识符名 称地址TH0计数器0高位8CHTL0计数器0低位8AHTH1计数器1高位8DHTL1计数器1低位8BH*SCON串行口控制98HSBUF串行数据缓冲器99HPCON电源控

6、制97H序号序号寻址方式寻址方式寻址存储器空间寻址存储器空间1寄存器寻址寄存器寻址R0R7(Rn) 如MOV A, R0A,B,C,DPTR MOV A, DPTR2直接寻址直接寻址内部内部RAM(低低128B) 如 MOV A, 3AH特殊功能寄存器特殊功能寄存器(SFR) (3A)A3寄存器间接寄存器间接寻寻 址址内内RAM(R0,R1(Ri),SP) MOV A,R0外外RAM(R0,R1,DPTR) MOV A,DPTR (R0) A, (DPTR) A4立即数寻址立即数寻址程序存储器程序存储器ROM中的常数中的常数(#data) 数38H,1234HMOV A, #38H; MOV

7、DPTR, #1234H5变址寻址变址寻址程序存储器程序存储器(A+PC,A+DPTR)MOVC A, A+PC (A)+(PC) AJMP A+DPTR (A) + (DPTR) PC6相对寻址相对寻址ROM256B范围范围(当前当前PC+/-偏移量偏移量rel)目标可以是寄存器, xx, 直接7位寻址位寻址内部内部RAM的的20H2FH,16B(0127) MOV C, 30H可位寻址的可位寻址的SFR(21个)(个)(128255) 进位进位3.3 8051寻址方式7种和寻址空间3.4.1 数据传送指令29条)一、向累加器A的传送目的)MOV A,Rn ;(A)(Rn)MOV A,dir

8、ect;(A) (direct)MOV A,Ri ;(A)(Ri)MOV A,#data; (A)data二、向通用寄存器传送MOV Rn,A ;(Rn)(A)MOV Rn,direct ;(Rn)(direct)MOV Rn,#data ;(Rn)data三、向直接地址传送三、向直接地址传送MOV direct,A ;(direct)(A)MOV direct,Rn ;(direct)(Rn)MOV direct,direct ;(direct)(direct)MOV direct,Ri ;(direct)(Ri)MOV direct,#data ;(direct)data四、间址传送四、间

9、址传送MOV Ri,A ;(Ri)(A)MOV Ri,direct ;(Ri)(direct)MOV Ri,#data;(Ri)data3.4 MCS-51指令系统六、累加器传送指令六、累加器传送指令字节交换指令字节交换指令XCH A,Rn ;(A)(Rn)XCH A,direct ;(A) (direct)XCH A,Ri ;(A) (Ri)半字节交换指令半字节交换指令XCHD A,Ri ; (A03) (Ri) 03)累加器高累加器高4位与低位与低4位数据互换位数据互换SWAP A ;(A03) (A47)五、堆栈操作五、堆栈操作u 入栈指令u PUSH direct ;(sp)(sp)+

10、1,u ;(sp)(direct)u 出栈指令u POP direct ;(direct)(sp),u ;(sp)(sp)-1u 累加器与外部RAM的传送u MOVX A,Ri ;(A) (Ri)u MOVX A,DPTR;u ;(A)(DPTR)u MOVX Ri,A ;(Ri) (A),WR有效u MOVX DPTR,A ;WR(P3.6)有效u ;(DPTR) (A)u 累加器与程序存储器传送u MOVC A,A+DPTRu ; (A) (A)+(DPTR)u MOVC A,A+PCu ;(PC) (PC)+1, (A) (A)+(PC)七、目标地址传送指令七、目标地址传送指令MOV D

11、PTR,#data16 ;(DPTR) data164、十进制调整指令DA A;对(A)的加结果进行十进制调整3.4.2 算术运算指令(24条)一、加法指令1、加法ADD A,Rn ;(A) (A)+(Rn)ADD A,direct ;(A) (A)+(direct)ADD A,Ri ;(A) (A)+(Ri)ADD A,#data ;(A) (A)+data注:加/减法指令影响Ac,Cy,OV,P3、加1指令INC A ;(A) (A)+1INC Rn ;(Rn) (Rn)+1INC direct;(direct)(direct)+1INC Ri ; (Ri) (Ri)+1INC DPTR

12、; (DPTR) (DPTR)+1注:加/减1指令不影响PSW(Cy)2、带进位加法ADDC A,Rn ;(A) (A)+(Rn)+(C)ADDC A,direct;(A)(A)+(direct)+(C)ADDC A,Ri ;(A)(A)+(Ri)+(C)ADDC A,#data;(A)(A)+data +(C)三、乘法指令MUL AB;(BA) (A)*(B)(A)0FFH,则OV=1,(B)=非零 否则,OV=0,(B)=0四、除法指令DIV AB ;(A) (A)/(B) ; (B) (A)%(B)Cy=OV=0假设(B)=00H,(A)和(B)结果不定, 置OV=1,表示0除数错误(C

13、y=0)u 无不带借位指令u 使用前要先CLR C,使Cy=0u 影响标志位PSW:Cy,AC,OV,P二、减法指令1、带借位减法指令SUBB A,Rn ;(A) (A)-(Rn)-(C)SUBB A,direct ; (A) (A)-(direct)-(C)SUBB A,Ri ;(A) (A)-(Ri) -(C)SUBB A,#data ;(A) (A)-data-(C)2、减1指令DEC A ;(A) (A)-1DEC Rn ;(Rn) (Rn)-1DEC direct ;(direct) (direct)-1DEC Ri ; (Ri) (Ri)-1不影响PSW 6、累加器A带进位循环右移

14、RRC A;3.4.3 逻辑运算指令(24条)一、单操作数逻辑运算指令1、累加器A清零CLR A ;(A) 03、累加器A循环左移 RL A;D 7 D 0 A D 7 D 0 A 4、累加器A循环右移 RR A;D7 D0 C A 5、累加器A带进位循环左移RLC A;D7 D0 C A 2、累加器A取反CPL A ;(A) (A)RLC A:可以实现快速(A) 2RRC A:可以实现快速(A)/2二、双操作数逻辑运算指令逻辑操作指令只影响标志位P1、逻辑“与指令ANL A, Rn ;(A) (A)&(Rn)ANL A, direct ;(A) (A)&(direct)ANL A, Ri ;

15、(A) (A)&(Ri)ANL A, #data ;(A) (A)&dataANL direct, A ;(direct) (direct)&(A)ANL direct, #data ;(direct) (direct)&data2、逻辑“或指令ORL A, Rn ;(A) (A)|(Rn)ORL A, direct ;(A) (A)|(direct)ORL A,Ri ; (A) (A)|(Ri)ORL A, #data ;(A) (A)|dataORL direct, A ;(direct) (direct)|(A)ORL direct,#data ;(direct) (direct)|da

16、ta(2长调用(64K)LCALL addr16 ;(pc) (pc)+3 ;(sp) (sp)+1,(sp) (pc07) ;(sp) (sp)+1,(sp) (pc815) ;(pc) addr16uXRL A, Rnu ;(A) (A)(Rn)uXRL A, directu ; (A) (A)(direct)uXRL A, Riu ; (A) (A)(Ri)uXRL A, #datau; (A) (A)datauXRL direct, Au; (direct) (direct)(A)uXRL direct, #datau; (direct) (direct)data4.5 控制转移指令1

17、7条)一、无条件转移指令1、调用指令(1绝对调用(2K)ACALL addr11 ;(pc) (pc+2) ;(sp) (sp)+1,(sp) (pc07) ;(sp) (sp)+1,(sp) (pc815) ;(pc010) addr010 ;(pc1115)不变3、“异或指令(3相对转移短转移)SJMP rel ;(pc) (pc)+rel(2中断程序返回RETI ;(pc815) (sp),(sp) (sp)-1;(pc07) (sp),(sp) (sp)-1;开放中断逻辑5、空操作指令NOP ;(pc) (pc)+1用于产生一个机器周期的延迟4、间接转移指令散转指令)JMP A+DPT

18、R ;(pc) (A)+(DPTR)3、转移指令(1绝对转移短转移)AJMP addr11 ;(pc010) addr010 ;(pc1115)不变2、返回指令(1子程序返回(ACALL和LCALL)RET ;(pc815) (sp),(sp) (sp)-1;(pc07) (sp),(sp) (sp)-1(2长转移LJMP addr16 ;(pc) addr16二、条件转移指令1、判零转移指令(1JZ rel ;当(A)为0,那么(pc) (pc)+rel ;否则,顺序执行(2JNZ rel ;当(A)非0,那么(pc) (pc)+rel ;否则,顺序执行3、跳转循环指令(内容0)DJNZ R

19、n,rel;(Rn) (Rn)-1,;假设(Rn)非0,那么(pc) (pc)+rel;否则, 顺序执行DJNZ direct,rel ;(direct) (direct)-1, ;假设(direct)非0,那么(pc) (pc)+rel;否则, 顺序执行2、比较转移指令(-128B+127B)CJNE A,direct,relCJNE A,#data,relCJNE Rn,#data,relCJNE Rn,#data,rel ;若不相等,(pc) (pc)+rel ;否则,顺序执行3.4.4 布尔处理器指令布尔处理器指令17条)条)u8051的位布尔处理器具有一系列位指令集u布尔变量传送u位

20、状态控制u布尔逻辑运算u位条件转移u位变量地址空间u片内低RAM,Bit地址范围:00H7FH128位)u片内高RAM,地址能被8整除的SFR中对应各位11个):u 80HF7H图3.3内部RAM区 寄存器组0(R0R7) 00H 07H 08H 0FH 10H 17H 18H 1FH 20H 2FH 30H 7FH 00 78 07 06 05 04 03 02 01 7F 7E 7D 7C 7B 7A 79 寄存器组1(R0R7) 寄存器组2(R0R7) 寄存器组3(R0R7) 位地址区(007F) 字节寻址(307F) MOV C,bit ;(C) (bit)MOV bit,C ;(bit) (C) C为进位标志位Cy(不影响PSW)二、布尔状态控制1、位清“0指令CLR C ;(C) 0CLR bit ;(bit) 02、位置“1指令SETB C ;(C) 1SETB bit ;(bit) 13、位取反指令CPL C ;(C) (C)CPL bi

温馨提示

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

评论

0/150

提交评论