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

Giáo trình mô đun Vi điều khiển cơ bản (Mã mô đun: MĐ 16) là tài liệu giảng dạy chuyên môn nghề thuộc hệ thống chương trình đào tạo nghề Điện tử dân dụng (hệ Trung cấp và Cao đẳng), do Trường Cao đẳng nghề Cần Thơ xây dựng và ban hành năm 2021, với vị trí chủ biên do Đỗ Hữu Hậu đảm nhiệm. Trong tiến trình đào tạo, mô đun MĐ 16 được bố trí giảng dạy sau khi người học đã hoàn thành các mô đun cơ sở bao gồm: Linh kiện điện tử, Đo lường điện – điện tử, Kỹ thuật số và Điện tử công suất.

TIẾN TRÌNH ĐÀO TẠO TIÊN QUYẾT:

Mục tiêu học tập của giáo trình tập trung vào ba chuẩn đầu ra chính:

  • Kiến thức: Trình bày hệ thống đếm, nguyên lý mã hóa máy tính, kiến trúc logic phần cứng của họ vi xử lý Intel 80x86 và họ vi điều khiển MCS-51 (8051); giải thích nguyên lý vận hành của các hệ thống điều khiển số.
  • Kỹ năng: Lập trình thành thạo hợp ngữ (Assembly), thao tác ghép nối phần cứng vi điều khiển với các khối ngoại vi, xử lý tín hiệu cổng, nạp chương trình điều khiển vào bộ nhớ chip (như AT89C51, AT89S52) và vận hành các bộ thí nghiệm chuyên dụng.
  • Năng lực tự chủ và trách nhiệm: Xây dựng phương pháp tư duy kỹ thuật độc lập, khả năng chẩn đoán lỗi phần cứng/phần mềm và tuân thủ quy trình an toàn 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 tài liệu tiếp cận từ kiến trúc xử lý tổng quát (vi xử lý 16-bit) đến vi điều khiển chuyên dụng (8-bit), kết hợp phân tích tập lệnh máy và quy trình nạp - chạy thực nghiệm trên phần cứng. Điểm đặc thù của tài liệu là cung cấp thông số kỹ thuật chi tiết về thời gian thực thi (chu kỳ máy), dung lượng bộ nhớ (byte) cho từng lệnh và cấu trúc sơ đồ chân thực tế của linh kiện.


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

