intTypePromotion=1

Bài giảng lý thuyết vi xử lý - Chương 3: Lập trình hợp ngữ cho 8051

Chia sẻ: Tran Van Hieu | Ngày: | Loại File: PDF | Số trang:73

0
257
lượt xem
73
download

Bài giảng lý thuyết vi xử lý - Chương 3: Lập trình hợp ngữ cho 8051

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo bài thuyết trình 'bài giảng lý thuyết vi xử lý - chương 3: lập trình hợp ngữ cho 8051', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Bài giảng lý thuyết vi xử lý - Chương 3: Lập trình hợp ngữ cho 8051

  1. Ð I H C CÔNG NGHI P TP. H CHÍ MINH KHOA CÔNG NGH ðI N T B MÔN ðI N T CÔNG NGHI P BÀI GI NG LÝ THUY T VI X LÝ Giáo viên: PH M QUANG TRÍ TP. H CHÍ MINH THÁNG 09-2009 09-
  2. Ð I H C CÔNG NGHI P TP. H CHÍ MINH KHOA CÔNG NGH ðI N T B MÔN ðI N T CÔNG NGHI P CHƯƠNG 3 L P TRÌNH H P NG CHO 8051
  3. CÁC CÁC KI U ð NH ð A CH
  4. CÁC CÁC KI U ð NH ð A CH ð 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. nh: C u trúc l nh: nh: Ví d : ADD A, R5 ⇒ L nh c ng n i dung thanh ghi A v i n i dung thanh Ví ghi R5. (Gi s : (A)=05H, (R5)=9AH). ⇒ Mã l nh: nh: ⇒ Mô t l nh: nh:
  5. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch tr c ti p (Direct Addressing) ðư ðư c dùng ñ truy xu t d li u trong các ô nh RAM n i (00H - 7FH) và 00H trong các SFR (A, B, P0, P1, P2, P3, DPH, DPL, …) hay (80H - FFH). 80H S byte c a l nh: 2 byte. nh: C u trúc l nh: nh: Ví d : ADD A, P1 ho c ADD A, 90H ⇒ L nh c ng n i dung thanh ghi A Ví 90H v i n i dung Port 1 hay ô nh 90H. (Gi s : (A) = 05H, (P1) = (90H) = 9AH). AH). ⇒ Mã l nh: nh: ⇒ Mô t l nh: nh:
  6. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch gián ti p (Indirect Addressing) ðư ðư c dùng ñ truy xu t d li u trong các ô nh RAM n i có ñ a ch thay ñ i liên t c khi chương trình ñang ch y. R0 và R1 ho t ñ ng như các y. con tr và n i dung c a chúng ch ra ñ a ch ô nh RAM c n truy xu t. t. S byte c a l nh: 1 byte. nh: C u trúc l nh: nh: Ví d : ADD A, @R0 ⇒ L nh c ng n i dung thanh ghi A v i n i dung ô Ví nh có ñ a ch ch a trong thanh ghi R0. (Gi s : (A) = 05H, (R0) = 3BH, 05H, (R0 (3BH) = 9AH). ⇒ Mã l nh: nh: ⇒ Mô t l nh: nh:
  7. CÁC CÁC KI U ð NH ð A CH ð 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. Có th trên. 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). bit: 00H bit: 0000H S byte c a l nh: 2 byte. nh: C u trúc l nh: nh: Ví d : ADD A, #9AH ⇒ L nh c ng n i dung thanh ghi A v i giá tr 9AH. AH. Ví (Gi s : (A) = 05H). 05H ⇒ Mã l nh: nh: ⇒ Mô t l nh: nh:
  8. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch tương ñ i (Relative Addressing) ðư ðư c s d ng cho các l nh nh y (r nhánh). ð a ch tương ñ i (hay offset) là m t giá tr 8 bit có d u. bit T m nh y gi i h n là: -128 byte … 127 byte t v trí c a l nh ti p theo sau l nh nh y. S byte c a l nh: 2 byte. byte C u trúc l nh:
  9. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch tương ñ i (Relative Addressing) Ví d 1: SJMP AAA ⇒ L nh nh y ñ n nhãn AAA (Gi s : nhãn AAA ñ t Ví trư c l nh ñ a ch 0107H, l nh SJMP n m trong b nh t i ñ a ch 0100H và 0101H). ⇒ Mã l nh: nh: ⇒ Mô t l nh:
  10. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch tương ñ i (Relative Addressing) Ví d 2: SJMP AAA ⇒ L nh nh y ñ n nhãn AAA (Gi s : nhãn AAA ñ t Ví trư c l nh ñ a ch 203BH, l nh SJMP n m trong b nh t i ñ a ch 2040H và 2041H). ⇒ Mã l nh: nh: ⇒ Mô t l nh:
  11. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch tuy t ñ i (Absolute Addressing) ðư ðư c s d ng cho các l nh nh y (r nhánh): ACALL và AJMP. ACALL AJMP ð a ch tuy t ñ i là m t giá tr 11 bit. 11 T m nh y gi i h n là: trong cùng trang 2KB hi n hành. trong S byte c a l nh: 2 byte. byte C u trúc l nh:
  12. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch tuy t ñ i (Absolute Addressing) Ví d : AJMP AAA ⇒ L nh nh y ñ n nhãn AAA (Gi s : nhãn AAA ñ t Ví trư c l nh ñ a ch 0F46H, l nh AJMP n m trong b nh t i ñ a ch 0900H và 0901H). ⇒ Mã l nh: nh:
  13. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch tuy t ñ i (Absolute Addressing) ⇒ Mô t l nh: nh:
  14. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch dài (Long Addressing) ðư ðư c s d ng cho các l nh nh y (r nhánh): LCALL và LJMP. LCALL LJMP ð a ch dài là m t giá tr 16 bit. 16 T m nh y gi i h n là: toàn b không gian nh 64KB. toàn S byte c a l nh: 3 byte. byte C u trúc l nh:
  15. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch dài (Long Addressing) Ví d : LJMP AAA ⇒ L nh nh y ñ n nhãn AAA (Gi s : nhãn AAA ñ t Ví trư c l nh ñ a ch A209H, l nh LJMP n m trong b nh t i ñ a ch 0100H, 0101H và 0102H). ⇒ Mã l nh: nh: ⇒ Mô t l nh: nh:
  16. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch ch s (Indexed Addressing) ðư ðư c dùng trong các ng d ng c n t o b ng nh y hay b ng tìm ki m. m. Ki u ñ nh ñ a ch này dùng m t thanh ghi n n (PC hay DPTR) k t h p v i m t offset (A) ñ t o thành d ng ñ a ch cho l nh: JMP và MOVC. nh: S byte c a l nh: 1 byte. nh: C u trúc l nh: nh: Ví d : JMP @A+DPTR ⇒ L nh nh y gián ti p (Gi s : (A) = 25H và Ví 25H (DPTR) = 1234H). 1234H (A) + (DPTR) = 25H + 1234H = 1259H ⇒ V y chương trình s nh y ñ n th c thi l nh t i ñ a ch 1259H
  17. CÁC CÁC KI U ð NH ð A CH ð nh ñ a ch thanh ghi (Register Addressing) ð nh ñ a ch tr c ti p (Direct Addressing) ð nh ñ a ch gián ti p (Indirect Addressing) ð nh ñ a ch t c th i (Immediate Addressing) ð nh ñ a ch tương ñ i (Relative Addressing) ð nh ñ a ch tuy t ñ i (Absolute Addressing) ð nh ñ a ch dài (Long Addressing) ð nh ñ a ch ch s (Indexed Addressing)
  18. T P L NH C A 8051 Gi Gi i thi u t p l nh c a 8051: 8051: T i ưu hóa cho các ng d ng ñi u khi n 8 bit. bit. Có nhi u ki u ñ nh ñ a ch ñ truy xu t d li u. Có u. H tr các ng d ng ñi u khi n 1 bit. bit. T p l nh g m 255 l nh: nh: • 139 l nh có ñ dài 1 byte. byte. • 92 l nh có ñ dài 2 byte. byte. • 24 l nh có ñ dài 3 byte. byte. T p l nh ñư c chia làm 5 nhóm: nhóm: • Nhóm l nh s h c (Arithmetic Operations). Operations). • Nhóm l nh logic (Logical Operations). Operations). • Nhóm l nh di chuy n d li u (Data Transfer). Transfer). • Nhóm l nh x lý bit (Boolean Variable Manipulation). Manipulation). • Nhóm l nh r nhánh (Program Branching). Branching).
  19. T P L NH C A 8051 M t s ký hi u dùng trong l nh : ð a ch thanh ghi s d ng (R0 – R7). Rn Rn ð a ch tr c ti p c a m t byte trong RAM n i. direct direct ð a ch gián ti p s d ng (R0 ho c R1). @Ri @Ri Toán h ng ngu n (Rn, direct ho c @Ri). source source Toán h ng ñích (Rn, direct ho c @Ri). dest dest H ng s 8 bit . #data #data H ng s 16 bit. #data16 #data16 ð a ch tr c ti p c a m t bit (ñ a ch bit). bit bit Offset 8 bit có d u. rel rel ð a ch 11 bit. addr11 addr11 ð a ch 16 bit. addr16 addr16 ðư c thay th b i … ←… N i dung c a … (…) (…) N i dung ñư c ch a b i … ((…)) ((…)) Thanh ghi c a dãy thanh ghi (R0 - R7). rrr rrr ð a ch gián ti p s d ng (R0 ho c R1). i Các bit d li u. dddddddd dddddddd Các bit ñ a ch . aaaaaaaa aaaaaaaa ð a ch tương ñ i. eeeeeeee eeeeeeee
  20. T P L NH C A 8051 NHÓM L NH S HC 1. L nh c ng (Add): (Add): ADD A,
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2