单片机与接口技术第三章PPT_第1页
单片机与接口技术第三章PPT_第2页
单片机与接口技术第三章PPT_第3页
单片机与接口技术第三章PPT_第4页
单片机与接口技术第三章PPT_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

1、第第3章章 MCS-51指令系统指令系统3.3 指令系统指令系统主要内容主要内容 3.1 指令简介指令简介 3.2 寻址方式寻址方式单片机原理与接口技术3第三章第三章 MCS-51 指令系统指令系统 3.1 指令简介指令简介1 指令与指令系统概念指令与指令系统概念 指令指令是是CPUCPU用于控制功能部件完成某一指定动用于控制功能部件完成某一指定动作的指示和命令。作的指示和命令。 一台微机所具有的所有指令的集合,就构一台微机所具有的所有指令的集合,就构成了成了指令系统指令系统。 MCS-51 MCS-51单片机指令系统共有单片机指令系统共有3333种功能,种功能,4242种助记符,种助记符,1

2、11111条指令。条指令。 单片机原理与接口技术4第三章第三章 MCS-51 指令系统指令系统 不同指令翻译成机器码后字节数也不一定相同。按照不同指令翻译成机器码后字节数也不一定相同。按照机器码字节数,指令可以分为以下三种:机器码字节数,指令可以分为以下三种: 操操作作码码70操操作作码码70操操作作码码70数数据据或或寻寻址址方方式式70数数据据或或寻寻址址方方式式70数数据据或或寻寻址址方方式式7单单字字节节指指令令:双双字字节节指指令令:三三字字节节指指令令:2 指令格式指令格式 MCS-51 MCS-51单片机指令系统包括单片机指令系统包括4949条单字节指令、条单字节指令、4646条

3、条双字节指令和双字节指令和1616条三字节指令。条三字节指令。单片机原理与接口技术5第三章第三章 MCS-51 指令系统指令系统采用助记符表示的汇编语言指令格式:采用助记符表示的汇编语言指令格式:标标号号:操操作作码码操操作作数数或或操操作作数数地地址址;注注释释 标号标号:指令的符号地址指令的符号地址; ;操作码操作码:表示指令的操作种类表示指令的操作种类; ;操作数或操作数地址操作数或操作数地址:表示参加运算的数据或数据的有效地址表示参加运算的数据或数据的有效地址; 注释:注释:是对指令的解释说明,用以提高程序的是对指令的解释说明,用以提高程序的 可读性可读性 。注释前必须加分号。注释前必

4、须加分号。 单片机原理与接口技术6第三章第三章 MCS-51 指令系统指令系统3.2 寻寻 址址 方方 式式寻址方式:寻址方式:寻找操作数地址的方式。寻找操作数地址的方式。MCS-51MCS-51指令系统共使用了指令系统共使用了7 7种种寻址方式,包括立即数寻址、寻址方式,包括立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址等。对寻址和位寻址等。单片机原理与接口技术7第三章第三章 MCS-51 指令系统指令系统1. 立即数寻址立即数寻址3AH A3AHMOV A,#3AH图图3.1立即寻址功能示意图立即寻址功能示意图

5、立即数寻址是指将操作数直接写在指令中。立即数寻址是指将操作数直接写在指令中。单片机原理与接口技术8第三章第三章 MCS-51 指令系统指令系统采用立即数寻址指令的例子采用立即数寻址指令的例子 MOV P1,#55H MOV 20H,#55 MOV A,#0F0H MOV R4,#0FH MOV R0,#20HAND A,#0FH 单片机原理与接口技术9第三章第三章 MCS-51 指令系统指令系统 2. 直接寻址直接寻址把存放操作数的内存单元的地址直接写在指令中。把存放操作数的内存单元的地址直接写在指令中。只有只有内部内部RAMRAM区区可以直接寻址的方式来访问。可以直接寻址的方式来访问。88H

6、3A H内部 RA M88HA图图3.2 直接寻址功能示意图直接寻址功能示意图MOV A,3AH单片机原理与接口技术10第三章第三章 MCS-51 指令系统指令系统直接寻址方式指令的例子直接寻址方式指令的例子MOVMOV A,A,10H10HMOVMOV 30H,30H, 40H40HADD ADD A,A,60H60HM0VM0V A,A,P1P1单片机原理与接口技术11第三章第三章 MCS-51 指令系统指令系统 3. 寄存器寻址寄存器寻址 指令中操作数存放在寄存器中。这里的寄存器包括工指令中操作数存放在寄存器中。这里的寄存器包括工作寄存器作寄存器R0R7、累加器累加器A A、通用寄存器通