CẤU TRÚC PHÂN PHỐI 60 GIỜ ĐÀO TẠO (MĐ 16):

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

  1. Bài 1: Họ vi xử lý INTEL 80x86 (16 giờ)
    Phân tích cấu trúc logic gồm hai khối xử lý độc lập: Khối giao diện Bus (BIU) chứa hàng đợi lệnh FIFO độ dài 6 byte và Khối thực hiện lệnh (EU) tích hợp khối làm tính số học/logic (ALU). Phân đoạn không gian bộ nhớ 1MB vật lý dựa trên công thức: $$\text{Địa chỉ vật lý (20-bit)} = \text{Thanh ghi đoạn (Segment)} \times 16 + \text{Thanh ghi lệch (Offset)}$$ Hệ thống thanh ghi bao gồm các thanh ghi đoạn (CS, DS, SS, ES), thanh ghi đa năng 16-bit (AX, BX, CX, DX có thể tách thành các byte cao/thấp AH/AL, BH/BL, CH/CL, DH/DL), các thanh ghi con trỏ và chỉ số (IP, BP, SP, SI, DI), cùng thanh ghi cờ FR 16-bit (khảo sát 9 bit cờ gồm CF, PF, AF, ZF, SF, OF, TF, IF). Bài học cũng phân loại 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ố) và cú pháp lập trình file dạng .EXE (đoạn mở đầu PSP 256 byte) và .COM.

  2. Bài 2: Cấu trúc họ vi điều khiển 8051 (4 giờ)
    Khảo sát sơ đồ vi điều khiển 40 chân dạng vỏ DIP:

    • 4 cổng xuất nhập 8-bit (P0 tại chân 32–39, P1 tại chân 1–8, P2 tại chân 21–28, P3 tại chân 10–17). Dòng tải khi xuất mức logic 0 ở P0 đạt tối đa -25mA, các cổng P1, P2, P3 đạt -15mA; khi xuất mức logic 1, dòng ra dưới 5mA (dao động mức áp 3.9V, yêu cầu điện trở kéo lên pull-up ở P0).
    • Các chân điều khiển: $\overline{\text{PSEN}}$ (chân 29 - cho phép đọc ROM ngoài), ALE (chân 30 - chốt địa chỉ byte thấp ra khỏi bus đa hợp, tần số bằng $1/6$ tần số dao động thạch anh), $\overline{\text{EA}}$ (chân 31 - chọn ROM nội khi nối 5V hoặc ROM ngoại khi nối 0V), RST (chân 9 - ngõ vào reset hệ thống, yêu cầu mức cao tối thiểu 2 chu kỳ máy, tích hợp mạch RC với $R = 10,\text{k}\Omega$, $C = 10,\mu\text{F}$).
    • Mạch dao động: Chân XTAL1, XTAL2 ghép nối thạch anh 12MHz, tương ứng chu kỳ máy: $$T_{\text{ck}} = \frac{12}{f_{\text{zat}}} = \frac{12}{12 \times 10^6,\text{Hz}} = 1,\mu\text{s}$$
    • Tổ chức bộ nhớ: Không gian ROM nội 4KB (Flash ROM ở dòng 89Sxx mở rộng đến 64KB ROM ngoài qua $\overline{\text{EA}}$). Bộ nhớ RAM nội 128 byte gồm: 4 bank thanh ghi (Bank 0 đến Bank 3, địa chỉ 00H–1FH), vùng RAM định địa chỉ bit (địa chỉ 20H–2FH chứa 128 bit đánh số từ 00H đến 7FH), vùng RAM đa dụng (địa chỉ 30H–7FH, dung lượng 80 byte) và 21 thanh ghi chức năng đặc biệt SFR (địa chỉ 80H–FFH) như PSW (D0H), ACC (E0H), B (F0H), SP (81H, giá trị mặc định khi reset là 07H), DPTR (ghép từ DPL 82H và DPH 83H), PCON (87H).
