Tài liệu Vi xử lý - Tóm tắt tập lệnh: Trang 1/8
TÓM TẮT TẬP LỆNH
GHI CHÚ:
Ký hiệu Giải thích
Rn định địa chỉ thanh ghi sử dụng R0 – R7 của bank
thanh ghi được chọn
direct địa chỉ 8 bit trong RAM nội (00H - FFH)
@Ri định địa chỉ gián tiếp sử dụng thanh ghi R0 hoặc R1
#data hằng số 8 bit chứa trong lệnh
#data16 hằng số 16 bit chứa trong lệnh
bit địa chỉ trực tiếp (8 bit) của một bit
rel offset 8 bit có dấu
addr11 địa chỉ 11 bit trong trang hiện hành
addr16 địa chỉ 16 bit
source toán hạng nguồn
destination toán hạng đích
← được thay thế bởi
() nội dung của
(()) dữ liệu được trỏ bởi
i định địa chỉ gián tiếp sử dụng R0 (i=0) hay R1 (i=1)
n2n1n0 mã chọn thanh ghi R0 – R7 (000=R0, 001=R1, )
d7d6d1d0 các bit dữ liệu
a15a14a1a0 các bit địa chỉ
b7b6b1b0 địa chỉ của 1 bit
r7r6r1r0 địa chỉ tương đối 8 bit
Trang 2/8
NHÓM LỆNH SỐ HỌC
Mã lệnh
Mã gợi nhớ
d7 d6 d5 d4 d3 d2 d1 d0
Mã
Hex
Số
chu
k...
8 trang |
Chia sẻ: tranhong10 | Lượt xem: 1698 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Vi xử lý - Tóm tắt tập lệnh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Trang 1/8
TÓM TẮT TẬP LỆNH
GHI CHÚ:
Ký hiệu Giải thích
Rn định địa chỉ thanh ghi sử dụng R0 – R7 của bank
thanh ghi được chọn
direct địa chỉ 8 bit trong RAM nội (00H - FFH)
@Ri định địa chỉ gián tiếp sử dụng thanh ghi R0 hoặc R1
#data hằng số 8 bit chứa trong lệnh
#data16 hằng số 16 bit chứa trong lệnh
bit địa chỉ trực tiếp (8 bit) của một bit
rel offset 8 bit có dấu
addr11 địa chỉ 11 bit trong trang hiện hành
addr16 địa chỉ 16 bit
source toán hạng nguồn
destination toán hạng đích
← được thay thế bởi
() nội dung của
(()) dữ liệu được trỏ bởi
i định địa chỉ gián tiếp sử dụng R0 (i=0) hay R1 (i=1)
n2n1n0 mã chọn thanh ghi R0 – R7 (000=R0, 001=R1, )
d7d6d1d0 các bit dữ liệu
a15a14a1a0 các bit địa chỉ
b7b6b1b0 địa chỉ của 1 bit
r7r6r1r0 địa chỉ tương đối 8 bit
Trang 2/8
NHÓM LỆNH SỐ HỌC
Mã lệnh
Mã gợi nhớ
d7 d6 d5 d4 d3 d2 d1 d0
Mã
Hex
Số
chu
kỳ
máy
Giải thích
ADD A, Rn 0 0 1 0 1 n2 n1 n0 28-2F 1 (A) ← (A) + (Rn)
ADD A, direct 0
a7
0
a6
1
a5
0
a4
0
a3
1
a2
0
a1
1
a0
25
Byte2
1 (A) ← (A) + (direct)
ADD A, @Ri 0 0 1 0 0 1 1 i 26-27 1 (A) ← (A) + ((Ri))
ADD A, #data 0
d7
0
d6
1
d5
0
d4
0
d3
1
d2
0
d1
0
d0
24
Byte2
1 (A) ← (A) + #data
ADDC A, Rn 0 0 1 1 1 n2 n1 n0 38-3F 1 (A) ← (A) + (C) + (Rn)
ADDC A, direct 0
a7
0
a6
1
a5
1
a4
0
a3
1
a2
0
a1
1
a0
35
Byte2
1 (A) ← (A) + (C) + (direct)
ADDC A, @Ri 0 0 1 1 0 1 1 i 36-37 1 (A) ← (A) + (C) + ((Ri))
ADDC A, #data 0
d7
0
d6
1
d5
1
d4
0
d3
1
d2
0
d1
0
d0
34
Byte2
1 (A) ← (A) + (C) + #data
SUBB A, Rn 1 0 0 1 1 n2 n1 n0 98-9F 1 (A) ← (A) − (C) − (Rn)
SUBB A, direct 1
a7
0
a6
0
a5
1
a4
0
a3
1
a2
0
a1
1
a0
95
Byte2
1 (A) ← (A) − (C) − (direct)
SUBB A, @Ri 1 0 0 1 0 1 1 i 96-97 1 (A) ← (A) − (C) − ((Ri))
SUBB A, #data 1
d7
0
d6
0
d5
1
d4
0
d3
1
d2
0
d1
0
d0
94
Byte2
1 (A) ← (A) − (C) − #data
INC A 0 0 0 0 0 1 0 0 04 1 (A) ← (A) + 1
INC Rn 0 0 0 0 1 n2 n1 n0 08-0F 1 (Rn) ← (Rn) + 1
INC direct 0
a7
0
a6
0
a5
0
a4
0
a3
1
a2
0
a1
1
a0
05
Byte2
1 (direct) ← (direct) + 1
INC @Ri 0 0 0 0 0 1 1 I 06-07 1 ((Ri)) ← ((Ri)) + 1
INC DPTR 1 0 1 0 0 0 1 1 A3 2 (DPTR) ← (DPTR) + 1
DEC A 0 0 0 1 0 1 0 0 14 1 (A) ← (A) − 1
DEC Rn 0 0 0 1 1 n2 n1 n0 18-1F 1 (Rn) ← (Rn) − 1
DEC direct 0
a7
0
a6
0
a5
1
a4
0
a3
1
a2
0
a1
1
a0
15
Byte2
1 (direct) ← (direct) − 1
DEC @Ri 0 0 0 1 0 1 1 I 16-17 1 ((Ri)) ← ((Ri)) − 1
MUL AB 1 0 1 0 0 1 0 0 A4 4 (A) ← byte thấp của (A) x (B)
(B) ← byte cao của (A) x (B)
DIV AB 1 0 0 0 0 1 0 0 84 4 (A) ← phần nguyên của (A)/(B)
(B) ← phần dư của (A)/(B)
DA A 1 1 0 1 0 1 0 0 D4 1 Nội dung thanh ghi A là số
BCD
Nếu [(A3 - 0) > 9] OR [(AC) = 1]
thì (A3 - 0) ← (A3 - 0) + 6
Nếu [(A7 - 4) > 9] OR [(C) = 1]
thì (A7 - 4) ← (A7 - 0) + 6
NHÓM LỆNH LOGIC
Mã lệnh
Mã gợi nhớ
d7 d6 d5 d4 d3 d2 d1 d0
Mã
Hex
Số
chu
kỳ
máy
Giải thích
ANL A, Rn 0 1 0 1 1 n2 n1 n0 58-5F 1 (A) ← (A) AND (Rn)
Trang 3/8
ANL A, direct 0
a7
1
a6
0
a5
1
a4
0
a3
1
a2
0
a1
1
a0
55
Byte2
1 (A) ← (A) AND (direct)
ANL A, @Ri 0 1 0 1 0 1 1 i 56-57 1 (A) ← (A) AND ((Ri))
ANL A, #data 0
d7
1
d6
0
d5
1
d4
0
d3
1
d2
0
d1
0d
0
54
Byte2
1 (A) ← (A) AND #data
ANL direct, A 0
a7
1
a6
0
a5
1
a4
0
a3
0
a2
1
a1
0
a0
52
Byte2
1 (direct) ← (direct) AND (A)
ANL direct, #data 0
a7
d7
1
a6
d6
0
a5
d5
1
a4
d4
0
a3
d3
0
a2
d2
1
a1
d1
1
a0
d0
53
Byte2
Byte3
2 (direct) ← (direct) AND #data
ORL A, Rn 0 1 0 0 1 n2 n1 n0 48-4F 1 (A) ← (A) OR (Rn)
ORL A, direct 0
a7
1
a6
0
a5
0
a4
0
a3
1
a2
0
a1
1
a0
45
Byte2
1 (A) ← (A) OR (direct)
ORL A, @Ri 0 1 0 0 0 1 1 i 46-47 1 (A) ← (A) OR ((Ri))
ORL A, #data 0
d7
1
d6
0
d5
0
d4
0
d3
1
d2
0
d1
0d
0
44
Byte2
1 (A) ← (A) OR #data
ORL direct, A 0
a7
1
a6
0
a5
0
a4
0
a3
0
a2
1
a1
0
a0
42
Byte2
1 (direct) ← (direct) OR (A)
ORL direct, #data 0
a7
d7
1
a6
d6
0
a5
d5
0
a4
d4
0
a3
d3
0
a2
d2
1
a1
d1
1
a0
d0
43
Byte2
Byte3
2 (direct) ← (direct) OR #data
XRL A, Rn 0 1 1 0 1 n2 n1 n0 68-6F 1 (A) ← (A) XOR (Rn)
XRL A, direct 0
a7
1
a6
1
a5
0
a4
0
a3
1
a2
0
a1
1
a0
65
Byte2
1 (A) ← (A) XOR (direct)
XRL A, @Ri 0 1 1 0 0 1 1 i 66-67 1 (A) ← (A) XOR ((Ri))
XRL A, #data 0
d7
1
d6
1
d5
0
d4
0
d3
1
d2
0
d1
0d
0
64
Byte2
1 (A) ← (A) XOR #data
XRL direct, A 0
a7
1
a6
1
a5
0
a4
0
a3
0
a2
1
a1
0
a0
62
Byte2
1 (direct) ← (direct) XOR (A)
XRL direct, #data 0
a7
d7
1
a6
d6
1
a5
d5
0
a4
d4
0
a3
d3
0
a2
d2
1
a1
d1
1
a0
d0
63
Byte2
Byte3
2 (direct) ← (direct) XOR #data
CLR A 1 1 1 0 0 1 0 0 E4 1 (A) ← 0
CPL A 1 1 1 1 0 1 0 0 F4 1 (A) ← (A )
RL A 0 0 1 0 0 0 1 1 23 1 Nội dung của thanh ghi A được
quay trái một bit.
RLC A 0 0 1 1 0 0 1 1 33 1 Nội dung của thanh ghi A và cờ
C được quay trái một bit .
RR A 0 0 0 0 0 0 1 1 03 1 Nội dung của thanh ghi A được
quay phải một bit.
RRC A 0 0 0 1 0 0 1 1 13 1 Nội dung của thanh ghi A và cờ
C được quay phải một bit .
SWAP A 1 1 0 0 0 1 0 0 C4 1 (A3 - 0) ↔ (A7 - 4)
A7 A6 A5 A4 A3 A2 A1 A0
C A7 A6 A5 A4 A3 A2 A1 A0
A7 A6 A5 A4 A3 A2 A1 A0
C A7 A6 A5 A4 A3 A2 A1 A0
Trang 4/8
NHÓM LỆNH CHUYỂN DỮ LIỆU
Mã lệnh
Mã gợi nhớ
d7 d6 d5 d4 d3 d2 d1 d0
Mã
Hex
Số
chu
kỳ
máy
Giải thích
MOV A, Rn 1 1 1 0 1 n2 n1 n0 E8-EF 1 (A) ← (Rn)
MOV A, direct 1
a7
1
a6
1
a5
0
a4
0
a3
1
a2
0
a1
1
a0
E5
Byte2
1 (A) ← (direct)
MOV A, @Ri 1 1 1 0 0 1 1 i E6-E7 1 (A) ← ((Ri))
MOV A, #data 0
d7
1
d6
1
d5
1
d4
0
d3
1
d2
0
d1
0
d0
74
Byte2
1 (A) ← #data
MOV Rn, A 1 1 1 1 1 n2 n1 n0 F8-FF 1 (Rn) ← (A)
MOV Rn, direct 1
a7
0
a6
1
a5
0
a4
1
a3
n2
a2
n1
a1
n0
a0
A8-AF
Byte2
2 (Rn) ← (direct)
MOV Rn, #data 0
d7
1
d6
1
d5
1
d4
1
d3
n2
d2
n1
d1
n0
d0
78-7F
Byte2
1 (Rn) ← #data
MOV direct, A 1
a7
1
a6
1
a5
1
a4
0
a3
1
a2
0
a1
1
a0
F5
Byte2
1 (direct) ← (A)
MOV direct, Rn 1
a7
0
a6
0
a5
0
a4
1
a3
n2
a2
n1
a1
n0
a0
88-8F
Byte2
2 (direct) ← (Rn)
MOV direct, direct 1
a7
a7
0
a6
a6
0
a5
a5
0
a4
a4
0
a3
a3
1
a2
a2
0
a1
a1
1
a0
a0
85
Byte2
Byte3
2 (direct) ← (direct)
(source)
(destination)
MOV direct, @Ri 1
a7
0
a6
0
a5
0
a4
0
a3
1
a2
1
a1
i
a0
86-87
Byte2
2 (direct) ← ((Ri))
MOV direct, #data 0
a7
d7
1
a6
d6
1
a5
d5
1
a4
d4
0
a3
d3
1
a2
d2
0
a1
d1
1
a0
d0
75
Byte2
Byte3
2 (direct) ← #data
MOV @Ri, A 1 1 1 1 0 1 1 i F6-F7 1 ((Ri)) ← (A)
MOV @Ri, direct 1
a7
0
a6
1
a5
0
a4
0
a3
1
a2
1
a1
i
a0
A6-A7
Byte2
2 ((Ri)) ← (direct)
MOV @Ri, #data 0
d7
1
d6
1
d5
1
d4
0
d3
1
d2
1
d1
i
d0
76-77
Byte2
1 ((Ri)) ← #data
MOV DPTR, #data16 1
d7
d7
0
d6
d6
0
d5
d5
1
d4
d4
0
d3
d3
0
d2
d2
0
d1
d1
0
d0
d0
90
Byte2
Byte3
2 (DPTR) ← #data15 – 0
(DPH) ← #data15 – 8
(DPL) ← #data7 – 0
XCH A, Rn 1 1 0 0 1 n2 n1 n0 C8-CF 1 (A) ↔ (Rn)
XCH A, direct 1
a7
1
a6
0
a5
0
a4
0
a3
1
a2
0
a1
1
a0
C5
Byte2
1 (A) ↔ (direct)
XCH A, @Ri 1 1 0 0 0 1 1 i C6-C7 1 (A) ↔ ((Ri))
XCHD A, @Ri 1 1 0 1 0 1 1 i D6-D7 1 (A3 – 0 ) ↔ ((Ri3 – 0 ))
PUSH direct 1
a7
1
a6
0
a5
0
a4
0
a3
0
a2
0
a1
0
a0
C0
Byte2
2 (SP) ← (SP) + 1
((SP)) ← (direct)
POP direct 1
a7
1
a6
0
a5
1
a4
0
a3
0
a2
0
a1
0
a0
D0
Byte2
2 (direct) ← ((SP))
(SP) ← (SP) – 1
MOVX A,@Ri 1 1 1 0 0 0 1 i E2-E3 2 (A) ← ((Ri)) RAM ngoài
MOVX A,@DPTR 1 1 1 0 0 0 0 0 E0 2 (A) ← ((DPTR)) RAM ngoài
MOVX @Ri, A 1 1 1 1 0 0 1 i F2-F3 2 ((Ri)) ← (A) RAM ngoài
MOVX @DPTR, A 1 1 1 1 0 0 0 0 F0 2 ((DPTR)) ← (A) RAM ngoài
MOVC A,@A+DPTR 1 0 0 1 0 0 1 1 93 2 (A) ← ((A)+(DPTR))
MOVC A,@A+PC 1 0 0 0 0 0 1 1 83 2 (A) ← ((A)+(PC))
Trang 5/8
NHÓM LỆNH CHUYỂN ĐIỀU KHIỂN
Mã lệnh
Mã gợi nhớ
d7 d6 d5 d4 d3 d2 d1 d0
Mã
Hex
Số
chu
kỳ
máy
Giải thích
ACALL addr11
a10
a7
a9
a6
a8
a5
1
a4
0
a3
0
a2
0
a1
1
a0
Byte1
Byte2
2 (PC) ← (PC) + 2
(SP) ← (SP) +1
((SP)) ← (PC7 - 0)
(SP) ← (SP) +1
((SP)) ← (PC15 - 8)
(PC) ← địa chỉ trang
LCALL addr16
0
a15
a7
0
a14
a6
0
a13
a5
1
a12
a4
0
a11
a3
0
a10
a2
1
a9
a1
0
a8
a0
12
Byte2
Byte3
2 (PC) ← (PC) + 3
(SP) ← (SP) +1
((SP)) ← (PC7 - 0)
(SP) ← (SP) +1
((SP)) ← (PC15 - 8)
(PC) ← addr15 - 0
RET 0 0 1 0 0 0 1 0 22 2 (PC15 - 8) ← ((SP))
(SP) ← (SP) − 1
(PC7 - 0) ← ((SP))
(SP) ← (SP) − 1
RETI 0 0 1 1 0 0 1 0 32 2 (PC15 - 8) ← ((SP))
(SP) ← (SP) − 1
(PC7 - 0) ← ((SP))
(SP) ← (SP) − 1
AJMP addr11 a10
a7
a9
a6
a8
a5
0
a4
0
a3
0
a2
0
a1
1
a0
Byte1
Byte2
2 (PC) ← (PC) + 2
(PC10 - 0) ← địa chỉ trang
LJMP addr16
0
a15
a7
0
a14
a6
0
a13
a5
0
a12
a4
0
a11
a3
0
a10
a2
1
a9
a1
0
a8
a0
02
Byte2
Byte3
2 (PC) ← addr15 - 0
SJMP rel 1
r7
0
r6
0
r5
0
r4
0
r3
0
r2
0
r1
0
r0
80
Byte2
2 (PC) ← (PC) + 2
(PC) ← (PC) + rel
JMP @A+DPTR 0 1 1 1 0 0 1 1 73 2 (PC) ← (A) + (DPTR)
JZ rel 0
r7
1
r6
1
r5
0
r4
0
r3
0
r2
0
r1
0
r0
60
Byte2
2 (PC) ← (PC) + 2
Nếu (A) = 0
thì (PC) ← (PC) + rel
JNZ rel 0
r7
1
r6
1
r5
1
r4
0
r3
0
r2
0
r1
0
r0
70
Byte2
2 (PC) ← (PC) + 2
Nếu (A) ≠ 0
thì (PC) ← (PC) + rel
JC rel 0
r7
1
r6
0
r5
0
r4
0
r3
0
r2
0
r1
0
r0
40
Byte2
2 (PC) ← (PC) + 2
Nếu (C) = 1
thì (PC) ← (PC) + rel
JNC rel 0
r7
1
r6
0
r5
1
r4
0
r3
0
r2
0
r1
0
r0
50
Byte2
2 (PC) ← (PC) + 2
Nếu (C) = 0
thì (PC) ← (PC) + rel
JB bit, rel 0
b7
r7
0
b6
r6
1
b5
r5
0
b4
r4
0
b3
r3
0
b2
r2
0
b1
r1
0
b0
r0
20
Byte2
Byte3
2 (PC) ← (PC) + 3
Nếu (bit) = 1
thì (PC) ← (PC) + rel
JNB bit, rel 0
b7
r7
0
b6
r6
1
b5
r5
1
b4
r4
0
b3
r3
0
b2
r2
0
b1
r1
0
b0
r0
30
Byte2
Byte3
2 (PC) ← (PC) + 3
Nếu (bit) = 0
thì (PC) ← (PC) + rel
Trang 6/8
JBC bit, rel 0
b7
r7
0
b6
r6
0
b5
r5
1
b4
r4
0
b3
r3
0
b2
r2
0
b1
r1
0
b0
r0
10
Byte2
Byte3
2 (PC) ← (PC) + 3
Nếu (bit) = 1
thì (bit) ← 0, (PC) ← (PC) + rel
CJNE A, direct,
rel
1
a7
r7
0
a6
r6
1
a5
r5
1
a4
r4
0
a3
r3
1
a2
r2
0
a1
r1
1
a0
r0
B5
Byte2
Byte3
2 (PC) ← (PC) + 3
Nếu (A) > (direct) thì (PC) ←
(PC) + rel và (C) ← 0
OR
Nếu (A) < (direct) thì (PC) ←
(PC) + rel và (C) ← 1
CJNE A, #data,
rel
1
d7
r7
0
d6
r6
1
d5
r5
1
d4
r4
0
d3
r3
1
d2
r2
0
d1
r1
0
d0
r0
B4
Byte2
Byte3
2 (PC) ← (PC) + 3
Nếu (A) > #data thì (PC) ←
(PC) + rel và (C) ← 0
OR
Nếu (A) < #data thì (PC) ←
(PC) + rel và (C) ← 1
CJNE Rn, #data,
rel
1
d7
r7
0
d6
r6
1
d5
r5
1
d4
r4
1
d3
r3
n2
d2
r2
n1
d1
r1
n0
d0
r0
B8-BF
Byte2
Byte3
2 (PC) ← (PC) + 3
Nếu (Rn) > #data thì (PC) ←
(PC) + rel và (C) ← 0
OR
Nếu (Rn) < #data thì (PC) ←
(PC) + rel và (C) ← 1
CJNE @Ri,
#data, rel
1
d7
r7
0
d6
r6
1
d5
r5
1
d4
r4
0
d3
r3
1
d2
r2
1
d1
r1
i
d0
r0
B6-B7
Byte2
Byte3
2 (PC) ← (PC) + 3
Nếu ((Ri)) > #data thì (PC) ←
(PC) + rel và (C) ← 0
OR
Nếu ((Ri)) < #data thì (PC) ←
(PC) + rel và (C) ← 1
DJNZ Rn, rel 1
r7
1
r6
0
r5
1
r4
1
r3
n2
r2
n1
r1
n0
r0
D8-DF
Byte2
2 (PC) ← (PC) + 2
(Rn) ← (Rn) − 1
Nếu (Rn) ≠ 0
thì (PC) ← (PC) + rel
DJNZ direct, rel 1
a7
r7
1
a6
r6
0
a5
r5
1
a4
r4
0
a3
r3
1
a2
r2
0
a1
r1
1
a0
r0
D5
Byte2
Byte3
2 (PC) ← (PC) + 3
(direct) ← (direct) − 1
Nếu (direct) ≠ 0
thì (PC) ← (PC) + rel
NOP 0 0 0 0 0 0 0 0 00 1 (PC) ← (PC) + 1
NHÓM LỆNH XỬ LÝ BIT
Mã lệnh
Mã gợi nhớ
d7 d6 d5 d4 d3 d2 d1 d0
Mã
Hex
Số
chu
kỳ
máy
Giải thích
CLR C 1 1 0 0 0 0 1 1 C3 1 (C) ← 0
CLR bit 1
b7
1
b6
0
b5
0
b4
0
b3
0
b2
1
b1
0
b0
C2
Byte2
1 (bit) ← 0
SETB C 1 1 0 1 0 0 1 1 D3 1 (C) ← 1
SETB bit 1
b7
1
b6
0
b5
1
b4
0
b3
0
b2
1
b1
0
b0
D2
Byte2
1 (bit) ← 1
CPL C 1 0 1 1 0 0 1 1 B3 1 (C) ← (C )
CPL bit 1
b7
0
b6
1
b5
1
b4
0
b3
0
b2
1
b1
0
b0
B2
Byte2
1 (bit) ← ( bit )
Trang 7/8
ANL C, bit 1
b7
0
b6
0
b5
0
b4
0
b3
0
b2
1
b1
0
b0
82
Byte2
2 (C) ← (C) AND (bit)
ANL C, /bit 1
b7
0
b6
1
b5
1
b4
0
b3
0
b2
0
b1
0
b0
B0
Byte2
2 (C) ← (C) AND ( bit )
ORL C, bit 0
b7
1
b6
1
b5
1
b4
0
b3
0
b2
1
b1
0
b0
72
Byte2
2 (C) ← (C) OR (bit)
ORL C, /bit 1
b7
0
b6
1
b5
0
b4
0
b3
0
b2
0
b1
0
b0
A0
Byte2
2 (C) ← (C) OR (bit )
MOV C, bit 1
b7
0
b6
1
b5
0
b4
0
b3
0
b2
1
b1
0
b0
A2
Byte2
1 (C) ← (bit)
MOV bit, C 1
b7
0
b6
0
b5
1
b4
0
b3
0
b2
1
b1
0
b0
92
Byte2
2 (bit) ← (C)
TÓM TẮT MỘT SỐ THANH GHI CHỨC NĂNG ĐẶC BIỆT
Thanh ghi chế độ định thời TMOD (không được định địa chỉ bit)
MSB LSB
Gate T/C M1 M0 Gate T/C M1 M0
Timer 1
Timer 0
Thanh ghi điều khiển định thời TCON (được định địa chỉ bit)
MSB LSB
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Timer
Interrupt
Thanh ghi điều khiển port nối tiếp SCON (được định địa chỉ bit)
MSB LSB
SM0 SM1 SM2 REN TB8 RB8 TI RI
Thanh ghi cho phép ngắt IE (được định địa chỉ bit)
MSB LSB
EA - (ET2) ES ET1 EX1 ET0 EX0
Thanh ghi ưu tiên ngắt IP (được định địa chỉ bit)
MSB LSB
- - (PT2) PS PT1 PX1 PT0 PX0
Thanh ghi trạng thái chương trình PSW (được định địa chỉ bit)
MSB LSB
CY AC F0 RS1 RS0 OV - P
Thanh ghi điều khiển nguồn PCON (không được định địa chỉ bit)
MSB LSB
SMOD - - - GF1 GF0 PD IDL
Trang 8/8
TÓM TẮT CÁC LỆNH TÁC ĐỘNG LÊN CỜ
Cờ Lệnh
CY OV AC
Ghi chú
ADD x x x
ADDC x x x
SUBB x x x
MUL AB 0 x - (OV) = 1 nếu kết quả > 0FFH,
ngược lại (OV) = 0
DIV AB 0 x - (OV) = 1 nếu ban đầu (B) = 0,
ngược lại (OV) = 0
DA A x - -
RLC x - -
RRC x - -
CJNE x - -
SETB C 1 - -
CLR C 0 - -
CPL C x - -
ANL C, bit x - -
ANL C, /bit x - -
ORL C, bit x - -
ORL C, /bit x - -
MOV C, bit x - -
x : tùy thuộc vào kết quả.
- : không bị tác động bởi lệnh.
BẢNG CÁC VECTOR NGẮT
Nguyên nhân ngắt Cờ Địa chỉ vector ngắt
Reset hệ thống RST 0000H
Ngắt ngoài 0 IE0 0003H
Ngắt timer 0 TF0 000BH
Ngắt ngoài 1 IE1 0013H
Ngắt timer 1 TF1 001BH
Ngắt port nối tiếp RI hoặc TI 0023H
BẢNG CÁC TỐC ĐỘ BAUD
Tốc độ baud Tần số
thạch anh
SMOD Giá trị nạp
cho TH1
Tốc độ baud
thực tế
Sai số
9600 12,000MHz 1 -7 (F9H) 8923 7%
2400 12,000MHz 0 -13 (F3H) 2404 0,16%
1200 12,000MHz 0 -26 (E6H) 1202 0,16%
19200 11,059MHz 0 -3 (FDH) 19200 0
9600 11,059MHz 0 -3 (FDH) 9600 0
2400 11,059MHz 0 -12 (F4H) 2400 0
1200 11,059MHz 0 -24 (E8H) 1200 0
Các file đính kèm theo tài liệu này:
- taplenh8051.pdf