Giáo Trình Vi Điều Khiển: Hướng Dẫn Chi Tiết và Thực Hành

Tổng quan về giáo trình

Giáo Trình Vi Điều Khiển (Mã mô đun: MĐ 18) là tài liệu đào tạo chuyên môn nghề được biên soạn theo chương trình khung ban hành năm 2021 của Trường Cao đẳng nghề Cần Thơ, dành cho nghề Điện tử dân dụng hệ Cao đẳng do Đỗ Hữu Hậu làm chủ biên. Tài liệu được thiết kế với tổng thời lượng 60 giờ học, phân bổ cân đối giữa 30 giờ lý thuyết, 27 giờ thực hành/thảo luận/bài tập và 3 giờ kiểm tra định kỳ.

       CHƯƠNG TRÌNH KHUNG MÔ ĐUN VI ĐIỀU KHIỂN (MĐ 18 - 60 GIỜ)

Trong cấu trúc chương trình đào tạo, mô đun Vi điều khiển giữ vị trí bản lề: được bố trí giảng dạy sau khi người học đã hoàn thành các mô đun cơ sở gồm Linh kiện điện tử, Đo lường điện – điện tử và Kỹ thuật số; đồng thời đóng vai trò kiến thức nền tảng bắt buộc trước khi học tiếp các mô đun chuyên sâu như Vi điều khiển nâng cao, Máy thu hình công nghệ cao và Điều khiển lập trình PLC.

Mục tiêu học tập của giáo trình hướng đến ba chuẩn đầu ra rõ ràng:

  1. Kiến thức: Trình bày chính xác cấu trúc phần cứng, nguyên lý hoạt động của các bộ vi xử lý Intel 80x86 và vi điều khiển chuẩn công nghiệp họ MCS-51; giải thích các chế độ làm việc, tổ chức không gian bộ nhớ, tập lệnh, chế độ định thời, cổng truyền thông nối tiếp và cơ chế quản lý ngắt.
  2. Kỹ năng: Thành thạo kỹ năng lập trình bằng ngôn ngữ hợp ngữ (Assembly) cho vi xử lý 8086 và vi điều khiển 89C51/89S52; thao tác ghép nối phần cứng với IC chốt, thạch anh, mạch reset; phân tích lỗi và nạp mã chương trình điều khiển vào vi mạch thực tế.
  3. Năng lực tự chủ và trách nhiệm: Xây dựng phương pháp tư duy kỹ thuật, năng lực tự định hướng, tính toán chính xác và tuân thủ quy trình an toàn công nghiệp.

Nội dung kiến thức cốt lõi

Các chương và chủ đề chính

