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

Bài giảng Vi điều khiển: Chương 3 - Lập trình hợp ngữ

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 (282.34 KB, 10 trang )

Chöông 3 : LAÄP TRÌNH HÔÏP NGÖÕ


 Ngôn ngữ cấp cao : Sử dụng các từ
và các phát biểu dễ hiểu đối với con
người mặc dù còn khá xa mới đạt
được mức độ dễ hiểu như ngôn ngữ tự
nhiên. Ví dụ C, Pascal.
 Ngôn ngữ máy (Machine Language) : Là
một chuỗi các mã nhò phân được
phần cứng thực thi.
 Hợp ngữ (Assembly Language) : thay thế
các mã nhò phân bằng các từ gợi
nhớ để cho việc lập trình dễ dàng hơn. 
Ví dụ : thực hiện việc cộng nội dung của
thanh ghi A với nội dung của R7, kết
quả bỏ vào A
Ngôn ngữ cấp cao (C) : 2+5


KHUÔN DẠNG CHƯƠNG TRÌNH HP 
NGỮ 
­ chỉ dẫn ORG 0H
; đòa chỉ bắt đầu
­ Khởi động Stack MOV SP,#30H 
.lệnh 1
.
Chương 
trình
Gọi chương trình con
Chính .


.lệnh n
­ Chương trình con:
.
.
RET
­ Các phép gán
DBIT, DB, DW, EQU…
­ Kết thúc CT END









Trong 1 chương trình hợp ngữ chứa :
Các dòng lệnh : Là các mã gợi nhớ
của các lệnh thực thi được (MOV).
Các chỉ dẫn : là các lệnh của trình
dòch hợp ngữ dùng để đònh nghóa cấu
trúc chương trình (ORG, END).
Các điều khiển : Thiết lập chế độ
của trình dòch hợp ngữ và các luồng
hợp dòch trực tiếp. Phải được đứng
trước bởi $.
Các chú thích : đưa ra các giải thích về
mục đích và họat động của các chuỗi
lệnh. 



Cấu trúc tổng quát của 1 dòng lệnh
[Trường nhãn] [Trường mã gợi nhơ] [Trường 
toán hạng] [Trường chú thích]
- Trường nhãn : Biểu thò đòa chỉ của
lệnh theo sau
- Trường mã gợi nhớ : Là các mã gợi
nhớ của lệnh : ADD
- Trường toán hạng :Chứa đòa chỉ hoặc
dữ liệu mà lệnh sẽ sử dụng.
- Trường chú thích : Là các ghi chú làm
rõ chương trình. Phải được bắt đầu
bằng dấu ;


Các chỉ dẫn 
• Điều khiển trạng thái : ORG, END
• Đònh nghóa ký hiệu : EQU
• Dành trước vùng nhớ / khởi động
vùng nhớ DBIT, DB, DW
ORG (Set origin) 
Cú pháp : ORG Biểu thức
ORG thay đổi nội dung bộ đếm vò trí
để thiết lập một gốc mới của chương
trình cho các phát biểu theo sau 
Ví  dụ  :
ORG
100h
; bộ đếm vò trí

được thiết lập bằng100h


END : Cú pháp END
Đây là phát biểu
cuối cùng của chương trình nguồn.
EQU   (Equal) : Dùng để gán giá trò số cho
tên ký hiệu được đònh nghóa.
Hang
EQU 50 ; Hang có giá trò là 50
Message
EQU ‘chao cac ban’
DB      (Define Byte)  :  khởi động vùng nhớ
mã cùng với các giá trò của byte
nhãn : DB biểu thức 1, biểu thức 2…
SQUARE:
DB 0, 1, 4, 9, 16, 25
DW    (Define word) : Giống như DB ngọai trừ
2 byte được gán cho mỗi thành phần dữ
liệu.


CÁC KÝ HIỆU ĐẶC BIỆT
- Nhảy tại chỗ $
JNB TI, $
Nhan : JNB
TI, Nhan
- Đòa chỉ gián tiếp : @
ADD A, @R0
MOVC A, @A+ PC

- Dữ liệu tức thời :  #
MOV A, #0FFh
- Đòa chỉ dữ liệu :
MOV A, 45h
Các ký hiệu tiền đònh nghóa có thể được
sử dụng thay cho đòa chỉ các thanh ghi đặc biệt
MOV A, SBUF
; tương đương lệnh :
MOV A,
99h


- Đòa chỉ bit :
Có 3 cách để xác đònh đòa chỉ bit
+ Dùng đòa chỉ bit đã biết trước
+ Sử dụng toán tử dot (.) giữa đòa chỉ byte
và vò trí bit
+ Sử dụng ký hiệu tiền đònh nghóa
Ví dụ :
SETB 0E7h
SETB ACC.7
JNB TI, $ ; TI là ký hiệu tiền đònh nghóa;
tương đương lệnh :
JNB 99h, $


MỘT SỐ VÍ DỤ CƠ BẢN

- LẬP TRÌNH HIỂN THỊ LED
- LẬP TRÌNH ĐIỀU KHIỂN LED




×