•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
12 trang |
Chia sẻ: Mr Hưng | Lượt xem: 700 | Lượt tải: 0
Nội dung tài liệu Kĩ thuật điện tử - Các nhóm lệnh 8051, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Electrical Engineering
1
Các nhóm lệnh 8051
•Nhãm lÖnh chuyÓn d÷ 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
2Electrical Engineering
3
Truyền dữ liệu với RAM ngoài
Electrical Engineering
4
Lệnh số học
3Electrical Engineering
5
Lệnh xử lý lôgic
Electrical Engineering
6
Lệnh xử lý lôgic (tiếp)
4Electrical 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
5Electrical Engineering
9
Lệnh nhảy với cờ
Electrical Engineering
10
Lệnh làm việc với bit
6Electrical 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
7Electrical 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
8Electrical 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 (...)
9Electrical 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
Các file đính kèm theo tài liệu này:
- vxl6_4578.pdf