Vi điều khiển (microcontroller) là bộ não thu nhỏ điều khiển rất nhiều thiết bị trong cuộc sống hiện đại. Để “giao tiếp” và “điều khiển” phần cứng, vi điều khiển sử dụng tập lệnh – một tập hợp các câu lệnh được lập trình để thực hiện các tác vụ cụ thể. Vậy tập lệnh trong vi điều khiển là gì, có những loại nào, và chúng hoạt động ra sao? Hãy cùng tìm hiểu!

1. Tập lệnh trong vi điều khiển là gì?
Tập lệnh (Instruction Set) là tập hợp các lệnh mà vi điều khiển có thể hiểu và thực hiện được. Mỗi lệnh tương ứng với một mã nhị phân cụ thể và thực hiện một chức năng như tính toán, so sánh, điều khiển dòng chương trình, truyền dữ liệu…
Tập lệnh chính là “ngôn ngữ gốc” của vi điều khiển.
2. Phân loại tập lệnh trong vi điều khiển
Tập lệnh có thể được phân loại dựa trên chức năng, bao gồm:
a.
Lệnh dịch chuyển dữ liệu (Data Transfer Instructions)
Dùng để di chuyển dữ liệu từ vị trí này sang vị trí khác.
Ví dụ (trong vi điều khiển 8051):
MOV A, #25H ; Chuyển hằng 25H vào thanh ghi tích lũy A
MOV R0, A ; Chuyển dữ liệu từ A sang R0
b.
Lệnh số học (Arithmetic Instructions)
Thực hiện các phép toán như cộng, trừ, nhân, chia.
Ví dụ:
ADD A, R1 ; Cộng giá trị trong R1 vào A
SUBB A, R2 ; Trừ R2 khỏi A kèm theo cờ nhớ
c.
Lệnh logic (Logical Instructions)
Thực hiện các phép toán logic: AND, OR, XOR, NOT, so sánh…
Ví dụ:
ANL A, #0F0H ; AND A với hằng số 0F0H
CPL A ; Đảo bit trong A
d.
Lệnh điều khiển chương trình (Branching/Control Instructions)
Điều khiển luồng thực thi chương trình: nhảy, gọi hàm, lặp, điều kiện…
Ví dụ:
SJMP LABEL ; Nhảy tới nhãn LABEL
JZ NEXT ; Nếu A = 0 thì nhảy tới NEXT
CALL SUB1 ; Gọi hàm con SUB1
RET ; Kết thúc hàm, quay lại chương trình chính
e.
Lệnh thao tác bit (Bit-level Instructions)
Dùng để đặt, xóa, kiểm tra trạng thái của từng bit.
Ví dụ:
SETB P1.0 ; Đặt bit P1.0 lên 1
CLR P1.1 ; Đặt bit P1.1 về 0
JB P1.0, LABEL ; Nếu bit P1.0 = 1 thì nhảy đến LABEL
3. Tập lệnh của một số vi điều khiển phổ biến
| Vi điều khiển | Tập lệnh | Ghi chú |
| 8051 | CISC | Khoảng 111 lệnh, dễ học |
| PIC | RISC | Tập lệnh đơn giản, tốc độ cao |
| AVR | RISC | Tập lệnh mạnh, lập trình bằng C |
| ARM Cortex-M | Thumb/ARM | Hỗ trợ tập lệnh 16-bit và 32-bit |
✅ CISC (Complex Instruction Set Computer): Tập lệnh phức tạp, đa dạng
✅ RISC (Reduced Instruction Set Computer): Tập lệnh đơn giản, tối ưu tốc độ
4. Vai trò của tập lệnh trong lập trình vi điều khiển
- Điều khiển phần cứng: Lệnh truy cập I/O, bật/tắt thiết bị
- Xử lý tín hiệu: Tính toán, so sánh dữ liệu cảm biến
- Điều kiện – vòng lặp: Tạo logic quyết định
- Tối ưu chương trình: Biết dùng đúng tập lệnh giúp tiết kiệm bộ nhớ, tăng tốc độ
5. Lập trình tập lệnh: Hợp ngữ và ngôn ngữ C
- Hợp ngữ (Assembly): Viết trực tiếp bằng tập lệnh → hiệu suất cao, khó học
- Ngôn ngữ C: Phổ biến hơn, dễ viết, trình biên dịch sẽ chuyển thành tập lệnh máy
- Một số hệ thống cho phép bạn xem mã máy (opcode) tương ứng với từng lệnh C
6. Tài nguyên học tập lệnh vi điều khiển
- Sách: “The 8051 Microcontroller and Embedded Systems” – Muhammad Ali Mazidi
- Website học miễn phí:
- https://www.mikroe.com
- https://www.tutorialspoint.com/microcontroller
- Công cụ mô phỏng: Keil C (cho 8051), MPLAB X (cho PIC), Proteus, STM32CubeIDE…
7. Kết luận
Việc nắm vững tập lệnh vi điều khiển không chỉ giúp bạn hiểu sâu cách mà phần cứng hoạt động, mà còn giúp tối ưu chương trình, giảm lỗi và tăng hiệu quả trong thiết kế hệ thống nhúng. Dù bạn học 8051, PIC, hay ARM, thì tập lệnh luôn là nền tảng cốt lõi.
Từ khóa SEO đề xuất:
- Tập lệnh vi điều khiển là gì
- Các loại lệnh trong vi điều khiển
- Tập lệnh 8051, tập lệnh PIC
- Cách viết hợp ngữ cho vi điều khiển
- So sánh tập lệnh RISC và CISC
- Học Assembly vi điều khiển

























Để lại một bình luận
Bạn phải đăng nhập để gửi bình luận.