Giáo trình Kỹ thuật Vi điều khiển: Tổng quan chương trình và Cấu trúc kiến thức

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

Giáo trình Kỹ thuật Vi điều khiển (Mã mô đun: MĐTC14020040) là tài liệu đào tạo chuyên ngành thuộc chương trình đào tạo nghề Điện tử công nghiệp ở trình độ Trung cấp và Cao đẳng nghề, được ban hành theo Quyết định của Hiệu trưởng Trường Cao đẳng Công nghiệp và Thương mại (Bộ Công Thương) năm 2018. Trong khung chương trình đào tạo, đây là mô đun chuyên ngành mang tính chất bắt buộc, được bố trí giảng dạy sau khi người học đã hoàn thành mô đun tiên quyết là Kỹ thuật vi xử lý.

Tổng thời lượng thực hiện mô đun là 75 giờ, được phân bổ thành:

  • Lý thuyết: 15 giờ
  • Thực hành, thí nghiệm, thảo luận, bài tập: 57 giờ
  • Kiểm tra định kỳ: 3 giờ

Mục tiêu học tập (Learning Outcomes) của giáo trình hướng tới việc chuẩn hóa kiến thức và kỹ năng thực hành vi điều khiển cho người học:

  • Về kiến thức: Mô tả chi tiết cấu trúc phần cứng bên trong, sơ đồ khối, tổ chức bộ nhớ, chức năng các cổng vào/ra (Port) và các ngoại vi tích hợp của dòng vi điều khiển 8-bit Microchip PIC 18F4520; giải thích hệ thống các tập lệnh và cấu trúc lập trình C điều khiển vi điều khiển; trình bày nguyên lý hoạt động của các hệ thống ứng dụng vi điều khiển trong dân dụng và công nghiệp.
  • Về kỹ năng: Xây dựng lưu đồ thuật toán cho các bài toán điều khiển cơ bản; viết mã nguồn bằng ngôn ngữ C trên môi trường MPLAB IDE v8.70 với trình biên dịch Microchip C Compiler (MCC18); biên dịch, gỡ rối, nạp chương trình vào chip thực và kết nối điều khiển các linh kiện ngoại vi (LED đơn, LED 7 đoạn trực tiếp/quét, màn hình LCD, khối định thời Timer/Counter, vi mạch thời gian thực DS1307).
  • Về năng lực tự chủ và trách nhiệm: Rèn luyện tác phong công nghiệp, phương pháp làm việc nhóm, tính cẩn thận, tỷ mỷ và tuân thủ các quy tắc an toàn thiết bị phần cứng trong phòng thí nghiệm.

Cấu trúc giáo trình được xây dựng theo phương pháp tiếp cận mô-đun tích hợp, kết hợp đồng bộ giữa lý thuyết kiến trúc phần cứng và thực hành lập trình ứng dụng trên nền tảng vi điều khiển PIC 18F4520. Điểm đặc thù của giáo trình là phân bổ thời lượng thực hành chiếm tới 76% tổng thời lượng (57/75 giờ), lấy việc khảo sát thanh ghi chức năng đặc biệt (SFR) và thực thi mạch phần cứng thực tế làm trọng tâm.


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

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

