第 3 章 MCS - 51 单片机指令系统 本章要点: 指令格式、指令表示方法...

Click here to load reader

download 第 3 章 MCS - 51 单片机指令系统 本章要点: 指令格式、指令表示方法 指令种类以及寻址方式 数据传送类、算术运算类指令 控制转移类、位操作类指令

of 113

description

第 3 章 MCS - 51 单片机指令系统 本章要点: 指令格式、指令表示方法 指令种类以及寻址方式 数据传送类、算术运算类指令 控制转移类、位操作类指令. 3.1 MCS - 51 单片机指令格式和寻址方式. 3.1.1 指令系统概述 - PowerPoint PPT Presentation

Transcript of 第 3 章 MCS - 51 单片机指令系统 本章要点: 指令格式、指令表示方法...

14 Excel 2000
4 Excel 2000
4 Excel 2000
ADD A#06H06HA
00000110
10000101 01000000 0011000

4 Excel 2000

“”“”“”
LOOP MOV A#40H A

4 Excel 2000
4 Excel 2000

4 Excel 2000
MOV 20H#100H 01110101 00100000 1100100
4 Excel 2000
4 Excel 2000
4 Excel 2000
4 Excel 2000
()74 20
()90 20 01
()E5 20
3-3
SFR
RAM128

4 Excel 2000
()EA
11101010
30
2A
30
PC
A
R2(09H)
R1

RAM
RAMRAMRAM128R0R1RAM64KR0R1MCS-51RAM256(00H~FFH)R0R1RAM64K16DPTR
4 Excel 2000
()E7
3-5
4 Excel 2000
()93
: JC 12H CY=0 (PC)←(PC)+2
CY≠0(PC) ← (PC)+2+rel
()40 10
4 Excel 2000
3-7
()A2 30
4 Excel 2000
SFR
26H
RAM26H
0
0
MOV AR0


1#data#data16“#”
PSWRS1RS0000H07H
4@Ri(i=01)R0R1@

ARnRAMARnRAM

4 Excel 2000
(1)A(4)
MOV Adirect (A)←(direct)
MOV A#data (A)←data
RnRAM(direct)SFRdataA
4 Excel 2000
3 MCS-51
(R3)=20H(A)=30H(R0)=40H(50H)=1EH(40H)=5FH
MOV AR3 (A)←(R3) (A)=20H
MOV A, 50H (A)←(50H)(A)=1EH
MOV A, @R0 (A)←((R0))(A)=5FH
MOV A,#34H (A)←34H(A)=34H
4 Excel 2000
ASFR
MOV R2A (R2)←(A)(R2)=20H
MOV R350H (R3)←(50H)(R3)=1EH
MOV R1#20H(R1)←20H(R1)=20H

4 Excel 2000
ARnRAMdirect
4 Excel 2000
MOV 20H,A (20H)←(A)(20)=30H
MOV 20H,R1 (20H)←(R1)(20H)=40H
MOV 20H,@R1 (20H)←((R1)) (20H)=1EH
MOV 20H,#54H (20H)←54H (20H)=54H
4 Excel 2000
ARAMRi
MOV @R0,A ((R0))←(A) (30H)=10H
MOV @R1,20H ((R1))←(20H) (40)=50H
MOV @R0,#54H ((R0))←54H (30H)=54H
4 Excel 2000
1616DPTRDPHDPL

