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

Giáo trình Vi điều khiển nâng cao (mã mô đun: MĐ22) là tài liệu đào tạo chuyên ngành bắt buộc thuộc chương trình đào tạo nghề Điện tử công nghiệp ở trình độ Cao đẳng nghề. Giáo trình do Trường Cao đẳng công nghiệp Thanh Hóa tổ chức biên soạn năm 2025, với ban biên soạn gồm ThS. Hoàng Văn Trường (Chủ biên) cùng hai tác giả Hoàng Tuấn Anh và Lê Xuân Hải. Trong khung chương trình đào tạo nghề Điện tử công nghiệp, mô đun MĐ22 có vị trí học sau khi người học đã hoàn thành các môn học cơ sở kỹ thuật bắt buộc gồm Linh kiện điện tử, Kỹ thuật số và Vi điều khiển cơ bản.

Mục tiêu học tập của giáo trình được xác định cụ thể trên ba phương diện chuẩn đầu ra:

  • Về kiến thức: Cung cấp cho người học năng lực trình bày cấu trúc phần cứng, phân tích nguyên lý hoạt động và ứng dụng của vi điều khiển trong các hệ thống sản xuất công nghiệp; đồng thời trang bị phương pháp kiểm tra và viết các chương trình điều khiển hoàn chỉnh.
  • Về kỹ năng: Hình thành khả năng vận hành các thiết bị và dây chuyền sản xuất tự động có tích hợp vi điều khiển; xác định và khắc phục các nguyên nhân gây ra hư hỏng kỹ thuật trong điều kiện vận hành thực tế.
  • Về năng lực tự chủ và trách nhiệm: Rèn luyện cho học sinh thái độ học tập nghiêm túc, tính cẩn thận, độ chính xác cao trong quá trình thao tác phần cứng và thực thi công việc kỹ thuật.

Cấu trúc giáo trình gồm 5 bài học chuyên đề được sắp xếp theo tiến trình logic từ kiến trúc phần cứng, cấu hình ngoại vi vào/ra, kỹ thuật hiển thị, giao tiếp điều khiển từ xa đến tích hợp ứng dụng điều khiển công nghiệp. Cách tiếp cận của tài liệu là tích hợp chặt chẽ giữa lý thuyết vi xử lý và kỹ năng thực hành nghề nghiệp, gắn liền nội dung giảng dạy với yêu cầu sản xuất thực tiễn thông qua các bài tập thực hành được chuẩn hóa theo điều kiện thiết bị thực tế.


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

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

Nội dung giảng dạy của giáo trình được thiết kế thành 5 bài học chuyên sâu:

  1. Bài 1: Thiết kế phần cứng cho ATMEGA (Mã bài: MĐ22-01)
    Cung cấp tổng quan về kiến trúc họ vi điều khiển 8-bit AVR của hãng Atmel, khảo sát cấu trúc chi tiết của dòng chip ATmega16 (đóng vỏ 40 chân, bộ nhớ Flash 16KB, 32 đường I/O, bộ biến đổi ADC 10-bit, khối Timer/Counter, cấu trúc Harvard, khối ALU, thanh ghi trạng thái SREG, con trỏ ngăn xếp SP, cơ chế quản lý ngắt). Bài học phân tích sơ đồ chân, cấu hình kết nối phần cứng tiêu chuẩn và giới thiệu bo mạch phát triển Arduino Uno R3 (tích hợp chip ATmega328 và bộ chuyển đổi nạp ATmega16U2).
  2. Bài 2: Điều khiển I/O (vào ra) (Mã bài: MĐ22-02)
    Tập trung vào cơ chế lập trình điều khiển các cổng vào/ra số thông qua các thanh ghi điều khiển cổng DDRx, PORTx, PINx. Nội dung hướng dẫn quy trình cài đặt phần mềm biên dịch CodeVisionAVR (phiên bản cvavr1256), sau đó triển khai các mạch thực hành điều khiển I/O với 1 LED đơn và điều khiển I/O với 8 LED đơn.
  3. Bài 3: Hiển thị led 7 đoạn (Mã bài: MĐ22-03)
    Trình bày phương pháp ghép nối và giải thuật lập trình hiển thị số liệu sử dụng LED 7 đoạn. Nội dung phân định rõ hai kỹ thuật điều khiển phần cứng: hiển thị LED 7 đoạn loại Anode chung (chung cực dương) và hiển thị LED 7 đoạn loại Cathode chung (chung cực âm).
  4. Bài 4: Điều khiển các thiết bị từ xa (Mã bài: MĐ22-04)
    Hướng dẫn thiết lập truyền nhận tín hiệu điều khiển từ xa đối với các cơ cấu hiển thị và chỉ báo. Bài học bao gồm các bài toán kỹ thuật: lập trình điều khiển bật/tắt LED đơn từ xa và lập trình truyền dữ liệu điều khiển LED 7 đoạn từ xa.
  5. Bài 5: Thiết kế các ứng dụng vi điều khiển (Mã bài: MĐ22-05)
    Tích hợp kiến thức phần cứng và thuật toán điều khiển để giải quyết ba bài toán ứng dụng kỹ thuật thực tế trong công nghiệp: thiết kế mạch điều khiển động cơ điện một chiều (DC motor), thiết kế hệ thống mạch điều khiển đèn giao thông tự động, và thiết kế mạch điều khiển giao tiếp với các loại cảm biến.