Giáo trình được chia thành 4 bài học chính với tiến trình logic từ kiến trúc phần cứng, tổ chức bộ nhớ, kỹ thuật lập trình C đến ghép nối ngoại vi ứng dụng:

  • Bài 1: Điều khiển PIC 18F4520: Đặc tính, cấu trúc, chức năng các Port (9 giờ: 3 LT - 6 TH) Khảo sát tổng quan vi điều khiển họ Microchip và cấu tạo vi điều khiển theo kiến trúc Harvard. Phân tích chi tiết các khối chức năng của chip PIC 18F4520: CPU hoạt động ở tần số tối đa 40 MHz sản xuất bằng công nghệ nanoWatt; đường ống lệnh (Instruction Pipelining); bộ nhân phần cứng 8x8 (kết quả lưu trong cặp thanh ghi PRODH:PRODL); bộ đếm chương trình (Program Counter - PC) 21 bit; 31 mức ngăn xếp (Stack); bộ phát xung nội (31 kHz và 8 MHz); bộ định thời giám sát Watchdog Timer (WDT) từ 4 ms đến 131,072 s; các khối ngoại vi tích hợp (HLVD, 4 bộ Timer/Counter, bộ so sánh Comparator, 2 bộ CCP/ 1 bộ ECCP, cổng truyền thông nối tiếp MSSP hỗ trợ SPI/I2C, cổng nối tiếp EUSART, 13 kênh ADC 10-bit); cùng 5 cổng vào/ra (PORTA đến PORTE). Phân tích sơ đồ chân thực tế theo các kiểu đóng vỏ: PDIP (40 chân cắm), TQFP (44 chân dán vỏ mỏng) và QFN (44 chân dán phẳng dưới đế).

  • Bài 2: Tổ chức bộ nhớ thanh ghi (16 giờ: 3 LT - 12 TH - 1 KT) Khảo sát cấu trúc phân vùng bộ nhớ của PIC 18F4520: Bộ nhớ chương trình Flash dung lượng 32 Kbytes (địa chỉ 0000h đến 7FFFh, quản lý tối đa 2 Mbytes không gian nhớ với PC 21-bit, vector Reset tại 0000h, vector ngắt ưu tiên cao tại 0008h, vector ngắt ưu tiên thấp tại 0018h); Bộ nhớ dữ liệu SRAM 1536 bytes phân chia thành 16 Bank thông qua thanh ghi lựa chọn băng (Bank Select Register - BSR), bao gồm vùng RAM đa dụng GPR (Bank 0 đến Bank 2) và vùng thanh ghi chức năng đặc biệt SFR (Bank 15); Bộ nhớ EEPROM 256 bytes lưu trữ dữ liệu không bay hơi với độ bền 100.000 chu kỳ ghi/đọc và lưu trữ 100 năm. Khảo sát 10 chế độ tạo dao động (LP, XT, HS, HSPLL, RC, RCIO, INTIO1, INTIO2, EC, ECIO) thiết lập qua các bit FOSC3:FOSC0 trong thanh ghi CONFIG1H. Phân tích 8 nguồn Reset hệ thống: Reset khi bật nguồn (POR), Reset chân ngoài (MCLR), Reset quản lý nguồn, Reset do Watchdog Timer, Reset sụt áp (BOR), Reset bằng lệnh phần mềm, Reset do đầy ngăn xếp (Stack Full) và Reset do rỗng ngăn xếp (Stack Underflow).

  • Bài 3: Lập trình điều khiển với VĐK PIC 18F4520 (20 giờ: 3 LT - 16 TH - 1 KT) Cung cấp cú pháp ngôn ngữ lập trình C cho PIC 18F4520, các kiểu dữ liệu nguyên (char, signed char, unsigned char, int, unsigned int, short, unsigned short, short long 24 bit, long 32 bit), kiểu số thực (float 32 bit), và các kiểu định nghĩa bit/thanh ghi (bit, sbit, sfr, sfr16). Trình bày phân vùng lưu trữ biến (CODE, DATA, BDATA, IDATA, PDATA, XDATA) và các từ khóa con trỏ/vị trí bộ nhớ (far, near, rom, ram). Giới thiệu quy trình biên dịch của MCC18 (Microchip C Compiler) chuẩn ANSI X3 qua 3 bước (biên dịch mã nguồn .c sang .o, liên kết thư viện qua MPLIB, tạo mã máy .hex qua MPLINK) trên giao diện MPLAB IDE v8.70. Hướng dẫn lập trình cấu trúc rẽ nhánh, vòng lặp (while, if/else, switch/case, for, do/while), các phép toán thao tác bit (&, |, ^, ~, <<, >>), cách tạo hàm, nhúng mã hợp ngữ (_asm ... _endasm), và xây dựng hàm phục vụ ngắt thông qua các chỉ thị tiền xử lý #pragma code và #pragma interrupt. Phân tích hệ thống logic ngắt 2 cấp ưu tiên và 10 thanh ghi điều khiển ngắt (RCON, INTCON, INTCON2, INTCON3, PIR1, PIR2, PIE1, PIE2, IPR1, IPR2).

  • Bài 4: Port xuất nhập, Timer – Counter (30 giờ: 6 LT - 23 TH - 1 KT) Phân tích thông số dòng/áp của các cổng xuất nhập và cách cấu hình chiều dữ liệu bằng thanh ghi TRIS, thanh ghi chốt LAT và thanh ghi đọc PORT. Xây dựng các ứng dụng điều khiển: mạch nháy LED đơn; mạch hiển thị LED 7 đoạn trực tiếp; mạch quét nhiều LED 7 đoạn; mạch giao tiếp màn hình tinh thể lỏng LCD 8-bit/4-bit. Khảo sát cấu trúc và nguyên lý lập trình 4 khối định thời Timer0, Timer1, Timer2, Timer3 ở chế độ định thời (Timer) và đếm sự kiện ngoài (Counter). Hướng dẫn thiết lập thanh ghi điều khiển Timer, tính toán giá trị nạp trước (preload value) và lập trình giao tiếp với IC đồng hồ thời gian thực DS1307 thông qua bus truyền thông nối tiếp.

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

