Vi xử lý - Tóm tắt tập lệnh

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...

pdf8 trang | Chia sẻ: tranhong10 | Lượt xem: 1712 | Lượt tải: 0download
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:

  • pdftaplenh8051.pdf