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

Bài giảng Vi điều khiển 8051 - Bài 2: Cấu trúc bộ vi điều khiển 8051 - Giới thiệu về lập trình hợp ngữ

Chia sẻ: _ _ | Ngày: | Loại File: PPT | Số trang:24

1
lượt xem
0
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Vi điều khiển 8051 - Bài 2: Cấu trúc bộ vi điều khiển 8051 - Giới thiệu về lập trình hợp ngữ gồm có những nội dung chính sau: Cấu trúc bên trong 8051; tập thanh ghi; tập lệnh; bản đồ bộ nhớ; giới thiệu về ngăn xếp, SFR; lập trình hợp ngữ. Mời các bạn cùng tham khảo để biết thêm nội dung chi tiết!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Vi điều khiển 8051 - Bài 2: Cấu trúc bộ vi điều khiển 8051 - Giới thiệu về lập trình hợp ngữ

  1. Cấu trúc bộ VĐK 8051 Giới thiệu về lập trình hợp ngữ Bài 2 Bộ môn TĐ Khoa KTĐK
  2. Bài 2: Mục đích • Cấu trúc bên trong 8051 • Tập thanh ghi • Tập lệnh • Bản đồ bộ nhớ • Giới thiệu về ngăn xếp, SFR • Lập trình hợp ngữ
  3. Cấu trúc 8051 • Tổng quan cho người lập trình – Tập thanh ghi – Tập lệnh – Bản đồ bộ nhớ • Tổng quan cho người thiết kế phần cứng – Sơ đồ chân – Các thông số về thời gian – Các yêu cầu về dòng điện và điện áp
  4. Tổng quan cho người thiết kế phần cứng  Tạo nguồn điện áp 5V từ nguồn 220V 50Hz XSC1 G XMM2 T XMM1 A B XMM3 2 D2 V1 U3 T2 LM7824CT 220 V 4 1 LINE VREG 60 Hz VOLTAGE 0Deg C1 C2 COMMON C3 NLT_PQ_4_12 3 1B4B42 10uF-POL 100nF XMM4 1000uF-POL U2 LM7812CT LINE VREG VOLTAGE COMMON C4 10uF-POL XMM5 U1 LM7805CT LINE VREG VOLTAGE COMMON C5 10uF-POL
  5. Tổng quan cho người thiết kế phần cứng Tạo nguồn điện áp 5V từ nguồn 12V XMM1 U1 LM7805CT LINE VREG VOLTAGE V1 COMMON 12 V C1 C2 C3 C4 100pF 1000uF-POL 10uF-POL 100pF R1 4.70K LED1
  6. Tổng quan cho người thiết kế phần cứng Mạch tạo dao động và Reset cho 8051 18(XTAL1) 19(XTAL2) 20(GND) VCC 5V X1 C3 R1 10k 330pF HC-49/U_11MHz J1 C1 C2 Key = Space 330pF 330pF Toi chan Reset (9)
  7. Tổng quan cho người lập trình- Tập thanh ghi • Các thanh ghi – A, B, từ R0 đến R7: là các thanh ghi 8 bit – DPTR: [DPH:DPL] thanh ghi 16 bit – PC: Bộ đếm chương trình (16 bit) – 4 bộ thanh ghi từ R0 đến R7 – Con trỏ ngăn xếp SP – PSW: thanh ghi từ trạng thái chương trình – SFR: Thanh ghi chức năng đặc biệt • Điều khiển các thiết bị ngoại vi trên board
  8. Tập thanh ghi-Thanh ghi tích luỹ A, ACC • Được sử dụng phổ biến cho lệnh mov và phép tính số học • ACC có địa chỉ SFR là 0E0H • Ví dụ có chỉ dẫn đầy đủ – Lệnh: mov A, R0 ;copy nội dung của R0 vào A – Mã lệnh: E8 – Thanh ghi tích luỹ được giải mã hoàn toàn trong mã lệnh • Chỉ dẫn đầy đủ về thanh ghi tích luỹ – Lệnh: Push ACC – Mã lệnh C0 E0
  9. Tập thanh ghi-Thanh ghi B • Thường được sử dụng như là thanh ghi tạm thời, giống như thanh ghi thứ 9 • Được sử dụng bởi 2 mã lệnh – mul AB, div AB • Thanh ghi giữ toán hạng thứ 2 và sẽ giữ một phần của kết quả – 8 bit cao của kết quả phép tính nhân – Số dư trong phép tính chia
  10. Các thanh ghi - PC • PC là bộ đếm chương trình • Được xem như con trỏ lệnh trong các bộ VXL khác • PC luôn trỏ tới lệnh kế tiếp của chương trình • Sau khi nạp một lệnh (1 hoặc nhiều byte), PC được tự động tăng để trỏ tới lệnh kế tiếp • Không thể thao tác trực tiếp tới PC (ngoại trừ câu lệnh JMP) • Không thể đọc trực tiếp nội dung của PC (trừ một số thủ thuật)
  11. Tập thanh ghi – R0 tới R7 • Một bộ 8 thanh ghi R0, R1, … R7, mỗi thanh ghi 8 bit • Phần lớn được sử dụng như các thanh ghi tạm • Có sẵn trong 4 băng (bank) (Thực tế như là các thanh ghi 4x8) • Băng được lựa chọn bằng cách thiết lập các bit RS1:RS0 trong thanh ghi từ trạng thái chương trình PSW. • Băng mặc định (lúc bật nguồn) là bank 0
  12. Các thanh ghi - PSW • Từ trạng thái chương trình là thanh ghi 8 bit có thể địa chỉ hoá theo bit, thanh ghi này có các cờ: • CY- cờ nhớ – Thiết lập khi có nhớ ở trong phép tính số học • AC - Cờ nhớ phụ – Có nhớ từ D3 sang D4. Sử dụng cho các phép toán với số BCD • P - Cờ chẵn lẻ – P=1 Nếu A có tổng các số 1 là số lẻ – P=0 Nếu A có tổng các số 1 là số chẵn • OV - cờ tràn – Thiết lập nếu bất cứ một phép tính số học nào gây tràn
  13. Thanh ghi từ trạng thái chương trình- PSW
  14. Minh hoạ về các cờ • Ví dụ về phép cộng
  15. Các thanh ghi - DPTR • Thanh ghi 16 bit, được gọi là con trỏ dữ liệu • Được sử dụng bởi các lệnh truy cập bộ nhớ ngoài • Cũng được sử dụng để lưu các giá trị 16 bit mov DPTR, #data16; Đặt DPTR với địa chỉ ngoài 16 bit movx A, @DPTR ; copy mem[DPTR] tới A • DPTR được sử dụng cho các thao tác với chuỗi, LUT (look up table)
  16. Các thanh ghi - SP • SP là con trỏ ngăn xếp • SP trỏ tới vị trí cuối cùng đã sử dụng của ngăn xếp – Thao tác nạp trước tiên sẽ tăng SP và sau đó copy dữ liệu – Thao tác lấy trước tiên sẽ copy dữ liệu sau đó giảm SP • Ở 8051, ngăn xếp được phát triển theo chiều tăng (từ vùng nhớ thấp tới vùng nhớ cao) và có thể chỉ là RAM trong • Khi bật nguồn, SP có vị trí 07H • Các băng thanh ghi 2,3,4 (08H tới 1FH) là vùng ngăn xếp mặc định • Ngăn xếp có thể định vị trí lại bằng cách đặt SP tới vùng bộ nhớ cao từ 30H tới 7Fh – Mov SP, #32H
  17. Các thanh ghi - SFR • Điều khiển hoạt động của các thiết bị ngoại vi trên board • Các thanh ghi chức năng đặc bịêt ở địa chỉ trực tiếp từ 80H tới FFH • Các bản sao của 8051 có thể có các SFR bổ sung
  18. Bản đồ bộ nhớ của 8051 • ROM bên trong phụ thuộc vào nhà cung cấp • Khi bật nguồn PC bắt đầu từ địa chỉ 0000H trong không gian ROM
  19. Tập lệnh của 8051 • Chuyển dữ liệu – Chuyển/copy dữ liệu tà vị trí này tới vị trí khác – mov, movc, movx, push, pop… • Lệnh lôgic – Thực hiện các phép tính lôgic trên dữ liệu – anl, orl, xrl, clr, cpl, rl, rlc, rr, rrc, swap • Lệnh số học – Thực hiện các phép tính số học trên dữ liệu – add, addc, subb, inc, dec, mul, div • Điều khiển chương trình – Điều khiển luồng chương trình – jmp, ajmp, ljmp, sjmp, jc, jnc, jb, jnb, jbc, jz, jnz, acall, lcall, – cjne, djnz, ret, reti • NOP
  20. Giới thiệu hợp ngữ của 8051 • Cấu trúc lệnh hợp ngữ [Nhãn:] Mã lệnh [toán hạng] [;giải thích] • Ví dụ start: mov A, #D0H; mã bắt đầu từ đây • Chỉ dẫn hợp ngữ – ORG xxxxH : origin, bắt đầu hợp dich từ địa chỉ xxxxH – EQU : địng nghĩa hằng số • Count EQU 25 – DB : chỉ dẫn định nghĩa dữ liệu 8 bit • DATA1: DB 28 • DATA2: DB “hello word” – END : báo cho trình hợp dich biết kết thúc tệp nguồn
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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