Tiến trình nội dung tuân thủ logic sư phạm kỹ thuật: đi từ việc tìm hiểu cấu tạo vi mạch phần cứng bên trong và sơ đồ chân bên ngoài, đến việc làm chủ công cụ lập trình, thiết lập các thanh ghi điều khiển cổng ngoại vi cơ bản, mở rộng ra các module hiển thị, xử lý tín hiệu truyền thông và cuối cùng là hoàn thiện các mạch điều khiển tự động hóa.

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

Giáo trình xây dựng hệ thống kiến thức vi xử lý chuyên sâu dựa trên các nguyên lý kỹ thuật:

  • Kiến trúc phần cứng Harvard: Phân tách hoàn toàn không gian bộ nhớ và hệ thống bus dành riêng cho chương trình (Program Memory) và dữ liệu (Data Memory). Lệnh được xử lý theo chu kỳ xung nhịp clock đơn, tối ưu hóa tốc độ thực thi.
  • Khối xử lý số học và logic (ALU): Kết nối trực tiếp với 32 thanh ghi chức năng chung, thực thi ba nhóm thao tác cơ bản: phép toán đại số, phép toán logic và các phép toán xử lý theo bit.
  • Thanh ghi trạng thái 8-bit (SREG): Lưu trữ kết quả sau các phép tính của ALU thông qua các cờ: C (Carry Flag - cờ nhớ), Z (Zero Flag - cờ zero), N (Negative Flag - cờ âm), V (Two’s complement overflow indicator - cờ tràn số bù 2), H (Half Carry Flag - cờ nửa nhớ), T (Transfer bit - bit trung gian cho lệnh BLD/BST) và I (Global Interrupt Enable/Disable Flag - bit cho phép ngắt toàn cục).
  • Con trỏ ngăn xếp 16-bit (SP): Cấu thành từ hai thanh ghi chức năng đặc biệt SPL (địa chỉ 0x3D trong I/O, 0x5D trong SRAM) và SPH (địa chỉ 0x3E trong I/O, 0x5E trong SRAM). Con trỏ SP trỏ vào vùng nhớ SRAM từ địa chỉ 0x60 trở lên, tự động giảm 1 khi thực hiện lệnh PUSH, tăng 1 khi thực hiện lệnh POP, giảm 2 khi gọi chương trình con/phục vụ ngắt (lưu con trỏ PC) và tăng 2 khi thực hiện lệnh quay về RET/RETI.
  • Cơ chế quản lý ngắt và vector ngắt: Phân tích nguyên lý dừng chương trình chính để nạp vector ngắt, xử lý các cờ báo (như RXC, TX của khối truyền thông UART), quy tắc xử lý mức ưu tiên ngắt và hoàn trả con trỏ PC từ ngăn xếp qua lệnh RETI.
  • Tổ chức không gian bộ nhớ ATmega16: Bộ nhớ Flash 16KB tổ chức kiểu 8K x 16 bit, chia tách thành vùng nhớ Boot Loader và vùng nhớ Application; bộ nhớ dữ liệu SRAM gồm 1120 ô nhớ (96 ô nhớ đầu định vị cho file thanh ghi và bộ nhớ I/O, 1024 ô nhớ nội tiếp theo dành cho dữ liệu) cùng bộ nhớ lưu trữ EEPROM.
  • Cấu trúc cổng vào/ra (I/O) số: Hệ thống 32 chân I/O chia thành 4 nhóm PORTA, PORTB, PORTC, PORTD. Cơ chế điều khiển định hướng độc lập theo từng bit dựa trên 3 thanh ghi: DDRx (thanh ghi hướng dữ liệu: set 1 là ngõ ra, 0 là ngõ vào), PORTx (thanh ghi dữ liệu ngõ ra hoặc kích hoạt điện trở kéo lên pull-up khi cổng là ngõ vào), và PINx (thanh ghi chỉ đọc dữ liệu mức logic tại chân cổng).
  • Bộ định thời/bộ đếm Timer/Counter0 8-bit: Vận hành với các thanh ghi TCNT0 (thanh ghi giá trị đếm), OCR0 (thanh ghi so sánh ngõ ra), TCCR0 (thanh ghi điều khiển với các bit FOC0, WGM01:0, COM01:0, CS02:0), TIMSK (thanh ghi mặt nạ ngắt với bit OCIE0, TOIE0) và TIFR (thanh ghi cờ ngắt với cờ so sánh OCF0, cờ tràn TOV0).