Nội dung giáo trình được tổ chức thành 6 bài học mang tính liên kết logic chặt chẽ, dẫn dắt người học từ nguyên lý tính toán của bộ vi xử lý đa năng (Microprocessor) đến cấu trúc tích hợp hoàn chỉnh của bộ vi điều khiển chuyên dụng (Microcontroller).

        CƠ CHẾ ÁNH XẠ ĐỊA CHỈ VẬT LÝ TRÊN VI XỬ LÝ 8086
  Thanh ghi đoạn (16-bit)      [  CS / DS / SS / ES  ] x 16 (Dịch trái 4 bit)
                                         +
  Thanh ghi lệch (16-bit)      [ IP / BP / SP / SI / DI / Disp ]
                                         =
  • Bài 1: Họ vi xử lý INTEL 80x86 (16 giờ - 8 LT, 8 TH) Tập trung phân tích cấu trúc logic bên trong CPU 8086 bao gồm hai khối chức năng độc lập: Khối giao diện Bus (BIU) với hàng đợi lệnh 6-byte hoạt động theo cơ chế FIFO và Khối thực hiện lệnh (EU) tích hợp khối làm tính số học và logic (ALU) 16-bit. Giáo trình trình bày chi tiết hệ thống thanh ghi 16-bit: các thanh ghi đoạn (CS, DS, SS, ES), các thanh ghi đa năng (AX, BX, CX, DX - có thể tách thành các thanh ghi 8-bit độc lập AH, AL, BH, BL, CH, CL, DH, DL), thanh ghi con trỏ và chỉ số (IP, BP, SP, SI, DI), cùng thanh ghi cờ trạng thái FR (với các cờ CF, PF, ZF, SF, OF, TF, IF). Bài học diễn giải công thức tạo 20-bit địa chỉ vật lý để quản lý không gian nhớ 1MB: $$\text{Địa chỉ vật lý} = \text{Thanh ghi đoạn} \times 16 + \text{Thanh ghi lệch}$$ Chủ đề bao quát 7 chế độ định địa chỉ (thanh ghi, tức thì, trực tiếp, gián tiếp qua thanh ghi, tương đối cơ sở, tương đối chỉ số, tương đối cơ sở chỉ số), phân tích cú pháp mã hóa lệnh MOV (Opcode, D, W, MOD, REG, R/M), các nhóm lệnh 8086 cơ bản (sao chép: MOV, PUSH, POP, LEA, LDS; số học: ADD, ADC, SUB, SBB, INC, DEC, MUL, DIV, NEG; logic: AND, OR, NOT; so sánh: CMP; rẽ nhánh: JB, JC, JNAE, HLT), các chế độ làm việc (khởi động cứng/mềm, chế độ đợi $T_{\text{WAIT}}$, chế độ treo DMA, chế độ ngắt, chế độ dừng) và quy trình lập trình hợp ngữ với tệp .EXE, .COM trên phần mềm PWB, emu8086 cùng bộ thí nghiệm Lab-Volt 80386.
                  SƠ ĐỒ CHÂN VI ĐIỀU KHIỂN 8051 (DIP 40)
  • Bài 2: Cấu trúc họ vi điều khiển 8051 (4 giờ - 2 LT, 1 TH, 1 KT) Khảo sát vi mạch tiêu chuẩn MCS-51 vỏ DIP 40 chân và các biến thể thông dụng tại Việt Nam (AT89C51, AT89S52, Philips P89V51RDxx). Giáo trình đi sâu vào chức năng từng chân: nguồn cấp ($V_{CC}$ chân 40, GND chân 20), tín hiệu điều khiển truy xuất bộ nhớ ngoài ($\overline{\text{PSEN}}$ chân 29, ALE chân 30, $\overline{\text{EA}}$ chân 31), chân Master Reset (RST chân 9 nối mạch RC với $R = 10\text{ k}\Omega$, $C = 10\ \mu\text{F}$), và 2 chân dao động thạch anh XTAL1, XTAL2. Mối quan hệ giữa tần số thạch anh ($f_{\text{zat}} = 12\text{ MHz}$) và chu kỳ máy ($T_{\text{ck}} = 12 / f_{\text{zat}} = 1\ \mu\text{s}$) được làm rõ. Chương này phân tích đặc tính điện và chức năng 4 cổng I/O:
    • Port 0 (chân 32–39): Cực máng hở, yêu cầu trở kéo lên (pull-up) khi làm I/O thông thường; đóng vai trò bus đa hợp địa chỉ/dữ liệu (AD0–AD7) khi ghép nối bộ nhớ ngoài.
    • Port 1 (chân 1–8): Cổng I/O thuần túy tích hợp sẵn điện trở kéo lên nội.
    • Port 2 (chân 21–28): Cổng I/O hoặc xuất 8-bit địa chỉ cao (A8–A15) cho bộ nhớ ngoài.
    • Port 3 (chân 10–17): Tích hợp các chức năng ngoại vi chuyên dụng (RXD, TXD, $\overline{\text{INT0}}$, $\overline{\text{INT1}}$, T0, T1, $\overline{\text{WR}}$, $\overline{\text{RD}}$).
                 BẢN ĐỒ BỘ NHỚ RAM NỘI 128 BYTE CỦA 8051
  Địa chỉ (Hex)

