intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

311
lượt xem
74
download
 
  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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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