Kỹ năng phát triển

Học phần rèn luyện cho người học các nhóm năng lực kỹ thuật:

  • Kỹ năng phần cứng (Technical skills): Nhận diện sơ đồ 40 chân của ATmega16; thực hiện đúng sơ đồ kết nối nguồn nuôi 5V (chân 10, 30), chân nối mass GND (chân 11, 31), mạch tạo dao động thạch anh ngoại XTAL1 và XTAL2 (chân 12, 13) và mạch khởi động lại RESET (chân 9). Thao tác bo mạch Arduino Uno R3 qua cổng USB, chân nạp ICSP, cổng cấp nguồn DC ngoài (6-20V, danh định 7-12V).
  • Kỹ năng phân tích (Analytical skills): Phân tích trạng thái logic của các thanh ghi I/O; xác định điều kiện chuyển đổi giữa trạng thái ngõ vào có trở kéo lên (pull-up) và trạng thái trở kháng cao (Hi-Z); giải mã chu kỳ xung nhịp và xử lý độ ưu tiên ngắt hệ thống.
  • Kỹ năng thực hành nghề (Practical competencies): Cài đặt và sử dụng phần mềm CodeVisionAVR; lập trình xuất/nhập tín hiệu điều khiển dàn LED đơn; thiết kế mạch giải mã LED 7 đoạn; đấu nối mạch công suất điều khiển động cơ DC; lập trình chu kỳ tín hiệu đèn giao thông và kết nối mạch thu nhận tín hiệu cảm biến.

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

Giáo trình Vi điều khiển nâng cao triển khai phương pháp giảng dạy tích hợp (tích hợp giữa lý thuyết chuyên ngành và thực hành kỹ năng nghề). Mỗi bài học đều quy định rõ mục tiêu kiến thức và kỹ năng cần đạt, tiếp nối bằng phần mô tả bản chất phần cứng và quy trình thực hiện mạch điện cụ thể.

Phương pháp sư phạm của tài liệu bao gồm:

  • Kết hợp lý thuyết với hướng dẫn quy trình công nghệ: Các nguyên lý về cấu trúc thanh ghi, con trỏ ngăn xếp và chế độ ngắt luôn đi liền với các bảng địa chỉ ô nhớ và các bước cấu hình cụ thể. Ví dụ: tài liệu nêu rõ từng thao tác thiết lập dữ liệu ra thanh ghi DDRx, kích hoạt thanh ghi PORTx và đọc dữ liệu tại PINx.
  • Hệ thống câu hỏi và bài tập phân tích: Ở cuối mỗi bài học, giáo trình bố trí các câu hỏi trọng tâm yêu cầu người học phân tích sâu về kỹ thuật, chẳng hạn như câu hỏi phân tích sơ đồ chân của ATmega16 và phân tích sơ đồ kết nối phần cứng nguồn/dao động/reset của vi điều khiển.
  • Thực hành kỹ thuật từng bước (Step-by-step practical exercises): Tài liệu cung cấp hướng dẫn thao tác trực tiếp trên giao diện phần mềm, điển hình là quy trình cài đặt môi trường lập trình CodeVisionAVR (mở thư mục cvavr1256_ok, kích hoạt setup.exe, nhập mật mã từ file codevisionavr1256password.txt, chấp thuận điều khoản và thiết lập cấu hình hoàn tất).
  • Phương pháp đánh giá kết quả học tập: Đánh giá năng lực của người học dựa trên độ chính xác khi phân tích sơ đồ chân, khả năng cấu hình đúng các thanh ghi chức năng trong chương trình điều khiển, kỹ năng vận hành các mạch ngoại vi thực tế và khả năng phát hiện lỗi phần cứng/phần mềm trong các bài toán điều khiển động cơ, đèn tín hiệu và cảm biến.
  • Định hướng tự học: Người học cần bám sát tài liệu tra cứu chân vi mạch, đối chiếu các bit chức năng trong các thanh ghi điều khiển (như TCCR0, SREG, DDRx), kết hợp lập trình mô phỏng và nạp chương trình trực tiếp vào chip để kiểm chứng hiện tượng.

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

