Cấu trúc bộ VĐK 8051

Chia sẻ: Khinh Kha Kha | Ngày: | Loại File: PDF | Số trang:24

1
244
lượt xem
81
download

Cấu trúc bộ VĐK 8051

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

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 xếp, 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 XMM1 A B T XMM3 V1 220 V 6 0 Hz 0 De g 2 D2 1 T2 4 U3 L...

Chủ đề:
Lưu

Nội dung Text: Cấu trúc bộ VĐK 8051

  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 xếp, • 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 V1 2 D2 U3 T2 L M 7 8 2 4 CT 220 V 4 1 LINE VREG 6 0 Hz VOLTAGE 0 De g C1 C2 COMMON C3 NL T_ PQ _ 4 _ 1 2 3 1B4B42 1 0 u F- PO L 100nF XMM4 1 0 0 0 u F- PO L U2 L M 7 8 1 2 CT LINE VREG VOLTAGE COMMON C4 1 0 u F- PO L XMM5 U1 L M 7 8 0 5 CT LINE VREG VOLTAGE COMMON C5 1 0 u F- PO L
  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) V CC 5V X1 C3 R1 10kΩ 330pF HC-49/U_11MHz J1 C1 C2 Key = Spac e y p p 330pF p 330pF Toi chan Reset (9)
  7. Tổng Tổ quan cho người lậ t ì h h ời lập trình- Tập thanh ghi • Các thanh ghi – A, B, 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 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 đầ đủ về thanh ghi tích l ỹ đầy ề 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 thời, • Được sử dụng bởi 2 mã lệnh – mul AB div AB 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 • S khi nạp một lệnh (1 h ặ nhiều b t ) PC Sau ột lệ h hoặc hiề byte), đượ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 ( g g (bank) ( ự tế như là các ) (Thực thanh ghi 4x8) • Băng được lựa chọn bằng cách thiết lập các bit RS1:RS0 t RS1 RS0 trong thanh ghi từ t th h hi trạng thái chương h 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ế A có tổ các số 1 là số lẻ P=1 Nếu ó tổng á ố ố – 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 ì h
  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 A, [DPTR] • 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ấ tới vùng nhớ cao) và có thể chỉ là RAM ù hớ thấp ù hớ ) à ó hỉ 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 hớ – 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 t ê i i 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 g
  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 i khô 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 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 j j • 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ữ ợp g – 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
Đồng bộ tài khoản