1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tài liệu môn kỹ thuật vi điều khiển 2

18 79 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 777,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thanh ghi trạng thái chương trìnhPSW... Thanh ghi trạng thái chương trìnhPSW... Con trỏ ngăn xếp SP• Ngăn xếp stack bộ xếp chồng là cấu trúc dữ liệu kiểu thùng chứa, hoạt động theo nguy

Trang 1

2 CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT (SFR)

2 CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT (SFR)

Trang 2

SƠ ĐỒ SFRs (Special function registers)

Gồm: 21 sfr (51), 27 sfr (52) Phân bố: 80H đến FFH trong RAM

Trang 3

1 Thanh ghi chính

• Là thanh ghi tính toán chính của 8051

• Sử dụng trong các phép tính số học: +, -, *, /

• Các phép logic AND, OR, XOR …

• Các phép dịch, quay byte (shift, rotate): RL, RR …

Trang 4

• Là thanh ghi tính toán phụ (B)

• Địa chỉ 0F0H

• B được dùng với thanh chứa A trong các phép toán nhân,

chia

• MUL AB ; nhân 2 số 8-bit không dấu chứa trong A

& B, KQ 16-bit chứa vào cặp thanh ghi B:A (B chứa byte cao)

• DIV AB ; chia A bởi B, thương số cất trong A, dư cất trong B

• B còn được xử lý như thanh ghi nháp

• B được định địa chỉ bit

2 Thanh ghi phụ

F7 F6 F5 F4 F3 F2 F1 F0

Trang 5

3 Thanh ghi trạng thái chương trình(PSW)

C AC F0 RS1 RS0 OV P

RS1 RS0 Register Bank Byte Address of R0-R7

0 0 0 00H-07H

0 1 1 08H-0FH

1 0 2 10H-17H

1 1 3 18H-1FH

C PSW.7

Cờ nhớ

AC PSW.6

Cờ nhớ phụ

PSW.5

User flag

RS1 PSW.4

Bit chọn dãy thanh ghi 1

RS0 PSW.3

Bit chọn dãy thanh ghi 0

OV PSW.2

Cờ tràn

PSW.1

Dự trữ - User define bit

P PSW.0

Cờ chẵn lẻ

Mô tả toàn bộ trạng thái chương trình đang hoạt động của hệ thống

Trang 6

• C (carry flag) - Cờ nhớ

• Được set bằng 1 nếu có số nhớ từ phép cộng bit 7

hay có số mượn mang đến bit 7

• MOV A,#FFH

• ADD A,#1

• Còn được dùng như 1 thanh ghi 1 bit đối với các lệnh

logic thao tác trên các bit

• ANL C,25H

• AC (auxiliary carry) – Cờ nhớ phụ

• Được set bằng 1 nếu có số nhớ từ bit 3 sang bit 4

• RS1, RS0 - Các bit chọn dãy (bank) thanh ghi

• Dùng để xác định dãy thanh ghi tích cực

• Chúng được xóa khi reset

3 Thanh ghi trạng thái chương trình(PSW)

Trang 7

• OV (overflow flag) - Cờ tràn

• Set bằng 1 sau phép toán cộng hoặc trừ nếu có xuất

hiện 1 tràn số học Khi các số có dấu được cộng hoặc trừ, phần mềm có thể kiểm tra bit tràn OV để xác định

KQ có nằm trong tầm hay không

• Với các số có dấu, KQ nhỏ hơn -128 hoặc lớn hơn

+127 sẽ set cờ OV = 1 Với các số không dấu, OV=1 khi KQ vượt quá 255

• VD:

0F thập phân 15

_

8E 142

• 8EH biễu diễn -114 không đúng với KQ mong

muốn là 142 nên OV = 1

3 Thanh ghi trạng thái chương trình(PSW)

Trang 8

• P (parity) - Cờ chẵn lẻ

• Kiểm tra chẵn lẻ cho thanh chứa A

• Số các bit 1 trong thanh chứa A cộng với bit P luôn luôn chẵn

• MOV A,#10101101B

  P=1

• Bit chẵn lẻ được sử dụng kết hợp với các chương trình xuất/nhập

nối tiếp trước khi truyền dữ liệu hoặc để kiểm tra chẵn lẻ sau khi nhận dữ liệu

Bài tập áp dụng: Kiểm tra giá trị các bit C, AC, OV và P