7、用寄存器B B、地址寄存器地址寄存器DPTRDPTR等。等。20H09H内部RAM20HAR101RS1 RS0图图3.3 寄存器寻址功能示意图寄存器寻址功能示意图MOV R1,A单片机原理与接口技术12第三章第三章 MCS-51 指令系统指令系统 采用寄存器寻址的指令如下:采用寄存器寻址的指令如下: MOV P1,A;将累加器;将累加器A的内容送到的内容送到P1口口 MOV P1,R4 ;将寄存器;将寄存器R4的内容送到的内容送到P1口口 CLR A;将累加器;将累加器A清清0 CPL A;将累加器;将累加器A中的内容取反中的内容取反 RL A;将累加器;将累加器A的内容循环左移的内容循环左

8、移单片机原理与接口技术13第三章第三章 MCS-51 指令系统指令系统 4. 寄存器间接寻址寄存器间接寻址 指令中所给定的寄存器存放的不是操作数本身,而是操指令中所给定的寄存器存放的不是操作数本身,而是操作数所在的作数所在的内内RAMRAM或外或外RAMRAM单元的地址。执行指令时,单元的地址。执行指令时,CPUCPU首先根据寄存器的内容,找到所需要的操作数地址,再由该首先根据寄存器的内容,找到所需要的操作数地址,再由该地址找到操作数并完成相应操作。地址找到操作数并完成相应操作。单片机原理与接口技术14第三章第三章 MCS-51 指令系统指令系统 设设R0=3AH,内部,内部RAM 3AH中的

9、值是中的值是65H,则指令,则指令MOV A,R0的的执行结果是累加器执行结果是累加器A的值为的值为65H,该,该指令指令的执行过程如下图所示。的执行过程如下图所示。65H3AH内部 RAM3AHAR065HMOV A,R0图图3.4 寄存器间接寻址功能示意图寄存器间接寻址功能示意图单片机原理与接口技术15第三章第三章 MCS-51 指令系统指令系统 在在MCS-51MCS-51指令系统中,用于寄存器间接寻址指令系统中,用于寄存器间接寻址的寄存器有的寄存器有R0R0、R1R1和和DPTRDPTR,称为寄存器间接寻址称为寄存器间接寻址寄存器。寄存器。寄存器间接寻址指令例子寄存器间接寻址指令例子M

10、OV A, R0MOVX A, R0MOVX A, DPTRMOV R1, #10H单片机原理与接口技术16第三章第三章 MCS-51 指令系统指令系统5. 基址基址变址寻址变址寻址 基址变址寻址是指将基址寄存器与变址寄存器的内容相基址变址寻址是指将基址寄存器与变址寄存器的内容相加,结果作为操作数的地址。加,结果作为操作数的地址。DPTRDPTR或或PCPC是基址寄存器,是基址寄存器,累加器累加器A A是变址寄存器。是变址寄存器。该类寻址方式主要用于对程序存储该类寻址方式主要用于对程序存储器的查表操作。器的查表操作。MOVC A, A+PCMOVC A, A+DPTR单片机原理与接口技术17第

11、三章第三章 MCS-51 指令系统指令系统55H程序存储区02HA0302H03HDPTR00H0302HMOVC A,A+DPTR图图3.5 基址变址寻址功能示意图基址变址寻址功能示意图55H单片机原理与接口技术18第三章第三章 MCS-51 指令系统指令系统 6. 相对寻址相对寻址 相对寻址是指程序计数器相对寻址是指程序计数器PCPC的当前内容的当前内容与指令中的操与指令中的操作数相加,其结果作为跳转指令的转移地址(也称目的地址)作数相加,其结果作为跳转指令的转移地址(也称目的地址)。该类寻址方式主要用于跳转指令。该类寻址方式主要用于跳转指令。单片机原理与接口技术19第三章第三章 MCS-

12、51 指令系统指令系统54H程序存储区54HA2001H20HPC02H2056HXX80H2056H2000HSJMP 54H图图3.6 相对寻址示意图相对寻址示意图单片机原理与接口技术20第三章第三章 MCS-51 指令系统指令系统 7. 位寻址位寻址 位寻址是指在指令中直接给出位地址,以实现各种位操位寻址是指在指令中直接给出位地址,以实现各种位操作的寻址方式。作的寻址方式。 位寻址只适用于内部位寻址只适用于内部RAMRAM中的两个区域:一是内部中的两个区域:一是内部RAMRAM的位寻址区,地址范围是的位寻址区,地址范围是20H20H2FH2FH,共,共1616个个RAMRAM单单元,位地

