THÔNG TIN THƯ MỤC VÀ TỔNG QUAN HỌC THUẬT GIÁO TRÌNH VI ĐIỀU KHIỂN (MĐ 32)


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

Giáo trình Vi điều khiển (mã mô đun: MĐ 32) là tài liệu học tập và giảng dạy chuyên môn nghề thuộc chương trình đào tạo trình độ Cao đẳng nghề Cơ điện tử, được ban hành năm 2021 bởi Trường Cao đẳng nghề Cần Thơ dưới sự chủ biên của tác giả Đỗ Hữu Hậu. Trong khung chương trình đào tạo, mô đun này 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ử, Kỹ thuật số, Điện tử công suất, đồng thời cung cấp nền tảng kiến trúc phần cứng và kỹ năng lập trình bắt buộc trước khi học tiếp các mô đun nâng cao như Hệ thống sản xuất tích hợp (MPS) và Robot công nghiệp.

Mục tiêu học tập của giáo trình được thiết kế toàn diện theo ba chuẩn đầu ra:

  • Về kiến thức: Cung cấp nguyên lý biểu diễn hệ đếm và mã hóa trong máy tính; cấu trúc bên trong, tổ chức bộ nhớ và cơ chế hoạt động của vi xử lý Intel 80x86; kiến trúc phần cứng, tập lệnh và các khối chức năng ngoại vi của họ vi điều khiển MCS-51 (8051) cùng dòng vi điều khiển PIC18F4550.
  • Về kỹ năng: Trang bị năng lực lập trình hợp ngữ (Assembly) cho vi xử lý 8086 và vi điều khiển 8051; kỹ năng lập trình ngôn ngữ C trên môi trường MPLAB X IDE và trình biên dịch XC8 cho PIC18F4550; khả năng thiết kế giao tiếp vi xử lý với thiết bị ngoại vi, nạp chương trình vào chip và chẩn đoán hư hỏng trong hệ thống thực tế.
  • Về năng lực tự chủ và trách nhiệm: Rèn luyện phương pháp tiếp cận kỹ thuật độc lập, khả năng tự đánh giá kết quả thực nghiệm và tính cẩn trọng, an toàn trong môi trường công nghiệp.

Giáo trình có tổng thời lượng 60 giờ (gồm 30 giờ lý thuyết, 27 giờ thực hành/thảo luận và 3 giờ kiểm tra). Cấu trúc nội dung tiếp cận từ vi kiến trúc xử lý kinh điển (Intel 80x86), chuyển tiếp sang cấu trúc vi điều khiển định hướng điều khiển phần cứng (8051), mở rộng sang vi điều khiển hiện đại (PIC18F4550) và hoàn thiện bằng kỹ thuật lập trình điều khiển mô phỏng thực tế.


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 phân bổ thành 7 bài học cụ thể:

[MĐ 32-01: Họ vi xử lý INTEL 80x86 (12h)]
  • Bài 1: Họ vi xử lý INTEL 80x86 (12 giờ - 6 LT / 6 TH): Trình bày cấu trúc bên trong của vi xử lý 8086 gồm hai khối chức năng hoạt động song song: Khối giao diện Bus (BIU) với hàng đợi lệnh FIFO dung lượng 6 byte và Khối thực hiện lệnh (EU) chứa Đơn vị số học logic (ALU) cùng hệ thống thanh ghi 16-bit. Phân loại 4 nhóm thanh ghi: thanh ghi đoạn (CS, DS, SS, ES), thanh ghi đa năng (AX, BX, CX, DX có thể tách thành các thanh ghi 8-bit AH/AL, BH/BL, CH/CL, DH/DL), thanh ghi con trỏ và chỉ số (IP, BP, SP, SI, DI), và thanh ghi cờ trạng thái (FR). Giới thiệu 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 chỉ số cơ sở); tập lệnh cơ bản (vận chuyển dữ liệu MOV, LDS, LEA, PUSH, POP; số học ADD, ADC, SUB, SBB, INC, DEC, MUL, DIV, NEG; logic AND, OR, NOT, CMP; rẽ nhánh JB/JC/JNAE, HLT); 5 chế độ làm việc (khởi động cứng/mềm, chế độ đợi TWAIT, chế độ treo DMA, chế độ ngắt IRET, chế độ dừng); cú pháp cấu trúc chương trình hợp ngữ định dạng .EXE và .COM; thực hành trên phần mềm emu8086 và bộ thí nghiệm phần cứng Lab-Volt 80386.

  • Bài 2: Cấu trúc họ vi điều khiển 8051 (4 giờ - 2 LT / 2 TH): Phân tích sơ đồ chân vi điều khiển 8051 dạng vỏ DIP 40 chân. Khảo sát chức năng các chân điều khiển đặc thù: chân cho phép bộ nhớ chương trình ngoài $\overline{\text{PSEN}}$, chân chốt địa chỉ $\text{ALE}$, chân chọn bộ nhớ nội/ngoại $\overline{\text{EA}}$, chân thiết lập lại hệ thống $\text{RST}$ (kết hợp mạch tụ trở $10,\mu\text{F} - 10,\text{k}\Omega$), hai chân dao động $\text{XTAL1}/\text{XTAL2}$ ghép nối thạch anh ($12,\text{MHz}$ hoặc $11.0592,\text{MHz}$). Phân tích chi tiết 4 cổng xuất nhập 8-bit ($\text{P0}$, $\text{P1}$, $\text{P2}$, $\text{P3}$). Tổ chức bộ nhớ gồm 4 KB Flash ROM nội và 128 Byte RAM nội, chia thành: 4 dãy (Bank) thanh ghi từ $\text{R0}-\text{R7}$ (địa chỉ $00\text{H}-1\text{F}\text{H}$), vùng RAM định địa chỉ từng bit ($20\text{H}-2\text{F}\text{H}$ với 128 bit), vùng RAM đa năng ($30\text{H}-7\text{F}\text{H}$) và 21 thanh ghi chức năng đặc biệt SFR ($80\text{H}-\text{FF}\text{H}$) như $\text{PSW}$, $\text{ACC}$, $\text{B}$, $\text{SP}$, $\text{DPTR}$, $\text{TMOD}$, $\text{TCON}$, $\text{SBUF}$, $\text{SCON}$, $\text{IE}$, $\text{IP}$, $\text{PCON}$.

  • Bài 3: Tập lệnh 8051 (8 giờ - 4 LT / 3 TH / 1 KT): Khảo sát đầy đủ các nhóm lệnh của họ MCS-51:

    • Nhóm lệnh số học: ADD, ADDC, SUBB, INC, DEC, MUL AB (nhân số nguyên không dấu 8-bit thành 16-bit lưu trên A và B), DIV AB (chia số nguyên không dấu, thương lưu ở A, dư lưu ở B), DA A (hiệu chỉnh thập phân sang mã BCD sau phép cộng).
    • Nhóm lệnh logic: ANL, ORL, XRL, CLR, CPL, RL, RLC, RR, RRC, SWAP (hoán chuyển 4 bit thấp và 4 bit cao của thanh ghi A).
    • Nhóm lệnh truyền dữ liệu: MOV, MOVX (truy xuất RAM ngoại qua DPTR hoặc Ri), MOVC (truy xuất ROM nội qua @A+DPTR hoặc @A+PC), PUSH, POP, XCH, XCHD.
    • Nhóm lệnh xử lý bit Boolean: CLR bit, SETB bit, CPL bit, ANL C, bit, ANL C, /bit, ORL C, bit, ORL C, /bit, MOV C, bit, MOV bit, C.
    • Nhóm lệnh rẽ nhánh và gọi chương trình con: ACALL (gọi chương trình con trong phạm vi 2 KB), LCALL (gọi trong phạm vi 64 KB), RET (trở về từ chương trình con), RETI (trở về từ trình phục vụ ngắt).
  • Bài 4: Bộ định thời (8 giờ - 4 LT / 4 TH): Khảo sát chi tiết thanh ghi điều khiển $\text{TCON}$ ($88\text{H}$) và thanh ghi chế độ $\text{TMOD}$ ($89\text{H}$). Phân tích 4 chế độ làm việc của hai bộ định thời Timer 0 và Timer 1:

    • Chế độ 0: Định thời 13-bit (sử dụng 8 bit của $\text{THx}$ và 5 bit của $\text{TLx}$).
    • Chế độ 1: Định thời 16-bit toàn phần ($\text{THx}$ kết hợp $\text{TLx}$).
    • Chế độ 2: Định thời 8-bit tự động nạp lại giá trị từ $\text{THx}$ vào $\text{TLx}$.
    • Chế độ 3: Định thời tách biệt (Timer 0 chia thành hai bộ đếm 8-bit riêng biệt).
  • Bài 5: Vi điều khiển PIC (8 giờ - 4 LT / 3 TH / 1 KT): Khảo sát cấu trúc phần cứng vi điều khiển PIC18F4550 của hãng Microchip, sơ đồ phân bố chân, các bit cấu hình hệ thống (Configuration Bits), khảo sát mạch nguồn và cấu hình dao động nội/ngoại.

  • Bài 6: Ngôn ngữ lập trình PIC18F4550 (8 giờ - 4 LT / 4 TH): Giới thiệu các môi trường và công cụ phát triển phần mềm cho họ PIC: MPLAB, CCS C, MikroC, MPLAB X IDE và trình biên dịch XC8 / XC16. Quy tắc lập trình C cho PIC18F4550; cấu hình và lập trình điều khiển bộ định thời Timer, bộ biến đổi tương tự - số (ADC), và khối giao tiếp truyền thông nối tiếp (UART/Serial).

  • Bài 7: Lập trình điều khiển và mô phỏng (12 giờ - 6 LT / 5 TH / 1 KT): Hướng dẫn xây dựng chương trình điều khiển I/O số với LED đơn (thuật toán nhấp nháy, sáng dần, dịch bit); phương pháp viết mã nguồn điều khiển theo yêu cầu kỹ thuật; quy trình kiểm thử và chạy mô phỏng mạch điện tử trước khi nạp vào phần cứng.


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

