Tải bản đầy đủ (.pdf) (12 trang)

Bài giảng kỹ thuật vi xử lý Các nhóm lệnh 8051

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (219.96 KB, 12 trang )

1
Electrical Engineering
1
Các nhóm lệnh 8051
•NhãmlÖnhchuyÓnd÷liÖu
•Nhãm lÖnh sè häc
•Nhãm lÖnh logic
•Nhãm lÖnh xö lý bit
•Nhãm lÖnh rÏ nh¸nh
Electrical Engineering
2
Nhóm lệnh chuyển dữ liệu
2
Electrical Engineering
3
Truyền dữ liệu với RAM ngoài
Electrical Engineering
4
Lệnh số học
3
Electrical Engineering
5
Lệnh xử lý lôgic
Electrical Engineering
6
Lệnh xử lý lôgic (tiếp)
4
Electrical Engineering
7
Các lệnh nhảy không điều kiện
Electrical Engineering


8
Lệnh nhảy có điều kiện
5
Electrical Engineering
9
Lệnh nhảy với cờ
Electrical Engineering
10
Lệnh làm việc với bit
6
Electrical Engineering
11
Lệnh làm việc với bit (tiếp)
Electrical Engineering
12
Lệnh làm việc với bảng dữ liệu
MOVC, nghÜa lµ move constant
7
Electrical Engineering
13
Ví dụ bảng tìm kiếm
MOV A, Index
CALL look_up

look_up: inc A
movc A, @A + PC
ret
TABLE: DB data1, data2,
Electrical Engineering
14

Lập trình có cấu trúc
•Lập trình tuần tự (sequential programming)
•Lập trình cấu trúc
•Lập trình hướng đối tượng
8
Electrical Engineering
15
Các đặc trưng lập trình cấu trúc
•Dữ liệu + giải thuật = chương trình
•Chương trình
–Chương trình con
–Có3 loại cú pháp cơ bản
•Lệnh gán
•Lệnh if then
•Lệnh do while
Electrical Engineering
16
Phát biểu While/do
• while [condition] Do
• các lệnh chương trình
•do
• các lệnh chương trình
• while ( )
9
Electrical Engineering
17
Ví dụ tính tổng
•Tính tổng dãy số
•Chiều dài của dãy số chứa trong thanh ghi
R7

• Địa chỉ bắt đầu dãy số trong thanh ghi R0
Electrical Engineering
18
Ví dụ
•[sum] = 0
• WHILE (length > 0) Do
– [sum = sum + @pointer]
– [pointer = pointer + 1]
– [length = length – 1]
•End
10
Electrical Engineering
19
Phát biểu case
case [ expression] of
0: do0
1: do1

n: don
default: do_default
End_case
Electrical Engineering
20
Ví dụ case
•Yêu cầu, chương trình thực đơn, người sự
dụng nhập vào giá trị 0, 1, 2, và chương
trình sẽ nhập giá trị tương ứng
11
Electrical Engineering
21

Ví dụ case (tiếp)
Call InChar
CJNE A, #’0’, Skip1
Act0:
JMP Exit
Skip1: CJNE A, # ’1’, Skip2
Act1:
JMP Exit

Exit:
DoN
Electrical Engineering
22
Các định nghĩa phụ
•Dấu ; dùng để chú thích
– Mov @R0, A; Lưu giá trị vào vùng đệm
•ORG
– Org 100h, điểm xuất phát chương trình
•Equ
– ESC Equ 27h, lệnh gán giá trị
12
Electrical Engineering
23
Các định nghĩa phụ
• DB (define byte)
• table:DB 0,1,2,4
• message: DB, ‘Login:’, 0
• DW (define word)
– temp: DW ‘A’, 1342H,
• DS (define storage)

– Length EQU 25H
– Buffer: DS Length
Electrical Engineering
24
Chương trình mẫu
•Chuyển đổi ký tự sang số Hex
– ASCII – Hex
•Bài tập về nhà
– Hex -> ASCII

×