13、址为元,位地址为00H00H7FH7FH;二是特殊功能寄存器;二是特殊功能寄存器SFRSFR中可以中可以位寻址的位寻址的11 11个个寄存器寄存器单片机原理与接口技术21第三章第三章 MCS-51 指令系统指令系统内部RAM27H二进制 10 0 1 0 0 0 0 0图图3.7 位寻址示意图位寻址示意图SETB 3DH单片机原理与接口技术22第三章第三章 MCS-51 指令系统指令系统3.3 指指 令令 系系 统统 MCS-51单片机指令系统包括单片机指令系统包括111条指令,按功能条指令,按功能可以划分为以下可以划分为以下5类类 数据传送指令(数据传送指令(29条)条) 算术运算指令(算术

14、运算指令(24条)条) 逻辑运算指令(逻辑运算指令(24条)条)控制转移指令(控制转移指令(17条)条) 位操作指令(位操作指令(17条)条)单片机原理与接口技术23第三章第三章 MCS-51 指令系统指令系统符符 号号含含 义义Rn表示当前选定寄存器组的工作寄存器表示当前选定寄存器组的工作寄存器R0R7Ri表示作为间接寻址的地址指针表示作为间接寻址的地址指针R0R1#data表示表示8位立即数,即位立即数,即00HFFH#data16表示表示16位立即数,即位立即数,即0000HFFFFHaddr16表示表示16位地址,用于位地址,用于64K范围内寻址范围内寻址addr11表示表示11位地址