Lĩnh vực nền tảng Nội dung chi tiết trong giáo trình
Kiến trúc phần cứng (Harvard & RISC) Tách biệt đường bus mã lệnh và bus dữ liệu; cơ chế nạp lệnh trước và thực thi lệnh song song (Pipelining); đơn vị số học logic ALU và thanh ghi tích lũy WREG.
Hệ thống thanh ghi chức năng Bản đồ thanh ghi SFR ở Bank 15; quản lý trạng thái qua thanh ghi STATUS, thanh ghi cấu hình CONFIG1H, RCON, các thanh ghi điều khiển ngoại vi.
Hệ thống xử lý ngắt (Interrupts) Cơ chế ngắt ưu tiên 2 mức: Vector ngắt cao (0008h) và Vector ngắt thấp (0018h); phân bổ cờ ngắt (Flag), bit cho phép ngắt (Enable), bit ưu tiên ngắt (Priority), bit ngắt toàn cục (GIE/GIEH) và ngắt ngoại vi (PEIE/GIEL).
Bộ nhớ không bay hơi Phân biệt không gian Flash ROM lưu mã chương trình và mảng EEPROM 256 bytes lưu dữ liệu hiệu chuẩn dài hạn truy cập qua thanh ghi gián tiếp.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Cài đặt và sử dụng thành thạo phần mềm MPLAB IDE v8.70, trình biên dịch MCC18; viết và gỡ rối chương trình C nhúng; nạp mã hex vào chip qua giao tiếp ICSP (In-Circuit Serial Programming); cấu hình chính xác các thanh ghi phần cứng cho cổng I/O, Timer và ngắt.
  • Kỹ năng phân tích (Analytical skills): Phân tích sơ đồ chân chip đa hợp nhiều chức năng; giải mã giản đồ thời gian đọc/thực thi mã lệnh; tính toán tần số xung nhịp hệ thống dựa trên cấu hình bộ phát xung (LP, XT, HS, HSPLL, RC, EC); tính chu kỳ định thời cho các bộ Timer0 đến Timer3.
  • Kỹ năng thực hành (Practical competencies): Đấu nối mạch vi điều khiển với các khối hiển thị (LED đơn, LED 7 thanh, LCD) và cảm biến/thiết bị ngoại vi (DS1307); xử lý sự cố phần cứng, đo kiểm mức logic chân chip, đảm bảo an toàn thiết bị điện tử theo tiêu chuẩn kỹ thuật công nghiệp.

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

Tiếp cận sư phạm