4 Excel 2000
4 Excel 2000
ARnRiRAM
XCH A@R0(A)=46H(20H)=2FH
4 Excel 2000
:
2FH
A
SWAP A (A.4A.7) (A.0A.3)
XCHD A@RiA4Ri44
SWAP AA4(A.4A.7)4(A.0A.3)4
(A)= 2FH:
SWAP A(A)=F2H
POP direct (direct)←((SP))(SP)←(SP)-1
SPRAM
4 Excel 2000
3-11
PUSH A ; (SP)=31H, (31H)=40H
PUSH B ; (SP)=32H, (32H)=41H
POP B ; (B)=41H, (SP)=31H
POP A ; (A)=40H, (SP)=30H
SP
SP
SP
SP
RAM
SP
MOV SP#30H
(A)=41H, (SP)=31H
(B)=40H, (SP)=30H
DPTRA16AA
MOVC A@A+DPTR ; (A)=40H
2010HAA←(2000H+10H)DPTRADPTR 64KB
4 Excel 2000
PCA16ACPUPC1PCA256BPCPC
4 Excel 2000
(A)←(2002H+1+0EH)
4 Excel 2000
3 MCS-51
3.2.3
MCS-5124 RAM A 811BCD2
PSWCYACOVP11A11POVP
4 Excel 2000
ADD A, direct (A)←(A)+(direct)
ADD A, Rn (A)←(A)+(Rn)
ADD A, @Ri (A)←(A)+((Ri))
(A)=AEH(R1)=20H(20H)=75H(PSW)=0
ADD A@R1
1010 1110
+ 0111 0101
10010 0011
(A)=23H(CY)=1(OV)=0(AC)=1(P)=1
(PSW)=C1H
ADDC ARn (A)←(A)+(Rn)+(CY)
4 Excel 2000
3 MCS-51
(A)= 9AH(R1)=20H(20H)=E3H(PSW)= 0ADDC A@R1
1001 1010 A
1110 0011 @R1
1 0111 1101
(A)=7DH(Cy)=1(OV)=1(AC)=0(P)=0
(PSW)=84H
MOV A, 31H
ADD A, 32H
MOV R1, A
MOV A, #00H
ADDC A, #00H
MOV R0, A
MOV A, R1
ADD A, 33H
MOV R1, A
MOV A, R0
ADDC A, #00H
MOV R0, A
4 Excel 2000
(A)=85H(R2)=55H(CY)=1SUBB AR2
1000 0101 A
-0101 0101 R2
(A)=2FH(CY)=0(OV)=0(AC)=1(P)=1
4 Excel 2000
4 Excel 2000
(A)=40H(B)=62HMUL AB
(B)=18H(A)=80H1880H(CY)=0(OV)=1(P)=1
4 Excel 2000
(A)=F2H(B)=10HDIV AB
(A)=0FH(B)=02H
(CY)=0(OV)=0(P)=0
4 Excel 2000
(A)=13H
INC AADD A#1INC AINC APSWADD A#1PSWCYOVACP
4 Excel 2000
DEC DPTRDEC DPL
(1)A49AC=1DA AA
ADD A#data

1001 0001
ANL directA (direct)←(A)∧(direct)
AARAM
4 Excel 2000
ANL A20H
0011 0111
∧ 0000 1111
0000 0111
ORL directA (direct)←(A)∨(direct)

4 Excel 2000
A135701RAM20H
ANL A#01010101B A13570
ORL A#01010101B A02461
MOV 20HA
4 Excel 2000
XRL directA (direct)←(A)⊕(direct)

01“0”“1”1
4 Excel 2000
XRL A#00001111
0010 0011
(A)=ACH01234567
XRL A, #00000011 ;(A)=10101111
AND A, #11110011; (A)=10100011
ORL A, #00110000; (A)=10110011
1010 1100
⊕ 0000 0011
1010 1111
1010 1111
∧ 1111 0011
1010 0011
1010 0011
∨ 0011 0000
1011 0011
( PC1511)
11PC5PC+2(AJMP)2KB
4 Excel 2000
16addr16PC16
2PC2PCrel
rel8SJMP128127

CPU
4 Excel 2000
A=?
LOOP0
LOOP1
LOOP2
LOOP3
0
1
2
3
MOV DPTR,#JABPT
JMP @A+DPTR
JITAB: LJMP LOOP0
(A)≠0
(A)=0
=+2+rel
(A)≠0()
4 Excel 2000
S1: MOV R2,#0FFH
(R2)=0FFH(R1)=0(A)=0JZ S1S1MOV R2,#0FFH
4 Excel 2000
(CY)=0
(CY)=1

4 Excel 2000
(bit)=0
(bit)=1
JBC bitrel(PC)←(PC)+3(bit)=1(bit)←0(PC)←(PC)+rel
(bit=0)
4 Excel 2000
=(CY)←0
3=+3+rel
4 Excel 2000
4 Excel 2000
LAR: … … (A)>60H
(Rn)≠0(PC)←(PC)+rel
(Rn)=0
(direct)≠0(PC)←(PC)+rel
(direct)=0
4 Excel 2000
4 Excel 2000
11addr11ACALL2KB2(PC)+2addr11PCPC5PC
4 Excel 2000
CPUPC

4 Excel 2000
(6)(1)
4 Excel 2000
RAM(8)80HF7HRAM20H2FH12800H7FH
(4)MM BIT P1.0MMMMP1.0
4 Excel 2000
MOV C05H
MOV 0FHC
4 Excel 2000
CYCY
CYCY
P1.0=1(40H)=1
MOV CP1.0
ANL C/40H
4 Excel 2000
4 Excel 2000
4 Excel 2000
MOV A00HMOV C00H00H
MOV @RiAMOVX @RiA


MOV 31H@R0
RAM