Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
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. để có thêm tài liệu học tập và nghiên cứu. | Chương 2 : TẬP LỆNH 89C51 2.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 : 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 Thanh 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 80H 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. 89c51 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ố | Chương 2 : TẬP LỆNH 89C51 2.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 : 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 Thanh 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 80H 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. 89c51 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 2.2.3. Nhóm lệnh chuyển dữ liệu: ( Data Transfer ) Trong ram nội MOV , 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 MOV A, R1 - Đưa dữ liệu tức thời vào 1 thanh ghi MOV A,#15 - Chuyển nội dung nội nhớ vào 1 thanh ghi MOV A,15H - Chuyển nội dung vào thanh ghi có chức năng đặc biệt MOV P1, #50H Ở 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) MOV R0 , # 3Eh MOV A,# 0FFh MOVX @R0 , A Đ/ c 16 bit Dùng thanh ghi DPTR MOV DPTR , # 0123h MOV A,# 0FFh MOVX @DPTR, A Dù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 2.2.4. NHÓM CÁC LỆNH RẼ NHÁNH Cho phép thao tác trên từng bit. SETB SETB P1.0 CLR CLR P1.0 NOT CPL P1.0 ANL ANL C,#1 ORL ORL C,15H MOV MOV C,#0 2.2.5. NHÓM LỆNH XỬ LÝ BIT