Giáo trình áp dụng mô hình giảng dạy tích hợp lý thuyết gắn liền với thực hành nghề:

  • Thời lượng thực hành chiếm ưu thế: Trong tổng số 75 giờ đào tạo, thời gian dành cho thực hành, thí nghiệm, thảo luận và giải quyết bài tập là 57 giờ (76%), trong khi lý thuyết chiếm 15 giờ (20%).
  • Trình tự sư phạm: Giảng viên thuyết giảng nguyên lý phần cứng và giải thích sơ đồ thanh ghi $\rightarrow$ Hướng dẫn phân tích lưu đồ thuật toán và cú pháp mã nguồn C $\rightarrow$ Sinh viên trực tiếp thao tác viết code trên máy tính, biên dịch trên MPLAB IDE v8.70 $\rightarrow$ Đấu nối phần cứng trên kit thí nghiệm, nạp chương trình vào chip PIC 18F4520 và quan sát kết quả hoạt động.

Bài tập và thực hành ứng dụng

Hệ thống bài tập thực hành được thiết kế bám sát các ứng dụng kỹ thuật:

  1. Bài tập cấu hình Port và điều khiển LED: Viết mã C điều khiển xuất mức logic trên các chân PORTA, PORTB, PORTC, PORTD; tạo hàm trễ thời gian Delay10KTCYx(); lập trình hiệu ứng chớp tắt và dịch chuyển LED đơn.
  2. Bài tập giải mã LED 7 đoạn: Lập trình xuất mã BCD điều khiển LED 7 đoạn đơn (hiển thị trực tiếp) và lập trình giải thuật quét nhiều LED 7 đoạn hiển thị số đếm đa chữ số.
  3. Bài tập giao tiếp màn hình LCD: Định cấu hình các chân điều khiển RS, RW, E và bus dữ liệu; viết các hàm khởi tạo LCD, gửi lệnh điều khiển (xóa màn hình, di chuyển con trỏ) và gửi ký tự/chuỗi ký tự hiển thị.
  4. Bài tập định thời Timer/Counter: Thiết lập các thanh ghi T0CON, T1CON, T2CON, T3CON; lập trình bộ đếm sự kiện xung ngoài đưa vào chân T0CKI hoặc T13CKI; lập trình tạo trễ chính xác bằng ngắt tràn Timer.
  5. Bài tập xử lý ngắt ngoài và ngắt ngoại vi: Cấu hình ngắt ngoài trên các chân RB0/INT0, RB1/INT1, RB2/INT2 theo sườn xung qua thanh ghi INTCON2; thiết lập thứ tự ưu tiên ngắt trong thanh ghi IPR1/IPR2; xây dựng hàm phục vụ ngắt bằng cú pháp #pragma interrupt.
  6. Bài tập giao tiếp module thời gian thực: Kết nối bus truyền thông với IC DS1307, đọc/ghi dữ liệu thời gian (giờ, phút, giây, ngày, tháng, năm) và hiển thị lên LCD.

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

  • Đánh giá định kỳ: Giáo trình bố trí 3 giờ kiểm tra định kỳ được tích hợp tại cuối Bài 2 (1 giờ), Bài 3 (1 giờ) và Bài 4 (1 giờ). Phương thức kiểm tra bao gồm trắc nghiệm/tự luận kiến thức phần cứng thanh ghi và thực hành viết code giải quyết bài toán điều khiển trực tiếp trên chip.
  • Tiêu chí đánh giá: Tính đúng đắn của thuật toán, chương trình biên dịch không lỗi (0 errors, 0 warnings), mã máy nạp và chạy đúng chức năng trên phần cứng thực tế, kỹ thuật đấu dây an toàn và tác phong công nghiệp.
  • Hướng dẫn tự học: Tự cài đặt môi trường MPLAB IDE và trình dịch C; tự tra cứu bảng chân và thanh ghi trong datasheet của vi điều khiển PIC 18F4520; đọc hiểu các tệp thư viện tiêu đề (header file p18f4520.h); tự giải quyết các bài toán mở rộng về điều khiển thiết bị dân dụng và công nghiệp.

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

  • Kiến trúc phần cứng PIC 18F4520 (Microchip): Giáo trình tập trung sâu vào dòng vi điều khiển 8-bit kiến trúc RISC hiệu năng cao với 75 lệnh cơ bản, hỗ trợ nhân phần cứng 8x8 trong 1 chu kỳ máy, tích hợp bộ nhớ chương trình Flash 32 KB cho phép ghi xóa nhiều lần và bộ nhớ dữ liệu EEPROM 256 bytes lưu trữ thông số độc lập với nguồn điện.
  • Công nghệ quản lý năng lượng nanoWatt: Giới thiệu các chế độ vận hành tiết kiệm điện năng (Run, Idle, Sleep), hỗ trợ quản lý nguồn thông qua mạch phát hiện điện áp thấp/cao (HLVD), mạch phát hiện sụt áp có thể lập trình (BOR) và mạch giám sát xung dao động an toàn (Fail-Safe Clock Monitor).
  • Chuẩn hóa công cụ phần mềm công nghiệp: Sử dụng đồng bộ môi trường phát triển chính hãng MPLAB IDE v8.70 kết hợp trình biên dịch MCC18 tuân thủ tiêu chuẩn ANSI X3, tạo điều kiện cho người học tiếp cận quy trình phát triển phần mềm nhúng chuẩn mực từ khâu viết mã nguồn, liên kết thư viện đến mô phỏng và gỡ rối (debugging).
  • Đa dạng hóa chuẩn đóng gói phần cứng: Khảo sát chi tiết cấu trúc sơ đồ chân của 3 dạng vỏ vi mạch thực tế (PDIP 40 chân cắm, TQFP 44 chân dán, QFN 44 chân dán không chân chì), giúp người học nhận biết và thiết kế mạch in (PCB) phù hợp với thực tế sản xuất.
  • Liên hệ ứng dụng công nghiệp và dân dụng thực tế: Giáo trình đối chiếu trực tiếp các khối chức năng của vi điều khiển với các thiết bị đời sống:
    • Thiết bị dân dụng: Hệ thống nhà thông minh (khóa số, cửa tự động, điều tiết ánh sáng/nhiệt độ), thiết bị gia dụng (máy giặt, lò vi sóng), hệ thống ấp trứng tự động, đồng hồ số thời gian thực.
    • Thiết bị y tế: Máy đo nhịp tim, máy đo huyết áp, máy đo đường huyết, thiết bị điện tim đồ/điện não đồ.
    • Sản phẩm công nghiệp: Mạch điều khiển động cơ, mạch đo lường thông số dòng/áp/nhiệt độ, hệ thống cân băng tải/cân ô tô điện tử, dây chuyền tự động hóa và khối điều khiển trung tâm robot.

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

  • Sinh viên và học sinh chuyên ngành: Dành riêng cho học sinh, sinh viên theo học hệ Trung cấp và Cao đẳng nghề thuộc nghề Điện tử công nghiệp, ngành Kỹ thuật Điện tử, Viễn thông và Tự động hóa.
  • Điều kiện tiên quyết (Prerequisites): Người học bắt buộc phải hoàn thành mô đun Kỹ thuật vi xử lý, nắm vững các khái niệm cơ bản về cấu trúc máy tính, hệ thống bus dữ liệu/địa chỉ, hệ đếm nhị phân (Binary), thập lục phân (Hexadecimal), đại số logic Boolean và các khái niệm cơ bản của ngôn ngữ C.
  • Giảng viên chuyên ngành: Sử dụng giáo trình làm khung tài liệu giảng dạy chuẩn hóa, làm căn cứ thiết kế bài giảng lý thuyết 15 giờ, phân bổ nội dung cho 57 giờ bài tập/thực hành xưởng, và biên soạn đề thi kiểm tra đánh giá năng lực nghề nghiệp theo chuẩn đầu ra.
  • Kỹ thuật viên và người tự học: Phù hợp cho kỹ thuật viên sửa chữa điện tử, kỹ sư thiết kế mạch nhúng mới tiếp cận vi điều khiển Microchip PIC, sử dụng làm tài liệu tra cứu cứu pháp thanh ghi, sơ đồ chân và thư viện lập trình C.

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

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