SƠ ĐỒ PHÂN BỐ RAM NỘI 128 BYTE CỦA 8051:
  1. Bài 3: Tập lệnh 8051 (16 giờ)
    Khảo sát chi tiết cấu trúc mã máy, dung lượng byte và thời gian thực thi:

    • Nhóm lệnh số học: ADD, ADDC, SUBB (ảnh hưởng cờ C, AC, OV), INC, DEC, lệnh nhân MUL AB (1 byte, 4 chu kỳ máy, byte thấp lưu ở A, byte cao lưu ở B, tràn thiết lập cờ OV), lệnh chia DIV AB (1 byte, 4 chu kỳ máy, thương lưu ở A, số dư lưu ở B), lệnh hiệu chỉnh thập phân DA A (chuyển đổi nhị phân sang định dạng BCD sau phép cộng).
    • Nhóm lệnh logic: ANL, ORL, XRL, lệnh xóa CLR A, bù CPL A, các lệnh xoay thanh ghi A gồm xoay vòng trái/phải RL A, RR A, xoay qua cờ nhớ RLC A, RRC A và lệnh hoán đổi 4 bit SWAP A.
    • Nhóm lệnh chuyển dữ liệu: MOV (giữa các thanh ghi Rn, ô nhớ trực tiếp direct, con trỏ gián tiếp @Ri, hằng số tức thì #data), lệnh trao đổi XCH A, byte, XCHD A, @Ri (trao đổi 4 bit thấp), truy xuất ROM qua MOVC A, @A+DPTR hoặc MOVC A, @A+PC, truy xuất RAM ngoài qua MOVX A, @DPTR và ngăn xếp PUSH direct, POP direct.
    • Nhóm lệnh Boolean: Thao tác bit đơn trên cờ nhớ C và các bit nhớ định địa chỉ (CLR C/bit, SETB C/bit, CPL C/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: Gọi chương trình con tuyệt đối ACALL addr11 (phạm vi 2KB, 2 byte, 2 chu kỳ máy), LCALL addr16 (phạm vi 64KB, 3 byte, 2 chu kỳ máy); lệnh trở về RET, RETI; các lệnh nhảy AJMP addr11, LJMP addr16, nhảy tương đối SJMP rel (phạm vi $-128 \dots +127$ byte), nhảy gián tiếp JMP @A+DPTR, kiểm tra điều kiện JZ rel, JNZ rel.
  2. Bài 4: Bộ định thời - Timer/Counter (8 giờ)
    Cấu hình 2 bộ định thời 16-bit (Timer 0: TL0 tại địa chỉ 8AH, TH0 tại địa chỉ 8CH; Timer 1: TL1 tại địa chỉ 8BH, TH1 tại địa chỉ 8DH). Thiết lập chế độ thông qua thanh ghi chức năng TMOD (địa chỉ 89H) và điều khiển hoạt động qua thanh ghi TCON (địa chỉ 88H).

  3. Bài 5: Cổng nối tiếp - Serial Port (8 giờ)
    Cơ chế truyền thông UART không đồng bộ; thanh ghi đệm dữ liệu SBUF (địa chỉ 99H), thanh ghi điều khiển cổng nối tiếp SCON (địa chỉ 98H); cơ chế nhân đôi tốc độ baud thông qua bit SMOD1 thuộc thanh ghi điều khiển nguồn PCON (địa chỉ 87H).

  4. Bài 6: Ngắt - Interrupt (8 giờ)
    Tổ chức 5 nguồn ngắt chuẩn (2 ngắt ngoài $\overline{\text{INT0}}$, $\overline{\text{INT1}}$; 2 ngắt tràn bộ định thời Timer 0, Timer 1; 1 ngắt truyền thông nối tiếp RI/TI). Cấu hình cho phép ngắt qua thanh ghi IE (địa chỉ A8H) và thiết lập 2 mức ưu tiên ngắt qua thanh ghi IP (địa chỉ B8H).

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

  • Nguyên lý kiến trúc xử lý: Mô hình phân đoạn bộ nhớ (Segment - Offset) của CPU x86; cơ chế xen kẽ nạp/thực thi lệnh nhờ hàng đợi FIFO; kiến trúc Harvard của 8051 với không gian bộ nhớ chương trình (ROM) và bộ nhớ dữ liệu (RAM) tách rời.
  • Nguyên lý ghép nối phần cứng: Giải đa hợp bus địa chỉ/dữ liệu bằng vi mạch chốt ngoài thông qua tín hiệu điều khiển ALE; mạch dao động tạo nhịp thạch anh; mạch vi phân/tích phân RC tạo tín hiệu Reset khởi động.
  • Nguyên lý điều khiển số: Cơ chế quản lý công suất thông qua các bit điều khiển PD (Power Down) và IDL (Idle) trên thanh ghi PCON; cơ chế định vị bit đơn phục vụ điều khiển logic ngoại vi.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật: Viết, biên dịch và gỡ lỗi chương trình hợp ngữ trên các môi trường phần mềm lập trình như emu8086 và Microsoft Programmer's Work-Bench (PWB); nạp mã máy (mã HEX) vào chip vi điều khiển họ 89C51/89S52.
  • Kỹ năng phân tích: Tính toán dung lượng mã nguồn, giải mã địa chỉ vật lý, phân bổ tài nguyên ngăn xếp (SP), xác định trạng thái các cờ hiệu (PSW, FR) sau khi thực thi phép toán.
  • Năng lực thực hành nghề nghiệp: Vận hành và thao tác trên bộ thí nghiệm Lab-Volt 80386; nhập mã HEX trực tiếp vào RAM thí nghiệm bằng các phím chức năng READ, WR, thiết lập con trỏ CS, IP, DS và thực hiện chạy từng bước (STEP) để kiểm tra dữ liệu thanh ghi.

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

QUY TRÌNH HỌC TẬP VÀ THỰC HÀNH CÔNG NGHỆ:

Giáo trình triển khai phương pháp giảng dạy tích hợp giữa bài giảng lý thuyết kiến trúc và bài tập thực nghiệm trực tiếp. Cấu trúc mỗi bài học bao gồm phần phân tích nguyên tắc logic của lệnh máy, theo sau là các ví dụ minh họa và bài tập vận dụng ngay trên thanh ghi.

Hệ thống bài tập và thực hành

Tài liệu cung cấp các dạng bài toán kỹ thuật từ cơ bản đến mở rộng:

  • Bài toán số học nhiều byte: Lập trình chương trình cộng có nhớ 4 byte dữ liệu từ địa chỉ 2432H và 2233H, lưu kết quả vào địa chỉ 4367H (sử dụng các thanh ghi AX, BX, CX, DX, DI, SI). Lập trình chương trình trừ có mượn 4 byte từ địa chỉ 4153H và 3239H, lưu kết quả vào 4172H.
  • Bài toán xử lý chuỗi và vòng lặp: Phân tích đoạn mã điều khiển vòng lặp kiểm tra điều kiện thoát LOOPNE với cờ ZF và thanh ghi đếm CX:
    MOV AL, AH
    MOV CX, 50
    LAP: INC AL
         CMP AL, 0FH
         LOOPNE LAP
    
  • Bài toán giao tiếp và biến đổi dữ liệu: Viết chương trình xuất chuỗi ký tự "lap trinh 8086" ra màn hình; viết chương trình nhập chuỗi ký tự từ bàn phím và chuyển đổi ký tự thường thành ký tự hoa.

Phương pháp đánh giá và hướng dẫn tự học

  • Phương pháp đánh giá:
    • Đánh giá kiến thức lý thuyết thông qua các bài kiểm tra viết và câu hỏi trắc nghiệm khách quan về chức năng lệnh, sơ đồ chân và tổ chức bộ nhớ.
    • Đánh giá kỹ năng thực hành thông qua các bài kiểm tra trực tiếp định kỳ tại Bài 2, Bài 4 và Bài 6, tập trung vào khả năng lập trình, nạp mã HEX và vận hành mạch thí nghiệm.
  • Quy trình tự học: Người học sử dụng phần mềm emu8086 để tạo các mẫu template (.com, .exe), viết mã nguồn, nhấn F5 để dịch và thực hiện gỡ rối (debug), theo dõi sự thay đổi của từng bit cờ trạng thái trước khi chuyển mã sang các kit vi điều khiển thực tế.

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

  • Tính cập nhật theo chương trình đào tạo 2021: Nội dung biên soạn bám sát chương trình khung năm 2021 của Trường Cao đẳng nghề Cần Thơ, cập nhật danh mục linh kiện họ vi điều khiển MCS-51 từ các nhà sản xuất bán dẫn như Atmel, Philips, Siemens, AMD (bao gồm các dòng chip Flash ROM phổ dụng: AT89C2051, AT89C51, AT89S52, AT89S8252, P89V51RDxx). Việc sử dụng bộ nhớ Flash ROM cho phép nạp và xóa chương trình nhiều lần bằng tín hiệu điện, thay thế cho các dòng vi điều khiển ROM mặt kính (EPROM) đời cũ phải xóa bằng tia cực tím.
  • Định lượng thông số phần cứng chính xác: Giáo trình xác định rõ các giới hạn vật lý của linh kiện, như mức tiêu thụ dòng tại ngõ ra của các cổng I/O (dòng rút mức 0 của P0 đạt -25mA, các cổng còn lại đạt -15mA; dòng đẩy mức 1 chỉ từ 1mA đến 5mA, không đủ để kích sáng trực tiếp đèn LED nếu không mắc theo cấu hình cực thu hở hoặc thêm đệm).
  • Phân tích cơ chế tiết kiệm năng lượng công nghiệp: Tích hợp hướng dẫn sử dụng thanh ghi PCON với hai chế độ nguồn giảm:
    • Chế độ nghỉ (Idle): Bit IDL = 1, CPU ngừng nhận xung nhịp nhưng các khối ngoại vi (Timer, Serial, Ngắt) vẫn hoạt động, thoát chế độ bằng tín hiệu ngắt hoặc Reset.
    • Chế độ nguồn giảm (Power Down): Bit PD = 1, toàn bộ mạch dao động bên trong ngừng hoạt động, duy trì nội dung RAM với điện áp nguồn $V_{\text{cc}}$ tối thiểu 2V, giúp tối ưu hóa công suất cho các thiết bị điều khiển sử dụng nguồn pin.

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

  • Sinh viên chuyên ngành: Học sinh, sinh viên hệ Trung cấp và Cao đẳng thuộc 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à Điện dân dụng.
  • Kiến thức tiên quyết bắt buộc: Người học cần hoàn thành các học phần: Linh kiện điện tử (hiểu rõ tiếp giáp bán dẫn, transistor, logic TTL/CMOS), Đo lường điện – điện tử (sử dụng dao động ký, đồng hồ vạn năng đo xung nhịp), Kỹ thuật số (đại số logic Boolean, cổng logic, hệ đếm nhị phân, mã BCD, mạch chốt) và Điện tử công suất.
  • Giảng viên và kỹ thuật viên: Sử dụng làm đề cương và giáo án giảng dạy thực hành chuẩn cho khung thời lượng 60 giờ; làm tài liệu tham khảo kỹ thuật cho kỹ thuật viên vận hành, bảo trì các hệ thống điều khiển tự động và dây chuyền sản xuất sử dụng chip vi điều khiển trong công nghiệp.

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 thiết kế cho người học hệ Trung cấp và Cao đẳng các khối ngành kỹ thuật Điện – Điện tử, Cơ điện tử và Tự động hóa cần xây dựng nền tảng lập trình điều khiển phần cứng từ cấp độ thanh ghi.

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 bắt buộc phải nắm vững kiến thức về kỹ thuật số (hệ đếm nhị phân/hexadecimal, cổng logic, flip-flop), mạch linh kiện điện tử cơ bản và phương pháp đo kiểm đại lượng điện để có thể tiếp thu kiến thức về tổ chức bộ nhớ và ghép nối ngoại vi.

3. Điểm khác biệt giữa vi xử lý 8086 và vi điều khiển 8051 được trình bày trong giáo trình là gì?

Giáo trình phân định rõ: Vi xử lý 8086 là bộ xử lý trung tâm 16-bit thuần túy, không tích hợp sẵn bộ nhớ và cổng ngoại vi trên chip (yêu cầu ghép nối thêm mạch ngoài qua bus 20-bit). Ngược lại, vi điều khiển 8051 là hệ thống hoàn chỉnh trên một chip (SoC) gồm CPU 8-bit, 4KB ROM, 128 byte RAM, 4 cổng I/O, Timer và UART, tối ưu cho các bài toán điều khiển nhúng chuyên biệt.

4. Làm thế nào để thực hành hiệu quả theo các bài học trong giáo trình?

Người học cần thực hiện tuần tự: viết mã nguồn hợp ngữ trên phần mềm emu8086 hoặc PWB, kiểm tra trạng thái thanh ghi và cờ qua chế độ mô phỏng từng bước (Step by Step), sau đó nạp mã HEX vào bộ thí nghiệm Lab-Volt 80386 hoặc mạch vi điều khiển 89S52 để đối chứng kết quả thực tế trên phần cứng.

5. Giáo trình đi kèm các công cụ phần mềm và thiết bị thí nghiệm nào?

Tài liệu sử dụng môi trường soạn thảo/hợp dịch Microsoft Programmer's Work-Bench (PWB v1.x), phần mềm mô phỏng emu8086 và hệ thống phần cứng thực hành chuyên dụng Lab-Volt 80386 cùng các dòng chip vi điều khiển Flash họ MCS-51.


Kết luận

Giáo trình Vi điều khiển cơ bản (Mã mô đun: MĐ 16) cung cấp hệ thống kiến trúc phần cứng và tập lệnh hợp ngữ của họ vi xử lý Intel 80x86 và họ vi điều khiển MCS-51 một cách toàn diện. Lộ trình học tập 60 giờ được cấu trúc logic từ nguyên lý định địa chỉ, quản lý thanh ghi đến kỹ thuật điều khiển Timer, cổng nối tiếp và xử lý ngắt, tạo nền tảng chuyên môn để người học tiếp tục tiếp cận mô đun Vi điều khiển nâng cao và ứng dụng vào thực tế sản xuất công nghiệp. Người học có thể tham khảo thêm các sơ đồ mạch chốt địa chỉ, bảng vector ngắt và tài liệu kỹ thuật tra cứu mã lệnh đính kèm trong phần phụ lục của giáo trình.