Giáo trình trang bị hệ thống lý thuyết kỹ thuật máy tính và điều khiển số:

  1. Mô hình định địa chỉ và quản lý bộ nhớ phân đoạn: Cơ chế ánh xạ từ địa chỉ logic sang địa chỉ vật lý 20-bit của kiến trúc x86 thông qua công thức toán học: $$\text{Địa chỉ vật lý} = \text{Thanh ghi đoạn (Segment)} \times 16 + \text{Thanh ghi lệch (Offset)}$$
  2. Nguyên lý chu kỳ máy và định thời phần cứng: Mối quan hệ giữa tần số thạch anh dao động ngoại ($f_{osc}$) và chu kỳ máy thực thi lệnh ($T_{ck}$): $$T_{ck} = \frac{12}{f_{osc}}$$ (Ví dụ: Với $f_{osc} = 12,\text{MHz}$, một chu kỳ máy chuẩn của vi điều khiển 8051 kéo dài chính xác $1,\mu\text{s}$).
  3. Cơ chế phân kênh ghép bus địa chỉ/dữ liệu: Nguyên lý giải đa hợp (demultiplexing) giữa byte thấp của bus địa chỉ ($A_0-A_7$) và bus dữ liệu ($D_0-D_7$) trên cổng $\text{P0}$ của 8051 thông qua tín hiệu chốt địa chỉ $\text{ALE}$ và vi mạch chốt ngoài.
  4. Kiến trúc thanh ghi chức năng đặc biệt (SFR): Cơ chế quản lý tài nguyên phần cứng thông qua các thanh ghi điều khiển ngắt ($\text{IE}$, $\text{IP}$), điều khiển truyền thông nối tiếp ($\text{SCON}$, $\text{SBUF}$), và điều khiển nguồn điện ($\text{PCON}$).

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Viết, biên dịch và gỡ lỗi chương trình hợp ngữ cho vi xử lý 8086 trên phần mềm emu8086; lập trình hợp ngữ cho 8051; viết mã nguồn C trên môi trường MPLAB X IDE với trình biên dịch XC8 cho PIC18F4550; thiết lập sơ đồ chân và mạch ghép nối phần cứng chuẩn (mạch dao động thạch anh, mạch reset ngoại, điện trở kéo lên Pull-up).
  • Kỹ năng phân tích (Analytical skills): Phân tích và tính toán thông số định thời cho các thanh ghi TMOD/TCON; tính toán dung lượng bộ nhớ mở rộng (lên tới 64 KB ROM/RAM ngoại); xác định trạng thái logic và các cờ điều kiện (CY, AC, OV, ZF, SF, PF) sau mỗi phép tính số học/logic.
  • Kỹ năng thực hành chuyên môn (Practical competencies): Vận hành bộ thí nghiệm phần cứng Lab-Volt 80386, thực hiện nhập mã HEX trực tiếp vào bộ nhớ qua các thao tác READ, WR, thiết lập con trỏ CS, IP, DS và chạy từng bước (STEP); nạp mã thực thi vào chip vi điều khiển thật và chạy mô phỏng kiểm thử hệ thống điều khiển.

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

Mô đun MĐ 32 áp dụng phương pháp tiếp cận tích hợp giữa lý thuyết vi kiến trúc và thực nghiệm lập trình phần cứng:

[Lý thuyết vi kiến trúc / Phần cứng]
[Cú pháp tập lệnh & Cấu trúc thanh ghi]
[Ví dụ mẫu & Phân tích cờ trạng thái]
[Thực hành biên dịch mô phỏng (emu8086 / MPLAB X)]
[Thao tác trực tiếp trên Kit phần cứng / Đánh giá]
  • Phương pháp sư phạm: Giảng viên trình bày cấu trúc phần cứng của từng dòng chip, tiếp nối bằng cú pháp và nguyên lý thực thi của từng nhóm lệnh (kèm thông số độ dài byte và số chu kỳ máy tiêu tốn). Mỗi nội dung lý thuyết đều có ví dụ mẫu cụ thể minh họa sự biến đổi dữ liệu trên thanh ghi và thanh ghi trạng thái PSW.
  • Bài tập và tình huống thực tế: Người học được giao các bài toán lập trình từ mức cơ bản đến nâng cao. Điển hình như:
    • Bài tập xử lý dữ liệu 8086: Viết chương trình cộng có nhớ chuỗi dữ liệu 4 byte từ địa chỉ $2432\text{H}$ và $2233\text{H}$, lưu kết quả vào $4367\text{H}$; chương trình trừ có mượn 4 byte từ địa chỉ $4153\text{H}$ và $3239\text{H}$, lưu vào $4172\text{H}$ (chỉ sử dụng các thanh ghi AX, BX, CX, DX, DI, SI, BP).
    • Bài tập thuật toán lặp và chuỗi: Phân tích đoạn mã lặp sử dụng lệnh INC AL, CMP AL, 0FH, LOOPNE; viết chương trình xuất chuỗi ký tự "lap trinh 8086"; chương trình nhập chuỗi ký tự và chuyển đổi tự động từ ký tự thường sang chữ in hoa.
    • Bài tập điều khiển ngoại vi: Lập trình các hiệu ứng hiển thị LED đơn, đọc tín hiệu từ bộ chuyển đổi ADC và truyền thông dữ liệu nối tiếp qua cổng COM máy tính.
  • Phương pháp đánh giá:
    • Đánh giá kiến thức: Kiểm tra viết và trắc nghiệm lý thuyết về cấu trúc vi xử lý, tập lệnh và chức năng thanh ghi.
    • Đánh giá kỹ năng: Kiểm tra thực hành trên máy tính và bộ thí nghiệm (gồm 3 bài kiểm tra định kỳ 1 giờ tại Bài 3, Bài 5 và Bài 7).
  • Hướng dẫn tự học: Tự giác cài đặt và làm quen với các công cụ phát triển phần mềm (emu8086, MPLAB, CCS, MikroC); tra cứu phụ lục tập lệnh và bảng trạng thái thanh ghi; tự thực hiện các bài tập mở rộng được nêu ở cuối mỗi bài học.

Điểm nổi bật và cập nhật của giáo trình

Giáo trình Vi điều khiển mang các đặc trưng kỹ thuật và tính cập nhật theo chuẩn chương trình đào tạo nghề năm 2021:

Hạng mục Nội dung thể hiện trong giáo trình
Tính đa dạng kiến trúc Tích hợp đồng thời 3 nền tảng kiến trúc trong một giáo trình: Vi xử lý CISC 16-bit (Intel 8086/8088, 80386), Vi điều khiển công nghiệp 8-bit chuẩn MCS-51 (8051, AT89C51, AT89S52) và Vi điều khiển nâng cao tích hợp ngoại vi chuyên dụng (PIC18F4550).
Công cụ phát triển Cập nhật hệ thống phần mềm và trình biên dịch từ hợp ngữ sang C bậc cao: emu8086, MPLAB X IDE, trình biên dịch XC8, XC16, CCS C, MikroC.
Gắn kết ngoại vi công nghiệp Trình bày nguyên lý và cấu hình các khối ngoại vi cốt lõi trong công nghiệp: bộ biến đổi ADC, giao tiếp truyền thông nối tiếp nối với cổng COM máy tính (sử dụng thạch anh $11.0592,\text{MHz}$), khối điều khiển công suất thấp qua thanh ghi PCON.
Tài liệu tham khảo & Phần cứng Tham chiếu trực tiếp đến các thiết bị thí nghiệm tiêu chuẩn công nghiệp như bộ Kit thực hành Lab-Volt 80386 và các dòng vi điều khiển được sản xuất bởi Intel, Microchip, Atmel, Philips.

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

  • Trình độ và ngành đào tạo: Giáo trình được biên soạn chính khóa cho sinh viên hệ Cao đẳng nghề ngành Cơ điện tử.
  • Điều kiện tiên quyết (Prerequisites): Người học bắt buộc phải hoàn thành các môn học/mô đun nền tảng kỹ thuật trước đó, bao gồm:
    • Linh kiện điện tử (nắm vững nguyên lý bán dẫn, diode, transistor, điện trở kéo lên).
    • Đo lường điện – điện tử (kỹ năng đo kiểm xung, điện áp logic, dòng điện).
    • Kỹ thuật số (hệ thống số nhị phân/hexadecimal, cổng logic, flip-flop, thanh ghi dịch, bộ đếm).
    • Điện tử công suất (nguyên lý điều khiển đóng cắt và phối ghép tầng công suất).
  • Ứng dụng cho các ngành liên quan: Giáo trình là tài liệu giảng dạy và tham khảo trực tiếp cho sinh viên, kỹ thuật viên các ngành: Điện tử dân dụng, Điện tử công nghiệp, Điện công nghiệp và Điện dân dụng.
  • Ứng dụng đối với giảng viên: Tài liệu cung cấp đề cương chi tiết, bảng phân bổ thời lượng 60 giờ (lý thuyết/thực hành/kiểm tra) và hệ thống bài tập mẫu làm cơ sở xây dựng giáo án lý thuyết, bài hướng dẫn thực hành xưởng và ngân hàng đề thi đánh giá năng lực nghề.

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

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