Giáo trình được biên soạn chuyên biệt cho học sinh, sinh viên bậc Trung cấp nghề và Cao đẳng nghề chuyên ngành Điện tử công nghiệp, Điện tử viễn thông, cũng như các kỹ thuật viên cần học lập trình vi điều khiển PIC ứng dụng.

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

Học viên bắt buộc phải học xong mô đun Kỹ thuật vi xử lý. Ngoài ra, cần có kiến thức cơ bản về mạch điện tử số (cổng logic, tranzito, LED, mạch dao động) và tư duy thuật toán lập trình cơ bản.

3. Điểm khác biệt của giáo trình này so với các tài liệu vi điều khiển thông thường là gì?

Giáo trình tập trung chuyên sâu vào một dòng vi mạch cụ thể (Microchip PIC 18F4520) với thời lượng thực hành lên tới 76% (57/75 giờ). Nội dung đi trực tiếp vào phân tích từng bit của các thanh ghi SFR, bảng chân cho cả 3 kiểu đóng vỏ (PDIP, TQFP, QFN), và sử dụng trình dịch MCC18 theo chuẩn ANSI C thay vì chỉ dừng lại ở lý thuyết chung hoặc lập trình hợp ngữ (Assembly).

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

Người học nên kết hợp song song:

  1. Đọc kỹ mục tiêu và cấu tạo thanh ghi trong từng bài học.
  2. Cài đặt phần mềm MPLAB IDE v8.70 và trình dịch MCC18 trên máy tính cá nhân để viết thử các chương trình mẫu.
  3. Thực hành nạp mã hex vào chip PIC 18F4520 trên kit thí nghiệm hoặc sử dụng các phần mềm mô phỏng mạch điện tử để kiểm tra kết quả xuất nhập, định thời Timer và xử lý ngắt.