Phần tổ chức bộ nhớ trình bày không gian 4KB ROM nội (mở rộng tối đa 64KB ROM ngoài) và 128 byte RAM nội (chia thành 4 bank thanh ghi từ 00H–1FH, vùng định địa chỉ bit gồm 128 bit tại 20H–2FH, vùng RAM đa năng 30H–7FH và vùng 21 thanh ghi chức năng đặc biệt SFR từ 80H–FFH bao gồm thanh ghi từ trạng thái chương trình PSW tại địa chỉ D0H).

  • Bài 3: Tập lệnh 8051 (16 giờ - 8 LT, 8 TH) Hệ thống hóa toàn diện các nhóm lệnh hợp ngữ của vi điều khiển 8051 kèm cú pháp, dung lượng byte chiếm dụng và thời gian thực thi:

    • Nhóm lệnh số học: ADD, ADDC, SUBB, INC, DEC, phép nhân không dấu MUL AB (1 byte, 4 chu kỳ máy, lưu kết quả 16-bit vào A và B), phép chia DIV AB (1 byte, 4 chu kỳ máy, thương số ở A, số dư ở B), lệnh hiệu chỉnh thập phân DA A.
    • Nhóm lệnh logic: ANL, ORL, XRL (thao tác giữa A, thanh ghi $R_n$, ô nhớ trực tiếp direct, ô nhớ gián tiếp $@R_i$, dữ liệu tức thì #data), CPL, CLR, xoay bit RL, RLC, RR, RRC, và hoán vị 4-bit SWAP A.
    • Nhóm lệnh truyền dữ liệu: MOV, MOV DPTR,#data16, lệnh trao đổi XCH, XCHD, đọc dữ liệu bảng từ ROM MOVC A,@A+DPTR, MOVC A,@A+PC, truy xuất RAM ngoài qua MOVX, ngăn xếp qua PUSH direct, POP direct.
    • Nhóm lệnh Boolean: CLR C, SETB C, CPL bit, ANL C,bit, ORL C,/bit, MOV C,bit, MOV bit,C.
    • Nhóm lệnh rẽ nhánh và điều khiển: Lệnh gọi chương trình con ACALL addr11, LCALL addr16, lệnh trở về RET, RETI, các lệnh nhảy AJMP addr11, LJMP addr16, SJMP rel, JMP @A+DPTR, nhảy có điều kiện JZ rel, JNZ rel, CJNE, DJNZ.
  • Bài 4: Bộ định thời (8 giờ - 4 LT, 3 TH, 1 KT) Phân tích cấu trúc phần cứng 2 bộ định thời 16-bit (Timer 0 và Timer 1) thông qua các thanh ghi chức năng đặc biệt TMOD (chọn chế độ hoạt động, chọn chức năng Timer/Counter, bit GATE) và TCON (cờ tràn TF0, TF1; bit điều khiển chạy TR0, TR1). Giảng dạy 4 chế độ làm việc: Chế độ 0 (định thời 13-bit), Chế độ 1 (định thời 16-bit toàn phần), Chế độ 2 (8-bit tự động nạp lại - Auto-Reload), và Chế độ 3 (bộ định thời chia tách). Cung cấp phương pháp tính toán giá trị nạp trước để tạo khoảng thời gian trễ chính xác.

  • Bài 5: Cổng nối tiếp (8 giờ - 4 LT, 4 TH) Khảo sát module truyền thông nối tiếp không đồng bộ UART tích hợp trong 8051. Chi tiết hóa thanh ghi điều khiển cổng nối tiếp SCON (các bit SM0, SM1, SM2, REN, TB8, RB8, TI, RI), thanh ghi quản lý nguồn PCON (bit nhân đôi tốc độ baud SMOD), và thanh ghi đệm dữ liệu SBUF. Hướng dẫn 4 chế độ hoạt động (Mode 0 dịch bit thanh ghi, Mode 1 UART 8-bit tốc độ thay đổi qua Timer 1, Mode 2 UART 9-bit tốc độ cố định, Mode 3 UART 9-bit tốc độ thay đổi) cùng quy trình khởi tạo baud rate chuẩn (9600 bps, 4800 bps) dùng thạch anh 11.0592 MHz.

  • Bài 6: Ngắt (8 giờ - 4 LT, 3 TH, 1 KT) Trình bày cấu trúc quản lý 5 nguồn ngắt chuẩn của vi điều khiển 8051: Ngắt ngoài 0 ($\overline{\text{INT0}}$), Ngắt ngoài 1 ($\overline{\text{INT1}}$), Ngắt do bộ định thời Timer 0 (TF0), Ngắt do bộ định thời Timer 1 (TF1), và Ngắt truyền thông nối tiếp (TI/RI). Cấu hình thanh ghi cho phép ngắt IE (bit cho phép toàn cục EA, EX0, ET0, EX1, ET1, ES) và thanh ghi phân cấp độ ưu tiên ngắt IP. Cung cấp bảng địa chỉ vector ngắt trên ROM nội ($0003\text{H}$, $000\text{BH}$, $0013\text{H}$, $001\text{BH}$, $0023\text{H}$) và nguyên tắc thiết kế chương trình con phục vụ ngắt kết thúc bằng lệnh RETI.


Kiến thức nền tảng được xây dựng

Giáo trình củng cố hệ thống lý thuyết kiến trúc máy tính và điều khiển số:

  • Mô hình kiến trúc xử lý: Kiến trúc Von Neumann (dùng chung bus bộ nhớ như 8086) và Kiến trúc Harvard (tách biệt hoàn toàn không gian địa chỉ bộ nhớ chương trình ROM và bộ nhớ dữ liệu RAM như 8051).
  • Nguyên lý thực thi lệnh: Chu trình tìm nạp lệnh (Fetch), giải mã lệnh (Decode) và thực thi (Execute); nguyên lý chồng lấn lệnh nhờ hàng đợi FIFO (Pipelining cơ bản của BIU).
  • Đại số logic và cấu trúc dữ liệu cơ sở: Hệ đếm nhị phân (Binary), thập lục phân (Hexadecimal), mã nhị phân mã hóa thập phân (BCD), biểu diễn số bù hai cho số có dấu, quy tắc quản lý đỉnh ngăn xếp Stack Pointer (SP).

Kỹ năng phát triển

Người học hoàn thiện các nhóm kỹ năng chuyên môn nghề sau khi hoàn tất giáo trình:

  • Kỹ năng phân tích phần cứng: Đọc hiểu sơ đồ nguyên lý ghép nối vi điều khiển với các linh kiện ngoại vi; tính toán mạch phân kênh địa chỉ dùng IC chốt 74HC573/74HC373 qua chân ALE; tính toán thông số tụ và trở cho mạch tạo xung dao động và mạch Master Reset.
  • Kỹ năng lập trình hợp ngữ: Xây dựng thuật toán, cấu trúc hóa chương trình bằng hợp ngữ dạng модуль (.EXE/.COM hoặc ASM 8051); sử dụng thành thạo các cấu trúc lặp, rẽ nhánh, chương trình con và chương trình phục vụ ngắt.
  • Kỹ năng vận hành và khắc phục sự cố: Sử dụng phần mềm biên dịch, giả lập và nạp mã máy vào chip Flash ROM; đo kiểm mức logic các cổng Port $P_0 - P_3$; chẩn đoán các lỗi treo hệ thống hoặc sai lệch định thời trong dây chuyền điều khiển tự động.

Phương pháp giảng dạy và học tập

Giáo trình áp dụng phương pháp đào tạo tích hợp kết hợp chặt chẽ giữa lý thuyết hệ thống và rèn luyện kỹ năng thực hành kỹ thuật:

                  QUY TRÌNH HỌC TẬP VÀ ĐÁNH GIÁ MÔ ĐUN
  • Phương pháp sư phạm tích hợp: Mỗi chủ đề bài học đều được cấu trúc gồm: Giới thiệu mục tiêu $\rightarrow$ Phân tích cấu trúc phần cứng/thanh ghi $\rightarrow$ Cú pháp và ý nghĩa từng lệnh (chi tiết số byte và chu kỳ máy) $\rightarrow$ Ví dụ mẫu có code minh họa $\rightarrow$ Bài tập thực hành trên thiết bị.
  • Thực hành và bài tập ứng dụng:
    • Trên bộ vi xử lý 8086: Thực hiện các bài toán xử lý chuỗi ký tự, chuyển đổi chữ thường sang chữ hoa, các phép toán số học cộng trừ nhiều byte có nhớ/mượn trên địa chỉ bộ nhớ cụ thể (ví dụ: cộng dữ liệu từ địa chỉ $2432\text{H}$ và $2233\text{H}$, lưu kết quả vào $4367\text{H}$) sử dụng bộ thí nghiệm chuyên dụng Lab-Volt 80386.
    • Trên vi điều khiển 8051: Lập trình điều khiển xuất/nhập trạng thái logic trên các cổng I/O, tạo trễ xung vuông bằng Timer, truyền nhận ký tự với máy tính qua cổng nối tiếp và thiết lập ngắt nút bấm ngoại vi.
  • Phương pháp đánh giá:
    • Đánh giá kiến thức: Kiểm tra viết tự luận hoặc trắc nghiệm kỹ thuật về chức năng thanh ghi, giải mã địa chỉ và phân tích kết quả sau khi thực thi đoạn lệnh.
    • Đánh giá kỹ năng: Thực hành trực tiếp trên máy vi tính và bộ thí nghiệm phần cứng (biên dịch không lỗi, nạp mã HEX thành công, mạch phần cứng hoạt động đúng giải thuật).
  • Hướng dẫn tự học: Độc giả cần tự giải quyết hệ thống bài tập mở rộng ở cuối mỗi bài; chủ động tra cứu bảng tra cứu mã lệnh đầy đủ tại phần phụ lục để tối ưu hóa dung lượng bộ nhớ ROM của chương trình.

Điểm nổi bật và cập nhật

Giáo trình mang những đặc điểm kỹ thuật gắn liền với thực tiễn sản xuất và chương trình đào tạo nghề hiện đại:

  • Tính đồng bộ theo chương trình khung 2021: Nội dung cập nhật các quy định chuẩn đầu ra của hệ Cao đẳng nghề Điện tử dân dụng, đảm bảo tính liên kết với các hệ thống thiết bị thực tế đang được sử dụng tại các doanh nghiệp và cơ sở sản xuất.
  • Tích hợp các biến thể vi mạch thông dụng: Bên cạnh chip gốc MCS-51 (Intel 8051), giáo trình bổ sung phân tích các dòng chip Flash ROM hiện đại của Atmel và Philips như AT89C51, AT89S52 (cho phép xóa nạp bằng điện qua giao tiếp SPI), AT89S8253, P89V51RDxx.
  • Minh họa chi tiết thông số phần cứng thực tế: Giáo trình cung cấp các thông số điện áp và dòng tải cụ thể cho từng chân cổng I/O (dòng xả mức logic 0 đạt tối đa $-25\text{ mA}$ ở $P_0$ và $-15\text{ mA}$ ở $P_1, P_2, P_3$; dòng xuất mức logic 1 chỉ đạt từ $1\text{ mA}$ đến $5\text{ mA}$ không đủ thắp sáng trực tiếp đèn LED mà cần kết nối theo cấu hình kéo dòng về mức 0).
  • Gắn kết công cụ mô phỏng và phần cứng chuyên dụng: Kết hợp hướng dẫn trên phần mềm mô phỏng hiện đại (emu8086, PWB) và các bộ kit thực hành tiêu chuẩn công nghiệp (Lab-Volt 80386), giúp người học dễ dàng tiếp cận quy trình kiểm thử và gỡ lỗi (debugging).

Đối tượng sử dụng giáo trình

Tài liệu được biên soạn phục vụ các nhóm đối tượng cụ thể trong hệ thống giáo dục nghề nghiệp và kỹ thuật:

  • Sinh viên chuyên ngành: Sinh viên năm thứ hai hoặc năm thứ ba hệ Cao đẳng nghề Điện tử dân dụng; sinh viên các ngành kỹ thuật liên quan như Điện tử công nghiệp, Cơ điện tử, Điện công nghiệp và Kỹ thuật điều khiển tự động.
  • Yêu cầu kiến thức tiên quyết: Người học cần hoàn thành các học phần cơ sở kỹ thuật điện tử, bao gồm:
    • Hiểu biết về linh kiện bán dẫn (Diode, Transistor, IC số họ TTL/CMOS).
    • Kỹ năng đo lường điện tử, sử dụng máy hiện sóng (Oscilloscope) và đồng hồ vạn năng (VOM).
    • Kiến thức Kỹ thuật số: Hệ thống đại số logic Boolean, cổng logic, flip-flop, bộ giải mã và các hệ đếm nhị phân, hexa.
  • Giảng viên và cán bộ đào tạo: Dùng làm giáo trình giảng dạy chính thức cho mô đun 60 giờ; tài liệu khung để xây dựng bài giảng lý thuyết, đề cương thí nghiệm và phiếu đánh giá kỹ năng thực hành nghề.
  • Kỹ thuật viên và người tự học: Tài liệu tham khảo kỹ thuật chuẩn cho các kỹ thuật viên bảo trì hệ thống điều khiển tự động, kỹ sư thiết kế mạch nhúng muốn tra cứu cấu trúc tập lệnh và bản đồ thanh ghi họ 8051.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với đối tượng nào?

Giáo trình được thiết kế chuẩn hóa cho sinh viên hệ Cao đẳng nghề Điện tử dân dụng của Trường Cao đẳng nghề Cần Thơ, đồng thời là tài liệu học tập phù hợp cho sinh viên các ngành Điện tử công nghiệp, Cơ điện tử, Tự động hóa và kỹ thuật viên bảo trì hệ thống điện – điện tử.

2. Cần kiến thức nền tảng nào trước khi học mô đun này?

Người học cần hoàn thành các môn học tiên quyết bao gồm Linh kiện điện tử, Đo lường điện – điện tử và Kỹ thuật số; nắm vững cách thức chuyển đổi giữa các hệ đếm (nhị phân, thập phân, hexa) và nguyên lý hoạt động của các cổng logic cơ bản.

3. Điểm khác biệt của giáo trình so với các tài liệu vi xử lý khác là gì?

Giáo trình xây dựng phương pháp tiếp cận song song: bắt đầu từ vi xử lý 16-bit đa năng Intel 8086 nhằm giúp người học hiểu rõ bản chất kiến trúc CPU (BIU, EU, phân đoạn bộ nhớ), sau đó chuyển tiếp sang vi điều khiển tích hợp MCS-51. Toàn bộ tập lệnh đều được chú thích chi tiết số byte chiếm dụng trên ROM và số chu kỳ máy tiêu tốn, phục vụ trực tiếp cho việc tính toán thời gian thực thi trong công nghiệp.

4. Làm sao để tự học và thực hành giáo trình đạt hiệu quả cao nhất?

Người học nên kết hợp song song giữa lý thuyết thanh ghi và phần mềm mô phỏng (emu8086 hoặc Keil C/PWB) để quan sát trạng thái các cờ (PSW/FR) sau mỗi bước lệnh (Single Step). Sau đó, cần tiến hành nạp mã vào phần cứng thực tế (bộ thí nghiệm Lab-Volt hoặc kit vi điều khiển 89S52) để kiểm chứng sự đáp ứng phần cứng của các cổng I/O, Timer và Ngắt.

5. Giáo trình có cung cấp tài liệu hoặc bài tập bổ trợ nào không?

Giáo trình đi kèm hệ thống ví dụ mẫu cho từng lệnh, các bài tập mở rộng nâng cao ở cuối mỗi bài (xử lý mảng, định thời, truyền thông nối tiếp) và phụ lục tra cứu toàn bộ tập lệnh của bộ vi xử lý và vi điều khiển.


Kết luận

Giáo Trình Vi Điều Khiển (MĐ 18) của Trường Cao đẳng nghề Cần Thơ cung cấp một hệ thống kiến thức toàn diện, chuẩn mực và thực tế về cấu trúc vi xử lý Intel 8086 và vi điều khiển MCS-51 (8051/89C51/89S52). Với phương pháp tiếp cận từ bản chất phần cứng, giải mã chi tiết cơ chế định địa chỉ, phân tích tường minh tập lệnh đến các module ngoại vi (Timer, Serial Port, Interrupt), giáo trình trang bị đầy đủ năng lực phân tích mạch và lập trình hợp ngữ cho người học. Đây là học phần cơ sở kỹ thuật cốt lõi, tạo nền tảng vững chắc để người học tiếp thu các mô đun chuyên sâu về Vi điều khiển nâng cao, Điều khiển lập trình PLC và các hệ thống điều khiển tự động công nghiệp hiện đại.