Tập lệnh của 8051 được tối ưu để xử lí từng bít, mà trong các ứng dụng điều khiển thời gian thực rất cần. Bộ xử lí bị hỗ trợ trực tiếp tới các hoạt động liên quan tới bit. Điều này giúp cho chương trình hiệu quả hơn trong việc giải quyết các điều kiện input/output là số nhị phân vốn có trong các vấn đề điều khiển số (digital control). Định địa chỉ bít có thể được sử dụng để kiểm tra các pin cũng như dùng làm flag điều khiển khi lập trình....
Nội dung trích xuất từ tài liệu:
Chương 3: Tập lệnh của 8051Chương 3: T p l nh c a 8051. Trư ng ðH Công nghi p Tp.HCM. CHƯƠNG 3 T P L NH C A 8051I. M ð U: Khuông d ng t ng quát c a m t dòng l nh: [LABEL:] MNEMONIC [OPERAND][,OPERAND]… [;COMMENT]o Nhãn (Label): bi u th ñ a ch c a dòng l nh (ho c d li u) theo sau, ñư c dùng trong trư ng toán h ng c a l nh nh y, l nh r nhánh (SJMP AAA; ACALL BBB; CJNE A, #35H, LOOP; JNB P3.1, TEST_1…). Lưu ý v nhãn: Do ngư i l p trình t ñ t (không ñư c trùng v i t khoá, mã g i nh , ch d n, toán t ho c ký hi u ti n ñ nh nghĩa). B t ñ u b ng ký t ch , d u ch m h i (?), d u g ch dư i (_). Dài t i ña 31 ký t . K t thúc b ng d u hai ch m (:).o Mã g i nh (Mnemonic): bi u di n các mã c a l nh ho c các ch d n c a chương trình d ch h p ng (Mã g i nh : ADD, SUBB, INC, …; Ch d n: ORG, EQU, DB, …).o Toán h ng (Operand): ch a ñ a ch ho c d li u mà l nh s s d ng. S lư ng toán h ng trong m t dòng l nh ph thu c vào t ng dòng l nh (RET – không toán h ng, INC A – m t toán h ng, ADD A, R0 – hai toán h ng, CJNE A, #12H, ABC – ba toán h ng). Lưu ý v toán h ng: trong các l nh có 2 toán h ng thì toán h ng ñ u tiên còn ñư c g i là toán h ng ñích (Destination), toán h ng th hai còn ñư c g i là toán h ng ngu n (Source).o Chú thích (Comment): làm cho rõ nghĩa cho chương trình. Các chú thích ph i n m trên cùng m t dòng và b t ñ u b ng d u ch m ph y (;). Các chú thích n u n m trên nhi u dòng thì m i dòng cũng ph i b t ñ u b ng d u ch m ph y (;). Lưu ý: Chi ti t v ph n này xem thêm t i “Chương 7: L p trình h p ng ” trong sách “H vi ñi u khi n – T ng Văn On”.Giáo trình Vi x lý. 39 Biên so n: Ph m Quang TríChương 3: T p l nh c a 8051. Trư ng ðH Công nghi p Tp.HCM.II. CÁC KI U ð NH ð A CH (ADDRESSING MODE): 1. ð nh ñ a ch thanh ghi (Register Addressing): • ðư c dùng ñ truy xu t d li u trong các thanh ghi t R0 ñ n R7. • S byte c a l nh: 1 byte. • C u trúc l nh: • Ví d : ADD A, R5 ⇒ L nh c ng n i dung thanh ghi A v i n i dung thanh ghi R5. (Gi s : (A)=05H, (R5)=9AH).⇒ Mã l nh:⇒ Mô t l nh: • Ngoài ra, m t s trư ng h p ñ c bi t ki u ñ nh ñ a ch này cũng dùng ñ truy xu t d li u trong các thanh ghi như: thanh ghi ch a A, thanh ghi con tr d li u DPTR, thanh ghi b ñ m chương trình PC, c nh C và c p thanh ghi AB. • Ví d : INC A L nh tăng n i dung thanh ghi A. INC DPTR L nh tăng n i dung thanh ghi DPTR. 2. ð nh ñ a ch tr c ti p (Direct Addressing): • ðư c dùng ñ truy xu t d li u trong các ô nh (00H - FFH) hay trong các thanh ghi (A, B, P0–P3, DPH, DPL,…) c a b nh bên trong chip. • S byte c a l nh: 2 byte. • C u trúc l nh:Giáo trình Vi x lý. 40 Biên so n: Ph m Quang TríChương 3: T p l nh c a 8051. Trư ng ðH Công nghi p Tp.HCM. • Ví d : ADD A, P1 ⇔ ADD A, 90H ⇒ L nh c ng n i dung thanh ghi A v i n i dung thanh ghi port 1 hay ô nh 90H. (Gi s : (A) = 05H, (P1) = (90H) = 9AH).⇒ Mã l nh:⇒ Mô t l nh: 3. ð nh ñ a ch gián ti p (Indirect Addressing): • ðư c dùng ñ truy xu t d li u trong các ô nh “gián ti p” c a b nh bên trong chip. Các thanh ghi R0 và R1 ñư c dùng ñ ch a ñ a ch c a các ô nh gián ti p (00H - FFH) trong chip. Lưu ý r ng, trư c các thanh ghi R0, R1 c n ph i có d u “@”. • S byte c a l nh: 1 byte. • C u trúc l nh: • Ví d : ADD A, @R0 ⇒ L nh c ng n i dung thanh ghi A v i n i dung ô nh có ñ a ch ch a trong thanh ghi R0. (Gi s : (A) = 05H, (R0) = 3BH, (3BH) = 9AH).⇒ Mã l nh:⇒ Mô t l nh: 4. ð nh ñ a ch t c th i (Immediate Addressing): • ðư c dùng ñ truy xu t m t h ng s (giá tr bi t trư c) thay vì là m t bi n (giá tr không bi t trư c) như các ki u ñ nh ñ a ch trên. Lưu ý r ng, trư c d li u t c th i c n ph i có d u “#”. Ch ñ ñ nh ñ a ch t c th i có th dùng ñ n p d li u vào m i ô nh và thanh ghi b t kỳ (ñ i v i thanh ghi 8 bit: #00H - #0FFH, ñ i v i thanh ghi 16 bit: #0000H - #0FFFFH). • S byte c a l nh: 2 byte. • C u trúc l nh: • Ví d : ADD A, #9AH ⇒ L nh c ng n i dung thanh ghi A v i giá tr 9AH. (Gi s : (A) = 05H).⇒ Mã l nh:⇒ Mô t l nh:Giáo trình Vi x lý. 41 Biên so n: Ph m Quang TríChương 3: T p l nh c a 8051. Trư ng ðH Công nghi p Tp.HCM. 5. ð nh ñ a ch tương ñ i (Relative Addressing): • ðư c s d ng cho các l nh nh y. • ð a ch tương ñ i (hay offset) là m t giá tr 8 bit có d u. • T m nh y gi i h n là: ...