Các chế độ địa chỉ, tập lệnh 89C51, nhóm các lệnh rẽ nhánh, nhóm lệnh xử lý BIT là những nội dung chính trong chương 2 Tập lệnh AT89C51 thuộc bài giảng Vi điều khiển. Mời các bạn cùng tham khảo để có thêm tài liệu học tập và nghiên cứu.
Trang 12.1. CÁC CHẾ ĐỘ ĐỊA CHỈ (Addressing Mode) : cho phép
ta xác định nguồn và đích của dữ liệu. Khi 1 lệnh được
thực thi và lện này cần dữ liệu, câu hỏi đặt ra “ dữ liệu chứa ở đâu ? “ các chế độ địa chỉ trả lời câu hỏi này. có 8 chế độ định địa chỉ như sau :
có 8 chế độ định địa chỉ như sau :
Thanh ghi (Register) Ví dụ : ADD A, R5
Trực tiếp (Direct) Ví dụ : ADD A, 25h
Gián tiếp (Indirect) Ví dụ : ADD A, @R5
Tức thời (Immediate) Ví dụ : ADD A, #25h
Tương đối (Relative) Ví dụ : SJMP nhan
Tuyệt đối (Absolute) Ví dụ : AJMP nhan
Dài (Long) Ví dụ : LJMP nhan
Chỉ số (Index)Ví dụ : MOVC A, @A + PC
Trang 5Thanh ghi R0 có địa chỉ 00H Nội dung thanh ghi R0 =12H 12H chính là địa chỉ ô nhớ Nội dung của ô nhớ này là 80
Trang 780H là opcode của mã lệnh JMP; 05H chính là giá trị offset sẽ cộng với giá trị trong bộ đếm chương trình PC để tính địa chỉ của lệnh tiếo sẽhực hiện
Trang 1189c51 là vi xử lý 8 bit Vì vậy bộ lệnh gồm có 256 lệnh Trong
thực tế chỉ có định nghĩa 255 lệnh Bộ lệnh chia thành 5 nhóm :
+ Nhóm lệnh số học
+ Nhóm lệnh logic
+ Nhóm lệnh di chuyển dữ liệu.+ Nhóm lệnh xử lý bit
+ Nhóm lệnh rẽ nhánh
2.2. TẬP LỆNH 89C51
Trang 172.2.3. Nhóm lệnh chuyển dữ liệu: ( Data
Transfer )
Tro n g ra m n o ä i
Các địa chỉ nằm trong vùng 128 byte cao chỉ được truy xuất bằng kiểu định địa chỉ gián tiếp ngọai trừ các thanh ghi chức năng đặt biệt
- Giữa 2 thanh ghi
- Chuyển nội dung vào thanh ghi có
chức năng đặc biệt
MOV P1, #50H
Trang 18Ở RAM ngoài
Dữ liệu phải được chứa trong thanh ghi A và địa chỉ phải chứa ở trong Ri (i = 0,1) hoặc DPTR
Đ/ c 8 bit Dùng thanh ghi Ri=(0 , 1)
Trang 19Dùng lệnh MOVC (Move Const) : Truy xuất một bảng có 256 điểm (0 -255) Số của điểm muốn truy xuất được để trong thanh ghi A (offset) Địa chỉ đầu bảng (nền) chứa trong
DPTR Có 2 chế độ
MOCV A, @ A + PC ; PC ( program counter) Bộ đếm chương trình
MOVC R1 , @A + DPTR ; DPTR ( data pointer) Con trỏ dữ liệu
2.2.3.3 TRA BẢNG TÌM KIẾM
Trang 20NHÁNH
Trang 23Cho phép thao tác trên từng bit. SETB SETB P1.0