trong các trường hợp sau:

VD1: MOV A,#88H ADD A,#93H

VD2: MOV A,#9CH ADD A,#64H

VD3: MOV A,#38H ADD A,#2FH

VD4: MOV A,#FFH ADD A,#1

3 Thanh ghi trạng thái chương trình(PSW)

Trang 9

MOV A,#38H

ADD A,#2FH

38 00111000

+2F +00101111

67 01100111 C=0 AC=1 P=1 VD: MOV A,#88H ADD A,#93H 88H 10001000

+93H + 10010011

-

11B H 00011011

C=1 AC=0 P=0 VD: MOV A,#9CH ADD A,#64H 9C 10011100

+64 + 01100100

100 00000000 C=1 AC=1 P=0

VD:

MOV A,#0FFH ADD A,#1

A=00H; C=1; AC=1; P=0

MOV A,#0FH ADD A,#1

A=10H; C=0; AC=1; P=1;

Ví dụ

Trang 10

Những lệnh ảnh hưởng đến các bit cờ

X có thể là 1 hoặc 0

Trang 11

4 Con trỏ ngăn xếp (SP)

• Ngăn xếp (stack) (bộ xếp chồng) là cấu trúc dữ liệu kiểu

thùng chứa, hoạt động theo nguyên lý “vào sau ra trước”.

• SP (stack pointer) chứa địa chỉ của dữ liệu hiện đang ở

đỉnh của stack

• Mặc định stack bắt đầu từ địa chỉ 08H trong RAM

(SP=07H) Muốn thay đổi vùng nhớ stack ta chỉ cần thay đổi giá trị của SP (ví dụ MOV SP,#5FH).

• Việc cất dữ liệu vào stack được thực hiện thông qua lệnh

PUSH) ( làm tăng SP trước khi ghi dữ liệu ) Việc lấy dữ liệu khỏi stack được thực hiện thông qua lệnh POP ( lấy

dữ liệu ra khỏi stack trước khi giảm SP )

Địa chỉ byte 81H

Trang 12

Công dụng của stack:

•PUSH, POP: lưu và lấy dữ liệu tạm thời trong quá trình xử lý

•ACALL, LCALL, và Ngắt: cất bộ đếm chương trình PC

•RET, RETI: phục hồi bộ đếm chương trình PC

Con trỏ ngăn xếp (SP)

Trang 13

VD: MOV R6,#25H

MOV R1,#12H MOV R4,#0F3H PUSH 6

PUSH 1 PUSH 4

0BH 0AH 09H 08H Start SP=07H

25

0BH 0AH 09H 08H

SP=08H

F3 12 25

0BH 0AH 09H 08H

SP=0AH

12 25

0BH 0AH 09H 08H

SP=09H

Ví dụ:

Trang 14

5 Con trỏ dữ liệu (DPTR)

• DPTR (data pointer) được dùng để truy xuất bộ nhớ chương

trình hoặc bộ nhớ dữ liệu ngoài

• VD:

MOVC A,@A+DPTR

DPH DPL 83H

82H

Trang 15

6 Các thanh ghi I/O port: P0, P1, P2, P3

• Tất cả port đều định địa chỉ bit được (P0.0, P0.1…P0.7)

• Công dụng:

• Điều khiển thiết bị đầu ra

SETB P1.0

CLR P1.0

• Đọc tín hiệu đầu vào

WAIT: JB P1.5, WAIT

SETB P1.0

Trang 16

7 Các thanh ghi định thời

• 8051 có 2 bộ đếm/định thời 16-bit để định các khoảng thời gian hoặc đếm các sự kiện

• Mỗi bộ định thời có 2 thanh ghi: THx, TLx để lưu giá trị hiện tại

hoặc thiết lập giá trị ban đầu cho bộ định thời/ đếm

• Hoạt động của bộ định thời được thiết lập bởi:

• TMOD (Timer Mode Register)

Trang 17

8 Các thanh ghi của port nối tiếp

• 8051 có 1 port nối tiếp để truyền thông với các thiết bị nối tiếp

• SCON (Serial Port Control Register): chọn chế độ hoạt động

Trang 18

9 Các thanh ghi ngắt

• IE (interrupt enable): Thanh ghi cho phép ngắt

• IP (interrupt priority): Thanh ghi ưu tiên ngắt

Ngày đăng: 23/05/2020, 11:54

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w