Giáo trình có những điểm cải tiến và cập nhật kỹ thuật phục vụ chương trình đào tạo nghề hiện đại:

  • So sánh kỹ thuật với các họ vi điều khiển truyền thống: So với họ vi điều khiển kinh điển 8051 và các dòng vi điều khiển 8-bit khác như PIC, giáo trình phân tích rõ các ưu thế của họ AVR: độ ổn định cao, khả năng tích hợp khối ngoại vi phong phú, tính mềm dẻo trong lập trình cấu hình thanh ghi và cấu trúc Harvard thực thi lệnh trong một chu kỳ xung clock.
  • Tích hợp ngoại vi đa dạng trên chip ATmega16: Tài liệu hệ thống hóa đầy đủ các tính năng hiện đại tích hợp sẵn trên chip bao gồm: 8 kênh biến đổi tương tự - số ADC 10-bit, các kênh điều chế độ rộng xung PWM, bộ định thời giám sát Watchdog timer, giao tiếp nối tiếp SPI, USART và các chế độ quản lý tiết kiệm năng lượng (sleep, standby).
  • Cập nhật nền tảng phần cứng mã nguồn mở Arduino: Bên cạnh chip vi điều khiển rời ATmega16, giáo trình đưa vào nội dung phân tích chi tiết bo mạch Arduino Uno R3. Tài liệu mô tả cụ thể:
    • Chip xử lý trung tâm ATmega328 kết hợp chip nạp chuyển đổi USB - to - Serial ATmega16U2.
    • Hệ thống 14 chân vào/ra số (trong đó chỉ rõ các chân hỗ trợ băm xung PWM có ký hiệu dấu ~, chân ngắt ngoài 2 và 3, chân truyền nhận UART TTL 0 và 1, chân gắn LED on-board số 13).
    • Khối 6 chân nhận tín hiệu tương tự Analog từ A0 đến A5.
    • Cổng giao tiếp ICSP phục vụ nạp chương trình qua chuẩn SPI cho cả hai vi điều khiển trên bo mạch.
    • Môi trường phát triển tích hợp Arduino IDE sử dụng ngôn ngữ C++ giản thể, giúp quy trình nạp code qua cáp USB trở nên thuận tiện.
  • Gắn kết ứng dụng công nghiệp: Nội dung không dừng lại ở mức điều khiển tín hiệu LED căn bản mà mở rộng trực tiếp sang các hệ thống cơ điện tử: điều khiển động cơ DC, mô hình đèn giao thông và tích hợp cảm biến đo lường phục vụ các dây chuyền sản xuất.

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

