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ữ
lượt xem 0
download
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!
Bình luận(0) Đăng nhập để gửi bình luận!
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ữ
- 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
- 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ữ
- 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
- 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
- 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
- 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)
- 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
- 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
- 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
- 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)
- 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
- 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
- Thanh ghi từ trạng thái chương trình- PSW
- Minh hoạ về các cờ • Ví dụ về phép cộng
- 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)
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Vi điều khiển 8051
30 p | 569 | 207
-
Đề cương bài giảng: Ứng dụng lập trình C cho vi điều khiển 8051
81 p | 452 | 205
-
Bài 5: Mạch vi điều khiển
8 p | 510 | 179
-
Bài giảng Vi xử lý – Vi điều khiển
222 p | 165 | 26
-
BÀI 7.1: LẬP TRÌNH HỢP NGỮ
44 p | 134 | 18
-
Bài giảng Lập trình Assembly: Chương 7 - Nguyễn Văn Thọ
14 p | 151 | 18
-
Bài giảng Vi xử lí: Chương 3 - Hồ Trung Mỹ
50 p | 62 | 15
-
Bài giảng Vi xử lý: Chương 3.1 - Bùi Minh Thành
101 p | 119 | 11
-
Bài giảng Vi xử lý: Chương 3.7 - Bùi Minh Thành
26 p | 104 | 7
-
Bài giảng Vi xử lý: Chương 3.8 - Bùi Minh Thành
49 p | 87 | 6
-
Bài giảng Vi xử lý: Chương 3.9 - Bùi Minh Thành
48 p | 82 | 6
-
Bài giảng Vi xử lý: Chương 3.6 - Bùi Minh Thành
39 p | 79 | 6
-
Bài giảng Hệ nhúng: Chương 3 - Phạm Văn Thuận
163 p | 110 | 3
-
Xây dựng các bài tập thực hành trên Kit phát triển AT89S52 cho môn Hệ thống nhúng
6 p | 58 | 2
-
Bài giảng Hệ nhúng: Chương 3 - Đỗ Công Thuần
66 p | 15 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn