版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51系列单片机指令系统51系列单片机指令系统有111条指令其中有49条单字节、45条双字节、17条三字节有64条单周期、45条双周期、2条四周期按功能可分为数据传送类指令算术运算类指令逻辑运算类指令位操作类指令控制转移类指令51系列单片机指令系统51系列单片机指令系统有111条指令1指令寻址方式51系列单片机指令系统有七种寻址方式立即寻址方式直接寻址方式寄存器寻址方式寄存器间接寻址方式基址加变址寻址方式相对寻址方式位寻址方式指令寻址方式51系列单片机指令系统有七种寻址方式2立即寻址方式立即寻址方式在指令中直接给出操作数表示立即数时前面加#立即数可以用二进制数(B)十六进制数(H)十进制数例:MOVA,#23HMOVDPTR,#2040H立即寻址方式立即寻址方式在指令中直接给出操作数3直接寻址方式直接寻址方式指令中给出操作数地址直接寻址方式可寻址内部128字节RAM特殊功能寄存器SFR特殊功能寄存器只能使用直接寻址方式,可以用其名称表示直接地址例:MOV90H,AMOVP1,A直接寻址方式直接寻址方式指令中给出操作数地址4寄存器寻址方式寄存器寻址方式指令中给出寄存器编号寄存器编号为R0--R7其对应单元位置由RS1、RS0决定例INCR0ADDA,R2寄存器寻址方式寄存器寻址方式指令中给出寄存器编号5寄存器间接寻址方式寄存器间接寻址在指令中给出存放操作数地址的寄存器可用于间接寻址方式的寄存器有R0、R1用于寻址内部128字节RAMDPTR用于寻址外扩数据存储器(R0、R1)寻址外扩数据存储器,只能用寄存器间接寻址方式例:MOVA,@R0MOVX@DPTR,A寄存器间接寻址方式寄存器间接寻址在指令中给出存放操作数地址的6基址加变址寻址方式基址加变址寻址方式是以累加器A中内容加上基址寄存器的值形成操作数地址可用做基址寄存器的是DPTR或PC基址加变址寻址方式只用于读取程序存储器中数据例:MOVCA,@A+DPTRMOVCA,@A+PC基址加变址寻址方式基址加变址寻址方式是以累加器A中内容加上基7相对寻址方式相对寻址方式仅用于转移指令相对转移的基准是PC当前值相对转移的范围为-128~+127所有的条件转移都采用相对寻址方式例:JNZrelrel可为一指令标号,其位置应在相对转移的范围内相对寻址方式相对寻址方式仅用于转移指令8位寻址方式对片内RAM中20H-2FH单元的各位和SFR中单元地址能被8整除的各位进行位操作。位地址空间为:00H-0FFH位地址采用直接地址形式与字节直接寻址的区别:传送指令由另一操作数判断专用位操作指令位寻址方式对片内RAM中20H-2FH单元的各位和SFR中单9数据传送类指令数据传送类指令有29条,分为5类内部RAM及SFR间传送MOV读写外部数据存储器MOVX读程序存储器MOVC数据交换XCHXCHDSWAP栈操作PUSHPOP传送指令不影响标志位数据传送类指令数据传送类指令有29条,分为5类10内部RAM及SFR间传送(MOV)另有一条16位传送指令MOVDPTR,#16内部RAM及SFR间传送(MOV)另有一条16位传送指令11读写外部数据存储器读写外部数据存储器指令助记符为MOVX读写外部数据存储器必须通过累加器A读写外部数据存储器指令只能用间接寻址方式间址单元为DPTR或R0、R1
MOVXA,@DPTRMOVX@DPTR,AMOVXA,@RiMOVX@Ri,A读写外部数据存储器读写外部数据存储器指令助记符为MOVX12读程序存储器读程序存储器指令助记符为MOVC读程序存储器必须通过累加器A读程序存储器指令只能用变址寻址方式变址单元为DPTR或PC
MOVCA,@A+DPTRMOVCA,@A+PC读程序存储器读程序存储器指令助记符为MOVC13数据交换字节交换指令RnXCHA,direct@Ri半字节交换指令
XCHDA,@Ri
累加器A中低四位与Ri所指单元低四位交换
SWAPA 累加器A中高四位与低四位交换数据交换字节交换指令14栈操作指令栈操作只能用直接寻址方式压栈指令PUSHdirect出栈指令POPdirect栈操作指令栈操作只能用直接寻址方式15算术运算指令算术运算指令共有24条算术运算指令将影响标志位算术运算包括加ADD、带进位加ADDC带借位减SUBB增量INC、减量DEC乘MUL、除DIV十进制调整DAA算术运算指令算术运算指令共有24条16加减指令加减指令17其他算术运算指令16位寄存器加一指令INCDPTR十进制调整指令DAA乘法指令MULAB(A)X(B)=BACy=0若乘积>0FFH则OV=1除法指令DIVAB(A)/(B)=A……BCy=0若(B)=0则OV=1其他算术运算指令16位寄存器加一指令INC18逻辑运算类指令逻辑运算类指令有24条单操作数指令累加器操作指令移位指令双操作数指令逻辑与逻辑或逻辑异或逻辑运算类指令逻辑运算类指令有24条19累加器操作指令累加器清零 CLRA 只影响P标志累加器求反 CPLA 不影响标志累加器操作指令累加器清零20移位指令移位指令必须经累加器A所有移位都是循环移位,分左移、右移可带进位移或不带进位移RLARLCARRARRCA除带进位移位外,不影响标志 移位指令移位指令必须经累加器A21双操作数逻辑运算指令以累加器A为目的单元以直接地址direct为目的单元(读-修改-写)双操作数逻辑运算指令以累加器A为目的单元22控制转移类指令控制转移类指令有17条,分为:无条件转移指令判零转移指令比较转移指令循环转移指令调用返回指令控制转移类指令控制转移类指令有17条,分为:23无条件转移指令短转移指令AJMPaddr11PC高5位与指令中给出的11位地址相加,可在2K范围内转移长转移指令LJMPaddr16转移范围为整个64K存储空间相对转移指令SJMPrel转移范围为-128~+127散转指令JMP@A+DPTR无条件转移指令短转移指令AJMPaddr24散转指令累加器A中内容与DPTR内容相加形成转移地址A=?AJMPAJMPAJMPAJMPAJMPA=0A=2A=4A=6A=8散转指令累加器A中内容与DPTR内容相加形成转移地址A=?A25比较转移指令比较转移指令CJNE操作数1,操作数2,操作数3A,direct,relA,#data,relRn,#data,rel@Ri,#data,rel操作数1与操作数2比较,不等于零转移操作数1<操作数2则Cy=“1”CJNEJCYNYNA=BA<BA>B比较转移指令比较转移指令CJNEJCYNYNA=B26循环转移指令循环转移指令是相对转移循环计数器减一,不等于“0”转移循环计数器可用工作寄存器DJNZRn,rel直接地址DJNZdirect,rel循环转移指令循环转移指令是相对转移27调用返回指令调用指令短调用(2K范围内)ACALLaddr11长调用(64K范围内)LCALLaddr16返回指令子程序返回RET中断返回RETI空操作NOP调用返回指令调用指令28判零转移指令判零是根据累加器A中是否为零的状态进行转移判零转移指令有2条,都是相对转移指令JZ累加器为“0”转移JNZ累加器非“0”转移判零转移指令判零是根据累加器A中是否为零的状态进行转移29位寻址与布尔处理器8051中含有一个一位的布尔处理器布尔处理器以Cy为位累加器布尔处理器可以进行逻辑与、逻辑或运算置位、清零、求反位处理单元有256个地址20H--2FH单元SFR中地址能被8整除的单元位寻址与布尔处理器8051中含有一个一位的布尔处理器30位地址的表示形式位地址只有直接寻址方式直接地址0D5H单元地址.位序号0D0H.5单元名称.位序号PSW.5位寄存器名称F0位地址的表示形式位地址只有直接寻址方式31位操作类指令(17条)位传送指令:MOVC,bitMOVbit,C位变量修改指令:清“0”CLRCCLRbit置“1”SETBCSETBbit求反CPLCCPLbit位操作类指令(17条)位传送指令:32位变量逻辑操作指令指定位变量与位累加器Cy进行逻辑操作,结果在Cy中 逻辑与ANLC,bitANLC,/bit逻辑或ORLC,bitORLC,/bit注意区分位操作指令与字节操作指令ANLC,20HANLA,20H位变量逻辑操作指令指定位变量与位累加器Cy进行逻辑操作,结果33判位转移指令JC有进位转移JNC无进位转移JBbit=“1”转移JNBbit=“0”转移JBCbit=“1”转移且转移后将bit清零判位转移指令JC有进位转移34指令格式[标号:]操作码[操作数1][,操作数2][,操作数3][;注释]标号用来表示转移地址操作码指明指令操作操作数指出参加操作的数据或其存放地址注释对指令功能进行说明注意格式中各段之间的间隔符指令格式[标号:]操作码[操作数1][,操作数23551系列单片机指令系统51系列单片机指令系统有111条指令其中有49条单字节、45条双字节、17条三字节有64条单周期、45条双周期、2条四周期按功能可分为数据传送类指令算术运算类指令逻辑运算类指令位操作类指令控制转移类指令51系列单片机指令系统51系列单片机指令系统有111条指令36指令寻址方式51系列单片机指令系统有七种寻址方式立即寻址方式直接寻址方式寄存器寻址方式寄存器间接寻址方式基址加变址寻址方式相对寻址方式位寻址方式指令寻址方式51系列单片机指令系统有七种寻址方式37立即寻址方式立即寻址方式在指令中直接给出操作数表示立即数时前面加#立即数可以用二进制数(B)十六进制数(H)十进制数例:MOVA,#23HMOVDPTR,#2040H立即寻址方式立即寻址方式在指令中直接给出操作数38直接寻址方式直接寻址方式指令中给出操作数地址直接寻址方式可寻址内部128字节RAM特殊功能寄存器SFR特殊功能寄存器只能使用直接寻址方式,可以用其名称表示直接地址例:MOV90H,AMOVP1,A直接寻址方式直接寻址方式指令中给出操作数地址39寄存器寻址方式寄存器寻址方式指令中给出寄存器编号寄存器编号为R0--R7其对应单元位置由RS1、RS0决定例INCR0ADDA,R2寄存器寻址方式寄存器寻址方式指令中给出寄存器编号40寄存器间接寻址方式寄存器间接寻址在指令中给出存放操作数地址的寄存器可用于间接寻址方式的寄存器有R0、R1用于寻址内部128字节RAMDPTR用于寻址外扩数据存储器(R0、R1)寻址外扩数据存储器,只能用寄存器间接寻址方式例:MOVA,@R0MOVX@DPTR,A寄存器间接寻址方式寄存器间接寻址在指令中给出存放操作数地址的41基址加变址寻址方式基址加变址寻址方式是以累加器A中内容加上基址寄存器的值形成操作数地址可用做基址寄存器的是DPTR或PC基址加变址寻址方式只用于读取程序存储器中数据例:MOVCA,@A+DPTRMOVCA,@A+PC基址加变址寻址方式基址加变址寻址方式是以累加器A中内容加上基42相对寻址方式相对寻址方式仅用于转移指令相对转移的基准是PC当前值相对转移的范围为-128~+127所有的条件转移都采用相对寻址方式例:JNZrelrel可为一指令标号,其位置应在相对转移的范围内相对寻址方式相对寻址方式仅用于转移指令43位寻址方式对片内RAM中20H-2FH单元的各位和SFR中单元地址能被8整除的各位进行位操作。位地址空间为:00H-0FFH位地址采用直接地址形式与字节直接寻址的区别:传送指令由另一操作数判断专用位操作指令位寻址方式对片内RAM中20H-2FH单元的各位和SFR中单44数据传送类指令数据传送类指令有29条,分为5类内部RAM及SFR间传送MOV读写外部数据存储器MOVX读程序存储器MOVC数据交换XCHXCHDSWAP栈操作PUSHPOP传送指令不影响标志位数据传送类指令数据传送类指令有29条,分为5类45内部RAM及SFR间传送(MOV)另有一条16位传送指令MOVDPTR,#16内部RAM及SFR间传送(MOV)另有一条16位传送指令46读写外部数据存储器读写外部数据存储器指令助记符为MOVX读写外部数据存储器必须通过累加器A读写外部数据存储器指令只能用间接寻址方式间址单元为DPTR或R0、R1
MOVXA,@DPTRMOVX@DPTR,AMOVXA,@RiMOVX@Ri,A读写外部数据存储器读写外部数据存储器指令助记符为MOVX47读程序存储器读程序存储器指令助记符为MOVC读程序存储器必须通过累加器A读程序存储器指令只能用变址寻址方式变址单元为DPTR或PC
MOVCA,@A+DPTRMOVCA,@A+PC读程序存储器读程序存储器指令助记符为MOVC48数据交换字节交换指令RnXCHA,direct@Ri半字节交换指令
XCHDA,@Ri
累加器A中低四位与Ri所指单元低四位交换
SWAPA 累加器A中高四位与低四位交换数据交换字节交换指令49栈操作指令栈操作只能用直接寻址方式压栈指令PUSHdirect出栈指令POPdirect栈操作指令栈操作只能用直接寻址方式50算术运算指令算术运算指令共有24条算术运算指令将影响标志位算术运算包括加ADD、带进位加ADDC带借位减SUBB增量INC、减量DEC乘MUL、除DIV十进制调整DAA算术运算指令算术运算指令共有24条51加减指令加减指令52其他算术运算指令16位寄存器加一指令INCDPTR十进制调整指令DAA乘法指令MULAB(A)X(B)=BACy=0若乘积>0FFH则OV=1除法指令DIVAB(A)/(B)=A……BCy=0若(B)=0则OV=1其他算术运算指令16位寄存器加一指令INC53逻辑运算类指令逻辑运算类指令有24条单操作数指令累加器操作指令移位指令双操作数指令逻辑与逻辑或逻辑异或逻辑运算类指令逻辑运算类指令有24条54累加器操作指令累加器清零 CLRA 只影响P标志累加器求反 CPLA 不影响标志累加器操作指令累加器清零55移位指令移位指令必须经累加器A所有移位都是循环移位,分左移、右移可带进位移或不带进位移RLARLCARRARRCA除带进位移位外,不影响标志 移位指令移位指令必须经累加器A56双操作数逻辑运算指令以累加器A为目的单元以直接地址direct为目的单元(读-修改-写)双操作数逻辑运算指令以累加器A为目的单元57控制转移类指令控制转移类指令有17条,分为:无条件转移指令判零转移指令比较转移指令循环转移指令调用返回指令控制转移类指令控制转移类指令有17条,分为:58无条件转移指令短转移指令AJMPaddr11PC高5位与指令中给出的11位地址相加,可在2K范围内转移长转移指令LJMPaddr16转移范围为整个64K存储空间相对转移指令SJMPrel转移范围为-128~+127散转指令JMP@A+DPTR无条件转移指令短转移指令AJMPaddr59散转指令累加器A中内容与DPTR内容相加形成转移地址A=?AJMPAJMPAJMPAJMPAJMPA=0A=2A=4A=6A=8散转指令累加器A中内容与DPTR内容相加形成转移地址A=?A60比较转移指令比较转移指令CJNE操作数1,操作数2,操作数3A,direct,relA,#data,relRn,#data,rel@Ri,#data,rel操作数1与操作数2比较,不等于零转移操作数1<操作数2则Cy=“1”CJNEJCYNYNA=BA<BA>B比较转移指令比较转移指令CJNEJCYNYNA=B61循环转移指令循环转移指令是相对转移循环计数器减一,不等于“0”转移循环计数器可用工作寄存器DJNZRn,rel直接地址DJNZdirect,rel循环转移指令循环转移指令是相对转移62调用返回指令调用指令短调用(2K范围内)ACALLaddr11长调用(64K范围内)LCALLaddr16返回指令子程序返回RET中断返回RETI空操作NOP调用返回指令调用指令63判零转移指令判零是根据累加器A中是否为零的状态进行转移判零转移指令有2条,都是相对转移指令JZ累加器为“0”转移
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西省侯马市高三生物上册期末考试模拟检测卷带答案
- 2026年四川省崇州市高三历史上册期末考试检测卷(典优)附答案
- 2026年湖北省武穴市高一化学上册期末考试检测卷附答案【完整版】
- 2026年广东省南雄市高三物理下册期末考试模拟试卷(含答案)
- 2026年湖南省吉首市高三生物上册期末考试检测卷及参考答案
- 2026年吉林省延吉市高一化学上册期末考试模拟测试卷含完整答案【典优】
- 2026年云南省泸水市高一化学上册期末考试模拟试卷及参考答案(能力提升)
- 四年级数学下册 第3课时 空间与图形
- 基于果蝇模型解析中药提取物对免疫与胰岛素代谢的调控机制及网络药理学探究
- 基于机器视觉的丝瓜种子分级技术创新与应用研究
- 豆瓣酱质量通则
- 盘古开天地 公开课一等奖创新教案(2课时)
- 统编版七年级历史下册期末知识点复习提纲
- 《房地产开发与经营》全套教学课件
- DL-T5153-2014火力发电厂厂用电设计技术规程
- (高清版)DZT 0339-2020 矿床工业指标论证技术要求
- 国开《农村环境保护形成性考核册》形考1-3答案
- 《Baby》Justin-Bieber版歌词完整版打印下载打印
- 手术安全核查标准流程
- 化学品库风险告知牌
- 部编人教版一年级上册语文 第2课 iuüyw第一课时 教学课件
评论
0/150
提交评论