5. Những công cụ và tài liệu kỹ thuật nào cần kèm theo giáo trình?

Cần trang bị:

  • Phần mềm: MPLAB IDE v8.70, trình biên dịch Microchip C Compiler (MCC18), phần mềm nạp chip.
  • Phần cứng: Mạch nạp chuẩn ICSP (hoặc bộ gỡ rối ICD), kit vi điều khiển PIC 18F4520 kèm các module ngoại vi (LED đơn, LED 7 thanh, LCD 16x2, IC DS1307, nút bấm).
  • Tài liệu bổ trợ: Datasheet vi điều khiển PIC 18F4520 từ hãng sản xuất Microchip Technology và tệp thư viện p18f4520.h.

Kết luận

Giáo trình Kỹ thuật Vi điều khiển (MĐTC14020040) của Trường Cao đẳng Công nghiệp và Thương mại là tài liệu đào tạo nghề chuẩn mực, cung cấp hệ thống kiến thức hoàn chỉnh về kiến trúc phần cứng, tổ chức bộ nhớ, hệ thống thanh ghi SFR và kỹ thuật lập trình C cho dòng vi điều khiển Microchip PIC 18F4520.

Lộ trình học tập đề xuất:

  1. Khảo sát cấu trúc CPU Harvard, sơ đồ chân và các ngoại vi tích hợp (Bài 1).
  2. Nắm vững phân vùng Flash/RAM/EEPROM, cấu hình dao động và cơ chế Reset (Bài 2).
  3. Làm chủ cú pháp C nhúng, quy trình biên dịch MCC18 và kỹ thuật lập trình ngắt 2 cấp ưu tiên (Bài 3).
  4. Thực hành thiết kế và lập trình ghép nối phần cứng ngoại vi: Port I/O, quét LED, LCD, định thời Timer/Counter và IC thời gian thực DS1307 (Bài 4).

Tài liệu tham khảo bổ trợ:

  • Tài liệu kỹ thuật chi tiết: PIC18F2420/2520/4420/4520 Data Sheet (Microchip Technology Inc.).
  • Tài liệu hướng dẫn công cụ: MPLAB IDE User's Guide và MPLAB C18 C Compiler User's Guide.
  • Hướng dẫn thiết kế giao tiếp phần cứng: Tài liệu kỹ thuật IC thời gian thực DS1307 Real-Time Clock Datasheet.