15、,用于位地址,用于2K范围内寻址范围内寻址direct8位直接地址,可以是内部位直接地址,可以是内部RAM区的某一单元或某一专用功能寄存器的地址区的某一单元或某一专用功能寄存器的地址Rel带符号的带符号的8位偏移量(位偏移量(-128+127)Bit位寻址区的直接寻址位位寻址区的直接寻址位(X)X地址单元中的内容,或地址单元中的内容,或X作为间接寻址寄存器时所指单元的内容作为间接寻址寄存器时所指单元的内容将将 后面的内容传送到前面去后面的内容传送到前面去 指令系统标识符说明指令系统标识符说明单片机原理与接口技术24第三章第三章 MCS-51 指令系统指令系统 数据传送操作是指把数据从源地址传送

16、到目的数据传送操作是指把数据从源地址传送到目的地址,源地址内容不变。地址,源地址内容不变。 数数 据据目的地址目的地址 源地址源地址 3.3.1 数据传送类指令数据传送类指令 交换和查表类指令(交换和查表类指令(9条)条) 内部内部RAM单元间数据传送指令(单元间数据传送指令(16条)条) 外部数据传送指令(外部数据传送指令(4条)条)单片机原理与接口技术25第三章第三章 MCS-51 指令系统指令系统1) 以累加器以累加器A为目的地址的传送指令(为目的地址的传送指令(4条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期MOV A,Rn11101r

17、rrARnn=07, rrr=0001111MOV A,direct11100101 directA (direct) 1MOV A,Ri1110011iA (Ri)i=0,1 1MOV A,#data01110100 dataA #data 1 1. 内部内部RAM单元间数据传送指令(单元间数据传送指令(16条)条)主要用于主要用于MCS-51MCS-51单片机内部单片机内部RAMRAM与寄存器之间的数据传送。与寄存器之间的数据传送。指令基本格式:指令基本格式: MOV , 注意:注意:以上传送指令的结果以上传送指令的结果均影响均影响程序状态字寄存器程序状态字寄存器PSWPSW的的P P标志

18、。标志。单片机原理与接口技术26第三章第三章 MCS-51 指令系统指令系统例例3.1 3.1 已知相应单元的内容如下,请指出每条指令执已知相应单元的内容如下,请指出每条指令执行后相应单元内容的变化。行后相应单元内容的变化。 累加器累加器A40H寄存器寄存器R050H内部内部RAM:40H30H内部内部RAM:50H10H(1) MOV A,#20H (2) MOV A,40H(3) MOV A,R0(4) MOV A,R0单片机原理与接口技术27第三章第三章 MCS-51 指令系统指令系统 2) 以以Rn为目的地址的传送指令(为目的地址的传送指令(3条)条)助记符格式助记符格式机器码机器码(

19、B)相应操作相应操作指令说明指令说明机器周期机器周期MOV Rn,A11111rrrRn An=07, rrr=0001111MOV Rn,direct1 0 1 0 1 r r r directRn (direct)n=07, rrr=0001111MOV Rn,#data0 1 1 1 1 r r r dataRn #datan=07, rrr=0001111 注意:注意:以上传送指令的结果以上传送指令的结果不影响不影响程序状态字寄存器程序状态字寄存器PSWPSW标志。标志。单片机原理与接口技术28第三章第三章 MCS-51 指令系统指令系统3) 以直接地址为目的地址的传送指令(以直接地址

20、为目的地址的传送指令(5条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周机器周期期MOV direct,A1 1 1 1 1 0 1 0 direct(direct) A 1MOV direct,Rn1 0 0 0 1 r r r direct(direct )Rnn=07, rrr=0001111MOV direct2,direct110000101direct1 direct2(direct2) direct1 2MOV direct,Ri1000011i direct(direct )(Ri)i=0,12MOV direct,#data01110101

21、direct data(direct)#data 2 注意:注意:以上传送指令的结果以上传送指令的结果不影响不影响程序状态字寄存器程序状态字寄存器PSWPSW标志。标志。单片机原理与接口技术29第三章第三章 MCS-51 指令系统指令系统4) 以寄存器间接地址为目的地址的传送指令(以寄存器间接地址为目的地址的传送指令(3条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期MOV Ri,A1111011i(Ri)Ai=0,11MOV Ri,direct1 1 1 0 0 1 1 i direct(Ri)(direct) 2MOV Ri,#data0111

22、010i data(Ri)#data 1 注意:注意:以上传送指令的结果以上传送指令的结果不影响不影响程序状态字寄存器程序状态字寄存器PSWPSW标志。标志。单片机原理与接口技术30第三章第三章 MCS-51 指令系统指令系统例例3.2 已知相应单元的内容如下,请指出下列指令执已知相应单元的内容如下,请指出下列指令执行后各单元内容相应的变化。行后各单元内容相应的变化。寄存器寄存器R050H寄存器寄存器R166H寄存器寄存器R630H内部内部RAM:50H60H内部内部RAM:66H45H内部内部RAM:70H40H(1) MOV A,R6 (2) MOV R6,70H(3) MOV 70H,5

23、0H(4) MOV 40H,R0(5) MOV R1,#88H单片机原理与接口技术31第三章第三章 MCS-51 指令系统指令系统5) 以以DPTR为目的操作数的传送指令(为目的操作数的传送指令(1条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周机器周期期MOV DPTR,#data1610010000 data158 data70(DPTR) #data16把把16位常数位常数装入数据指装入数据指针针2注意:注意:该指令执行结果该指令执行结果不影响不影响程序状态字寄存器程序状态字寄存器PSW标志。标志。单片机原理与接口技术32第三章第三章 MCS-51 指

24、令系统指令系统 2. 外部数据传送指令(外部数据传送指令(4条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期MOVX A,DPTR11100000A(DPTR)把把DPTR所对应的外部所对应的外部RAM地址中的内容传送给累加器地址中的内容传送给累加器A2MOVX A,Ri1110001iA (Ri)i=0,12MOVX DPTR,A11110000(DPTR) A结果不影响结果不影响P标志标志2MOVX Ri,A1110001i(Ri) Ai=0,1,结果不影响,结果不影响P标志标志2单片机原理与接口技术33第三章第三章 MCS-51 指令系统指令

25、系统例例3.3 把外部数据存储器把外部数据存储器2040H单元中的数据传送到单元中的数据传送到外部数据存储器外部数据存储器2560H单元中去。单元中去。 以上传送指令结果通常影响程序状态字寄存器以上传送指令结果通常影响程序状态字寄存器PSW 的的P标志。标志。注意:注意: 外部外部RAM只能通过累加器只能通过累加器A进行数据传送。进行数据传送。 累加器累加器A与外部与外部RAM之间传送数据时只能间接寻址之间传送数据时只能间接寻址 方式,间接寻址寄存器为方式,间接寻址寄存器为:DPTR,R0,R1。单片机原理与接口技术34第三章第三章 MCS-51 指令系统指令系统 解:解: MOV DPTR,

26、#2040H MOVX A,DPTR;先将;先将 2040H单元的单元的 ;内容传送到累加器;内容传送到累加器A中中 MOV DPTR,#2560H MOVX DPTR,A;再将累加器;再将累加器A中的内容中的内容;传送到;传送到2560H单元中单元中单片机原理与接口技术35第三章第三章 MCS-51 指令系统指令系统助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周机器周期期XCH A,Rn11001rrr ARn A与与Rn内容互换内容互换1XCH A,direct1 1 0 0 0 1 0 1 directA(direct) 1XCH A,Ri1100011iA

27、(Ri)i=0,113. 交换和查表类指令(交换和查表类指令(9条)条)1) 字节交换指令(字节交换指令(3条)条)注意:注意:以上指令结果以上指令结果影响影响程序状态字寄存器程序状态字寄存器PSW的的P标志。标志。单片机原理与接口技术36第三章第三章 MCS-51 指令系统指令系统助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周机器周期期XCHD A,Ri1101011i A3030(Ri)3030低低4位交换,高位交换,高4位不位不变变1 注意:注意:上面指令结果上面指令结果影响影响程序状态字寄存器程序状态字寄存器PSW的的P标志。标志。2) 半字节交换指令(半

28、字节交换指令(1条)条)单片机原理与接口技术37第三章第三章 MCS-51 指令系统指令系统3) 累加器A中高4位和低4位交换(1条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期SWAP A11000100A 30A74 高、低高、低4位互相交位互相交换换1注意:注意:上面指令结果上面指令结果不影响不影响程序状态字寄存器程序状态字寄存器PSW标志。标志。单片机原理与接口技术38第三章第三章 MCS-51 指令系统指令系统4) 查表指令(查表指令(2条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周机器周期期MOVC

29、A,A+PC10000011A (A+PC)A+PC所指程序存所指程序存储单元的值送储单元的值送A2MOVC A,A+DPTR10010011A (A+DPTR)A+DPTR所指程序所指程序存储单元的值送存储单元的值送A2 注意:注意: 以上指令结果以上指令结果影响影响程序状态字寄存器程序状态字寄存器PSW的的P标志。标志。 查表指令用于查找存放在查表指令用于查找存放在程序存储器程序存储器中的表格。中的表格。单片机原理与接口技术39第三章第三章 MCS-51 指令系统指令系统助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周机器周期期PUSH direct110000

30、00directSPSP+1(SP)(direct)将将SP加加1,然后将源地址单元,然后将源地址单元中的数传送到中的数传送到SP所指示的单元所指示的单元中去中去2POP direct11010000direct(direct) (SP)SPSP-1将将SP所指示的单元中的数传送所指示的单元中的数传送到到direct地址单元中,然后地址单元中,然后SPSP-12注意:注意: 堆栈是用户自己设定的内部堆栈是用户自己设定的内部RAM中的一块专用中的一块专用 存储区,使用时一定先设堆栈指针初值,堆栈指针存储区,使用时一定先设堆栈指针初值,堆栈指针 缺省初值为缺省初值为SP=07H。 5) 堆栈操作指

31、令(堆栈操作指令(2条)条) 单片机原理与接口技术40第三章第三章 MCS-51 指令系统指令系统 以上指令结果以上指令结果不影响不影响程序状态字寄存器程序状态字寄存器PSW标志。标志。 堆栈遵循堆栈遵循后进先出后进先出的原则安排数据。的原则安排数据。 堆栈操作必须是堆栈操作必须是字节操作字节操作,且只能,且只能直接寻址直接寻址。 将累加器将累加器A入栈、出栈指令可以写成:入栈、出栈指令可以写成: PUSH/POP ACC 或或 PUSH/POP 0E0H 而不能写成:而不能写成: PUSH/POP A 堆栈通常用于临时保护数据及子程序调用时堆栈通常用于临时保护数据及子程序调用时保保 护现场护

32、现场和和恢复现场。恢复现场。单片机原理与接口技术41第三章第三章 MCS-51 指令系统指令系统 例例3.5 设堆栈指针为设堆栈指针为30H,把累加器,把累加器A和和DPTR中的内中的内容压入,然后根据需要再把它们弹出,编写实现该功能的程容压入,然后根据需要再把它们弹出,编写实现该功能的程序段。序段。 单片机原理与接口技术42第三章第三章 MCS-51 指令系统指令系统1) 加法指令(加法指令(8条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期ADD A,Rn00101rrrAA+Rnn=07, rrr=0001111ADD A,direct001

33、00101directAA+(direct) 1ADD A,Ri0010011iAA+(Ri)i=0,11ADD A,#data00100100 dataAA+#data 1ADDC A,Rn00111rrrAA+Rn+CYn=07, rrr=0001111ADDC A,direct00110101 directAA+(direct)+CY 1ADDC A,Ri0011011iAA+(Ri)+CYi=0,11ADDC A,#data00110100 dataAA+#data+CY 1 3.3.3 算术运算类指令算术运算类指令1. 加、减法指令(加、减法指令(22条)条)单片机原理与接口技术43

34、第三章第三章 MCS-51 指令系统指令系统eg3: 编写计算编写计算12A4H+0FE7H的程序,将结果存入内部的程序,将结果存入内部 RAM 41H和和40H单元,单元,40H存低存低8位,位,41H存高存高8位。位。单片机原理与接口技术44第三章第三章 MCS-51 指令系统指令系统助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期SUBB A,Rn1001rrrAA-(Rn)-CYn=07 rrr=0001111SUBB A,direct10010101 directAA-(direct)-CY 1SUBB A,Ri1001011iAA- (Ri)-

35、CYi=0,11SUBB A,#data10010100 dataAA-(#data)-CY 1 2) 减法指令(减法指令(4条)条) 注意注意: 减法指令中减法指令中没有不带借位没有不带借位的减法指令,所的减法指令,所 以在需要时,必须以在需要时,必须先将先将CY清清0。 指令执行结果均在累加器指令执行结果均在累加器A中。中。 减法指令结果影响程序状态字寄存器减法指令结果影响程序状态字寄存器PSW 的的CY、OV、AC和和P标志。标志。单片机原理与接口技术45第三章第三章 MCS-51 指令系统指令系统试编写试编写1234H-0FA3H的程序段,将结果高的程序段,将结果高8位存入位存入51H

36、, 低低8位存入位存入50H单元。单元。单片机原理与接口技术46第三章第三章 MCS-51 指令系统指令系统3) BCD码调整指令(码调整指令(1条)条)助记符格式助记符格式机器码机器码(B)指令说明指令说明机器周期机器周期DA A11010100BCD码加法调整指令码加法调整指令1注意:注意: 结果影响程序状态字寄存器结果影响程序状态字寄存器PSW的的CY、OV、AC和和P标志;标志; DA A指令将指令将A中的中的二进制码二进制码自动调整为自动调整为BCD码码; DA A指令通常紧跟在指令通常紧跟在ADD或或ADDC加法指令后。加法指令后。 单片机原理与接口技术47第三章第三章 MCS-5

37、1 指令系统指令系统例例3.7 编程实现编程实现BCD数数15H和和08H的求和运算的求和运算单片机原理与接口技术48第三章第三章 MCS-51 指令系统指令系统4) 加加1减减1指令(指令(9条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期INC A00000100AA+1影响影响PSW的的P标志标志1INC Rn00001rrrRnRn+1n=07, rrr=0001111INC direct0101 direct(direct)(direct)+1 1INC Ri0000011i(Ri)(Ri)+1i=0,11INC DPTR1010001

38、1DPTRDPTR+1 2DEC A00010100AA-1影响影响PSW的的P标志标志1DEC Rn00011rrrRnRn-1n=07, rrr=0001111DEC direct00010101 direct(direct)(direct)+1 1DEC Ri0001011i(Ri)(Ri)-1i=0,11 注意:注意:以上指令结果通常不影响程序状态字寄存器以上指令结果通常不影响程序状态字寄存器PSW。单片机原理与接口技术49第三章第三章 MCS-51 指令系统指令系统 例例3.8 分别指出指令分别指出指令INC R0和和INC R0的执行结果。设的执行结果。设R0=30H,(,(30H

39、)=00H。单片机原理与接口技术50第三章第三章 MCS-51 指令系统指令系统 1) 乘法指令(乘法指令(1条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期MUL AB10100100BAA*B无符号数相乘,高位存无符号数相乘,高位存B,低位,低位存存A4 注意:注意:乘法结果影响程序状态字寄存器乘法结果影响程序状态字寄存器PSWPSW的的OVOV(积超过(积超过0FFH0FFH则置则置1 1,否则为,否则为0 0)和)和CYCY(总是清(总是清0 0)以及)以及P P标志。标志。助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令

40、说明机器周期机器周期DIV AB10000100AA/B的商的商BA/B的余数的余数无符号数相除,商存无符号数相除,商存A,余数存,余数存B4 2. 乘、除法指令乘、除法指令 2) 除法指令(除法指令(1条)条)注意:注意: 除法结果影响程序状态字寄存器除法结果影响程序状态字寄存器PSWPSW的的OVOV(除数(除数 为为0 0则置则置1 1,否则为,否则为0 0)和和CYCY(总是清总是清0 0)以及)以及P P标志。标志。 当除数为当除数为0 0时结果时结果不能确定不能确定。单片机原理与接口技术51第三章第三章 MCS-51 指令系统指令系统算数运算类指令对标志位的影响算数运算类指令对标志

41、位的影响 :单片机原理与接口技术52第三章第三章 MCS-51 指令系统指令系统1) 逻辑与指令(逻辑与指令(6条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期ANL A,direct01010101 directAAdirect按位相与按位相与1ANL A,Rn01011rrrAARnn=07, rrr=0001111ANL A,Ri0101011iAA(Ri)i=0,11ANL A,#data01010100 dataAA#data 1ANL direct,A01010010 direct(direct)(direct)A不影响不影响PSW的的

42、P标志标志1ANL direct,#data01010011 direct data(direct)(direct)#data不影响不影响PSW的的P标志标志23.3.4 逻辑运算及移位类指令逻辑运算及移位类指令1. 逻辑运算指令(逻辑运算指令(20条)条)注意:注意: 以上指令结果通常影响程序状态字寄存器以上指令结果通常影响程序状态字寄存器PSWPSW的的P P标志标志; ; 逻辑与指令通常用于将一个字节中的逻辑与指令通常用于将一个字节中的指定位清指定位清0 0,其它,其它 位不变。位不变。 ANd Logic Instruction单片机原理与接口技术53第三章第三章 MCS-51 指令系

43、统指令系统2) 逻辑或指令(逻辑或指令(6条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期ORL A,direct01000101 directAAdirect按位相或按位相或1ORL A,Rn01001rrrAARnn=07, rrr=0001111ORL A,Ri0100011iAA(Ri)i=0,11ORL A,#data01000100 dataAA#data 1ORL direct,A01000010 direct(direct)(direct)A不影响不影响PSW的的P标志标志1ORL direct,#data01000011 dire

44、ct data(direct)(direct)#data不影响不影响PSW的的P标志标志2注意:注意: 以上指令结果通常影响程序状态字寄存器以上指令结果通常影响程序状态字寄存器PSWPSW的的P P标志。标志。 逻辑或指令通常用于将一个字节中的逻辑或指令通常用于将一个字节中的指定位置指定位置1 1,其余,其余 位不变。位不变。 OR Logic Instruction单片机原理与接口技术54第三章第三章 MCS-51 指令系统指令系统助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期XRL A,direct01100101 directAA (direct)

45、按位相异或按位相异或1XRL A,Rn01101rrrAA Rnn=07, rrr=0001111XRL A,Ri0110011iAA (Ri)i=0,11XRL A,#data01100100 dataAA #data 1XRL direct,A01100010 direct(direct)(direct) A不影响不影响PSW的的P标志标志1XRL direct,#data01100011 direct data(direct)(direct) #data不影响不影响PSW的的P标志标志23) 逻辑异或指令(逻辑异或指令(6条)条)注意:注意: 以上指令结果通常影响程序状态字寄存器以上指令

46、结果通常影响程序状态字寄存器PSWPSW的的P P标志。标志。 “异或异或”原则是相同为原则是相同为0 0,不同为,不同为1 1。 eXclusive-oR Logic Instruction单片机原理与接口技术55第三章第三章 MCS-51 指令系统指令系统4) 累加器累加器A清清0和取反指令(和取反指令(2条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期CLR A11100100A00HA中内容清中内容清0,影响,影响P标志标志1CPL A11110100A/AA中内容按位取反,影响中内容按位取反,影响P标志标志1单片机原理与接口技术56第三章

47、第三章 MCS-51 指令系统指令系统2. 循环移位指令(循环移位指令(4条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期RL A00100011A7A0 循环左移循环左移1RLC A00110011CYA7A0带进位循环左移,影响带进位循环左移,影响CY标志标志1RR A00000011A7A0 循环右移循环右移1RRC A00010011CYA7A0带进位循环右移,影响带进位循环右移,影响CY标志标志1单片机原理与接口技术57第三章第三章 MCS-51 指令系统指令系统1) 长转移指令(长转移指令(1条)条) 助记符格式助记符格式机器码机器码(

48、B)相应操作相应操作指令说明指令说明机器周机器周期期LJMP addr1600000010 a d d r1 5 8 addr70PCaddr16程序跳转到地址为程序跳转到地址为addr16开始的地方开始的地方执行执行2 3.3.5 控制转移类指令控制转移类指令 控制转移类指令的本质是改变程序计数器控制转移类指令的本质是改变程序计数器PCPC的内容,的内容,从而改变程序的执行顺序。控制转移指令分为:无条件转从而改变程序的执行顺序。控制转移指令分为:无条件转移指令、条件转移指令和调用移指令、条件转移指令和调用/ /返回指令。返回指令。1. 无条件转移指令(无条件转移指令(4条)条)注意:注意:

49、该指令结果不影响程序状态字寄存器该指令结果不影响程序状态字寄存器PSW; 该指令可以转移到该指令可以转移到64 KB程序存储器中的任意位置。程序存储器中的任意位置。单片机原理与接口技术58第三章第三章 MCS-51 指令系统指令系统2) 绝对转移指令绝对转移指令 (1条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期AJMP addr11a10a9a800001addr70PC100addr11程 序 跳 转 到 地 址 为程 序 跳 转 到 地 址 为PC1511addr11开始的地开始的地方执行,方执行,2 KB内绝对内绝对转移转移2 注意:注意

50、: 该指令结果不影响程序状态字寄存器该指令结果不影响程序状态字寄存器PSW。 该指令转移范围是该指令转移范围是2 KB。单片机原理与接口技术59第三章第三章 MCS-51 指令系统指令系统 3) 相对转移指令相对转移指令 (1条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周机器周期期SJMP rel10000000 relPCPC+rel-80H(-128)7FH(127)短转移短转移2注意:注意: 该指令结果不影响程序状态字寄存器该指令结果不影响程序状态字寄存器PSW;PSW; 该指令的转移范围是以本指令的下一条指令为中心该指令的转移范围是以本指令的下一条

51、指令为中心 的的-128-128+127+127字节以内字节以内; ; 在实际应用中,在实际应用中,LJMPLJMP、AJMPAJMP和和SJMPSJMP后面的后面的addr16addr16、 addr11addr11或或relrel都是用标号来代替的,不一定写出它都是用标号来代替的,不一定写出它 们的具体地址。们的具体地址。单片机原理与接口技术60第三章第三章 MCS-51 指令系统指令系统4) 间接寻址的无条件转移指令(间接寻址的无条件转移指令(1条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期JMP A+DPTR01110011PCA+DP

52、TR64 KB内相对转移内相对转移2 注意:注意: 该指令结果不影响程序状态字寄存器该指令结果不影响程序状态字寄存器PSW。 该指令通常用于散转(多分支)程序。该指令通常用于散转(多分支)程序。单片机原理与接口技术61第三章第三章 MCS-51 指令系统指令系统1) 累加器累加器A判判0转移指令(转移指令(2条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期JZ rel0110000若若A=0, 则则PCPC+rel, 否则程序顺序执行否则程序顺序执行 2JNZ rel01110000若若A0, 则则PCPC+rel, 否则程序顺序执行否则程序顺序执行2 注意:注

53、意: 以上指令结果不影响程序状态字寄存器以上指令结果不影响程序状态字寄存器PSW; 转移范围与指令转移范围与指令SJMP相同。相同。 2. 条件转移指令(条件转移指令(8条)条)单片机原理与接口技术62第三章第三章 MCS-51 指令系统指令系统 2) 比较不相等转移指令(比较不相等转移指令(4条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期CJNE A,#data,rel10110100 data rel若若A#data, 则则PCPC+rel,否则,否则顺序执行;若顺序执行;若 A#data,则,则CY=1,否则否则CY=02CJNE Rn,#data,re

54、l10111rrrdata rel若若 Rn#data,则,则PCPC+rel,否,否则顺序执行;若则顺序执行;若Rn#data,则,则CY=1,否则,否则CY=02CJNE Ri,#data,rel1011011idata rel若若(Ri)#data,则,则PCPC+rel,否,否则顺序执行;若则顺序执行;若(Ri)#data,则则CY=1,否则,否则CY=02CJNE A,direct,rel10110101direct rel若若A(direct),则,则PCPC+rel,否,否则顺序执行;若则顺序执行;若A(direct),则,则CY=1,否则,否则CY=02 注意:注意: 以上指令

55、结果影响程序状态字寄存器以上指令结果影响程序状态字寄存器PSW的的CY标志。标志。 转移范围与转移范围与SJMP指令相同。指令相同。单片机原理与接口技术63第三章第三章 MCS-51 指令系统指令系统例:若内部例:若内部RAM地址为地址为10H单单元的内容等于元的内容等于55H,则使其内容则使其内容加加10,否则减,否则减10单片机原理与接口技术64第三章第三章 MCS-51 指令系统指令系统 3) 减减1非零转移指令(非零转移指令(2条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期DJNZ Rn,rel11011rrr relR n R n - 1 , 若, 若

56、 R n 0 , 则, 则PCPC+rel, 否则顺序执行否则顺序执行2DJNZ direct,rel11010101 direct rel(direct)(direct)-1,若,若(direct)0,则,则PCPC+rel,否,否则顺序执行则顺序执行2 注意注意: DJNZ指令通常用于循环程序中控制循环次数;指令通常用于循环程序中控制循环次数; 转移范围与转移范围与SJMP指令相同;指令相同; 以上指令结果不影响程序状态字寄存器以上指令结果不影响程序状态字寄存器PSW。单片机原理与接口技术65第三章第三章 MCS-51 指令系统指令系统1) 绝对调用指令(绝对调用指令(1条)条)助记符格式

57、助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期A C A L L addr11a10a9a810001addr70PC PC+2SP SP+1,(SP)PC07SP SP+1,(SP)PC815PC010 addr112 注意:注意: 该指令结果不影响程序状态字寄存器该指令结果不影响程序状态字寄存器PSW; 调用范围与调用范围与AJMP指令相同。指令相同。 3. 调用和返回指令(调用和返回指令(5条)条)单片机原理与接口技术66第三章第三章 MCS-51 指令系统指令系统 2) 长调用指令(长调用指令(1条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器

58、周期LCALL addr1600010010addr158addr70PCPC+3SP SP+1,SPPC07SP SP+1,SPPC815PC addr162 注意:注意: 该指令结果不影响程序状态字寄存器该指令结果不影响程序状态字寄存器PSW。 调用范围与调用范围与LJMP指令相同。指令相同。单片机原理与接口技术67第三章第三章 MCS-51 指令系统指令系统3) 返回指令(返回指令(2条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期RET00100010PC815 (SP), SP SP-1PC07 (SP), SP SP-1子程序返回指令子程序返回指令2

59、RETI00110010PC815 (SP), SP SP-1PC07 (SP), SP SP-1中断返回指令中断返回指令2 注意:注意:该指令结果不影响程序状态字寄存器该指令结果不影响程序状态字寄存器PSW。单片机原理与接口技术68第三章第三章 MCS-51 指令系统指令系统4) 空操作(空操作(1条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明 NOP 00000000 空操作空操作消耗消耗1个机器周期个机器周期注意:注意:该指令结果不影响程序状态字寄存器该指令结果不影响程序状态字寄存器PSW。 单片机原理与接口技术69第三章第三章 MCS-51 指令系统指令

60、系统 3.3.6 位操作类指令位操作类指令位操作指令的位操作指令的操作数是操作数是“位位”,其取值只,其取值只能是能是0 0或或1 1,故又称之为布尔操作指令。,故又称之为布尔操作指令。位操作指令的操作对象是片内位操作指令的操作对象是片内RAMRAM的的位寻位寻 址区(即址区(即20H20H2FH2FH)和特殊功能寄存器和特殊功能寄存器 SFRSFR中的中的11 11个可位寻址的寄存器个可位寻址的寄存器 (4)标号表示标号表示 K1 BIT P0.3 SETB K1 指令中的位寻址操作数有四种不同的写法指令中的位寻址操作数有四种不同的写法: :(1)直接地址写法直接地址写法, 如如 MOV C

温馨提示

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

评论

0/150

提交评论