Giáo trình Vi điều khiển nâng cao được thiết kế cho 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: Học sinh, sinh viên theo học trình độ Cao đẳng nghề ngành Điện tử công nghiệp tại các trường cao đẳng, trường trung cấp nghề kỹ thuật.
  • Điều kiện tiên quyết (Prerequisites): Người học cần hoàn thành khối kiến thức cơ sở bao gồm: môn Linh kiện điện tử (để hiểu rõ thông số tranzito, điện trở pull-up, LED, điốt, động cơ), môn Kỹ thuật số (nắm vững hệ số nhị phân, cổng logic, mạch đếm, giải mã) và môn học Vi điều khiển cơ bản (hiểu khái niệm thanh ghi và chu kỳ máy).
  • Giảng viên chuyên ngành: Được sử dụng làm tài liệu giảng dạy chính thức cho mô đun MĐ22. Giảng viên căn cứ vào nội dung từng bài để phân bổ thời lượng giữa thuyết trình lý thuyết cấu trúc và hướng dẫn thực hành tại xưởng theo trang thiết bị hiện có của nhà trường.
  • Kỹ thuật viên và người tự học: Tài liệu là nguồn tham khảo kỹ thuật hữu ích cho cán bộ kỹ thuật vận hành, bảo trì dây chuyền sản xuất tự động có sử dụng bộ vi điều khiển họ AVR, hoặc người học nghiên cứu về lập trình nhúng trên nền tảng vi điều khiển ATmega16 và module Arduino Uno.

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

1. Giáo trình này phù hợp với ai?

Giáo trình được biên soạn dành riêng cho học sinh, sinh viên trình độ Cao đẳng nghề chuyên ngành Điện tử công nghiệp; đồng thời phục vụ giảng viên giảng dạy mô đun MĐ22 và các kỹ thuật viên vận hành hệ thống vi điều khiển trong sản xuất.

2. Cần kiến thức nền nào để học?

Người học bắt buộc phải hoàn thành các môn học tiên quyết gồm Linh kiện điện tử, Kỹ thuật số và học phần Vi điều khiển cơ sở. Các kiến thức về mạch điện tử, mức logic nhị phân và nguyên lý bán dẫn là điều kiện cần để tiếp thu nội dung mô đun này.

3. Điểm khác biệt với giáo trình khác?

Tài liệu tập trung nghiên cứu trực tiếp dòng vi điều khiển AVR ATmega16 và hệ thống Arduino Uno R3 (ATmega328). Giáo trình trình bày cặn kẽ bản chất thanh ghi phần cứng (DDRx, PORTx, PINx, SREG, TCCR0), quy trình cài đặt phần mềm CodeVisionAVR và liên kết ngay vào các bài toán công nghiệp thực tế như động cơ DC, đèn giao thông và cảm biến.

4. Làm sao để tự học hiệu quả?

Người học nên học tuần tự theo cấu trúc giáo trình: bắt đầu từ việc vẽ và phân tích sơ đồ 40 chân vi điều khiển ATmega16, tìm hiểu chức năng từng thanh ghi điều khiển cổng, cài đặt phần mềm biên dịch theo hướng dẫn, sau đó viết code điều khiển các bài thực hành LED đơn, LED 7 đoạn trước khi làm việc với động cơ và cảm biến.

5. Có tài liệu bổ trợ nào kèm theo?

Giáo trình cung cấp các hướng dẫn liên quan đến phần mềm biên dịch CodeVisionAVR, môi trường lập trình Arduino IDE, sơ đồ nguyên lý phần cứng bo mạch Arduino Uno R3, và tài liệu tra cứu các cổng logic ngoại vi phục vụ trực tiếp cho quá trình thực hành mô đun MĐ22.


Kết luận

Giáo trình Vi điều khiển nâng cao (mã mô đun: MĐ22) do Trường Cao đẳng công nghiệp Thanh Hóa ban hành là tài liệu học thuật chuẩn hóa cho nghề Điện tử công nghiệp trình độ Cao đẳng nghề. Giá trị cốt lõi của tài liệu nằm ở việc kết hợp chặt chẽ giữa lý thuyết kiến trúc phần cứng vi điều khiển 8-bit AVR (tiêu biểu là ATmega16 và ATmega328) với quy trình lập trình điều khiển cổng I/O, bộ định thời và hệ thống ngắt.

Lộ trình học tập đề xuất cho người học là hoàn thành tuần tự 5 bài giảng: từ thiết kế phần cứng vi mạch, điều khiển xuất nhập cơ bản, giải mã hiển thị LED 7 đoạn, đến kỹ thuật điều khiển từ xa và hoàn thiện các ứng dụng công nghiệp tích hợp động cơ, cảm biến.

Để tối ưu hóa quá trình học tập, người học cần kết hợp nghiên cứu giáo trình cùng việc thực hành trên bộ phần mềm CodeVisionAVR, bo mạch thực nghiệm Arduino Uno R3 và hệ thống module cảm biến chuyên dụng tại phòng thực hành.