Tài liệu được biên soạn phục vụ trực tiếp cho sinh viên hệ Cao đẳng nghề ngành Cơ điện tử. Đồng thời, nội dung giáo trình phù hợp làm tài liệu tham khảo chuyên môn cho học viên các ngành Điện tử công nghiệp, Điện tử dân dụng, Điện công nghiệp và Điện dân dụng có nhu cầu học lập trình điều khiển phần cứng.

2. Cần chuẩn bị những 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 tích lũy kiến thức từ các mô đun tiên quyết: Linh kiện điện tử, Đo lường điện – điện tử, Kỹ thuật số (đặc biệt là kỹ năng chuyển đổi hệ đếm thập phân, nhị phân, Hexadecimal, bảng mã ASCII và đại số logic Boolean) và Điện tử công suất.

3. Giáo trình có điểm gì khác biệt về cấu trúc nội dung so với các tài liệu vi điều khiển truyền thống?

Giáo trình thiết lập lộ trình học tập từ kiến trúc vi xử lý tổng quát (Intel 8086) với cơ chế quản lý bộ nhớ phân đoạn và tập lệnh hợp ngữ 16-bit, sau đó chuyển tiếp sang cấu trúc phần cứng vi điều khiển chuyên dụng MCS-51, và mở rộng sang dòng vi điều khiển PIC18F4550 lập trình bằng ngôn ngữ C thông qua trình biên dịch XC8.

4. Phương pháp tự học giáo trình này như thế nào để đạt hiệu quả cao?

Người học cần kết hợp việc đọc hiểu cấu trúc thanh ghi, sơ đồ chân với việc trực tiếp viết lại các đoạn mã hợp ngữ/C mẫu vào các phần mềm giả lập (emu8086, MPLAB X IDE). Sau đó, tiến hành phân tích sự biến đổi của thanh ghi trạng thái (PSW, FR) và cờ nhớ, trước khi nạp mã HEX vào bộ thí nghiệm Lab-Volt 80386 hoặc chip phần cứng.

5. Có những công cụ phần mềm và tài liệu bổ trợ nào đi kèm với giáo trình?

Giáo trình đề cập đến các công cụ phần mềm: phần mềm mô phỏng và hợp dịch emu8086, phần mềm PWB (Microsoft Programmer’s WorkBench 1.x), môi trường tích hợp MPLAB X IDE, các trình biên dịch XC8, XC16, CCS C, MikroC, kết hợp với tài liệu hướng dẫn vận hành bộ thí nghiệm Lab-Volt 80386.


Kết luận

Giáo trình Vi điều khiển (MĐ 32) của tác giả Đỗ Hữu Hậu là tài liệu đào tạo nghề mô tả hệ thống kiến thức vi xử lý và vi điều khiển từ cấp độ hợp ngữ phần cứng đến ngôn ngữ lập trình bậc cao. Với thời lượng 60 giờ phân bổ cân bằng giữa lý thuyết và thực hành, giáo trình thiết lập lộ trình học tập chặt chẽ: bắt đầu từ nền tảng vi kiến trúc Intel 8086, làm chủ kỹ thuật lập trình hệ vi điều khiển công nghiệp 8051, tiếp cận vi điều khiển PIC18F4550, và hoàn thiện năng lực mô phỏng điều khiển hệ thống. Đây là khối kiến thức cơ sở định hình năng lực kỹ thuật cần thiết để người học tiếp tục tiếp cận các hệ thống tự động hóa phức tạp như MPS và Robot công nghiệp trong chương trình đào tạo Cơ điện tử.