Danh mục

Lập trình cho 8051 - Nguyễn Hồng Quang

Số trang: 22      Loại file: pdf      Dung lượng: 596.95 KB      Lượt xem: 27      Lượt tải: 0    
Thu Hiền

Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tập thanh ghiCác thanh ghi chính – A, B, R0 to R7 : 8 bit registers – DPTR : [DPH:DPL] 16 bit register – PC : Program Counter (Instruction Ptr) 16bits – 4 sets of R0-R7 – Stack pointer SP – PSW Program Status Word (Flags) Carry CY, Aux Carry AC, Reg Bank selector, Overflow, Parity – Special Function Registers (SFRs) Timers, Interrupt (enable, priority), Serial port, powerElectrical Engineering 21.Hợp ngữ – nét cơ bản nhất (assembly)Intel Assembly format Operation destination source ; comment Giá trị luôn có dấu thăng đứng trước # – #55, #32 etc Số Hex thì...
Nội dung trích xuất từ tài liệu:
Lập trình cho 8051 - Nguyễn Hồng Quang Lập trình cho 8051• Tập thanh ghi - Register Set• Tập lệnh - Instruction Set• Quản lý bộ nhớ– Memory map 1 Electrical Engineering Tập thanh ghiCác thanh ghi chính – A, B, R0 to R7 : 8 bit registers – DPTR : [DPH:DPL] 16 bit register – PC : Program Counter (Instruction Ptr) 16bits – 4 sets of R0-R7 – Stack pointer SP – PSW Program Status Word (Flags) Carry CY, Aux Carry AC, Reg Bank selector, Overflow, Parity– Special Function Registers (SFRs) Timers, Interrupt (enable, priority), Serial port, power 2 Electrical Engineering 1 Hợp ngữ – nét cơ bản nhất (assembly)Intel Assembly format Operation destination source ; commentGiá trị luôn có dấu thăng đứng trước # – #55, #32 etcSố Hex thì kết thúc bằng chữ H – #55H, #32HThường khi với số bắt đầu bằng chữ #0FFH, #0C1H, #0D2H- Ví dụ lệnh cơ bản nhất : No operation : NOP ! 3 Electrical Engineering Thanh ghi ASủ dụng thường xuyên với lệnh movVí dụ về lệnh thường dùng nhất – Instruction : mov A, R0 – Mã máy (Opcode) : E8Ngoài ra trong thanh ghi có trong lệnh khác nhưu – Instruction : push ACC – Mã máy : C0 E0 4 Electrical Engineering 2 Thanh ghi A, B• ACC (Accumulator, Addresses E0h, Bit- Addressable): Dùng lưu trữ các giá trị trung gian MOV A,#20h -> MOV E0h,#20h.• B (B Register, Addresses F0h, Bit- Addressable): Sử dụng trong các phép nhân và chia. 5 Electrical Engineering Ví dụ• MUL AB, nhân 2 số 8 bít trong A, B và lưu kết quả 16, A chứa byte thấp, B chứa byte cao• DIV AB, chia A bởi B, kết quả lưu vào A, dư lưu vào B 6 Electrical Engineering 3 Tập thanh ghi R0-R7• R0, R1, … R7 dùng làm thanh ghi trung gian• Có thể có 4 banks• Chon Bank nào tùy thuộc vào phần mềm, cụ thể là sử dùng bit RS1:RS0 bits trong PSW• Ngầm định là bank 0 7 Electrical Engineering Thanh ghi DPTR (Data pointer)• Được dùng để truy xuất bộ nhớ RAM ngoài• Sử dụng 2 thanh ghi 8 bít để tạo địa chỉ 16 bit• Chỉ có lệnh tăng DPTR, không có lệnh giảm• 82 H (DPL), 83H (DPH) 8 Electrical Engineering 4 Ví dụ DPTRMOV A, #55 HMOV DPTR, # 1000HMOV @DPTR, A• Chương trình chuyển số liệu từ thanh ghi A, ra địa chỉ 1000H 9 Electrical Engineering Con trỏ chương trình (PC)• The Program Counter (PC) Con trỏ 2 byte để chỉ chương trình tiếp theo ở lệnh nào• PC = 0000h khi khởi động• PC tăng 1,2, 3 byte tùy theo lệnh cụ thể• Không thể đọc trực tiếp giá trị PC• Không thể PC=2430h nhưng có thể thực hiện lệnh tương đương LJMP 2430h 10 Electrical Engineering 5 Giới thiệu phần mềm 8051 • Bộ nhớ ngoài (External code memory) • Bộ nhớ RAM (External RAM) • Bộ nhớ trên chip (On chip memory) 11 Electrical Engineering Kết cấu bộ nhớ - Memory• Bộ nhớ chương trình – Chứa trong ROM, hoặc RAM – Giới hạn 64 Kbyte• Bộ nhớ ngoài External RAM – Static, flash RAM – Giới hạn 64 Kbyte 12 Electrical Engineering 6 Kết cấu bộ nhớ On chip 13 Electrical Engineering Ram trong• Dung lượng 128 bytes• Chia làm 3 phần – Register banks – Vùng RAM đa mục đích – Vùng RAM dùng mục đích chuyên dụng 14 Electrical Engineering 7 Register Bank• Phép cộng dữ liệu – ADD A, R4• Tương đương với – ADD A, 04H, với mặc định thanh ghi bắt đầu từ địa chỉ 00H – Việc thay đổi mặc định quyết định bởi phần mềm ...

Tài liệu được xem nhiều: