Giáo Trình Vi Xử Lý – Tác Giả Phạm Quang Trí

Tổng quan về giáo trình (250-300 từ)

Giáo trình Vi xử lý do tác giả Phạm Quang Trí biên soạn, thuộc ấn phẩm đào tạo chuyên ngành của Bộ môn Điện tử Công nghiệp, Khoa Công nghệ Điện tử – Trường Đại học Công nghiệp TP. Hồ Chí Minh. Tài liệu được thiết kế nhằm phục vụ khối kiến thức cơ sở ngành và chuyên ngành trong chương trình đào tạo kỹ sư, cử nhân kỹ thuật điện tử, tự động hóa và cơ điện tử.

Mục tiêu học tập của tài liệu tập trung vào việc trang bị cho người học kiến thức toàn diện về cấu trúc phần cứng, nguyên lý chuyển dịch dữ liệu, cơ chế định thời/đếm sự kiện, và các phương thức truyền thông nối tiếp trên nền tảng vi điều khiển họ MCS-51 (tiêu biểu như chip 8051, 8031, 8052). Kết thúc các học phần liên quan, người học có khả năng tính toán thông số định thời, cấu hình thanh ghi chức năng đặc biệt (SFR), phân tích giản đồ thời gian và lập trình điều khiển hệ thống bằng hợp ngữ (Assembly).

Giáo trình tiếp cận theo mô hình kết hợp chặt chẽ giữa sơ đồ khối kiến trúc phần cứng bên trong vi điều khiển và phương pháp phân tích câu lệnh mức thanh ghi. Điểm đặc thù của tài liệu thể hiện ở việc lượng hóa chi tiết từng chu kỳ máy ($T_{Timer}$), phân tích rõ ràng sai số thực tế giữa việc định thời bằng lệnh phần mềm và định thời bằng phần cứng chuyên dụng, đồng thời cung cấp giải thuật cụ thể để xử lý các xung đột phần cứng như hiện tượng sai pha (phase error) trong truy xuất thanh ghi 16-bit.


Nội dung kiến thức cốt lõi (500-600 từ)

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

Cấu trúc giáo trình phân bổ tuần tự theo các khối ngoại vi và phương thức xử lý của vi điều khiển họ 8051:

  • Chương 4: Hoạt động của bộ định thời (Timer) (trang 119–153): Phân tích nguyên lý bộ định thời xây dựng từ chuỗi D-Flip Flop (D-FF) chia 2 kích khởi cạnh âm; phân định chức năng định khoảng thời gian ($C/\overline{T}=0$) và đếm sự kiện bên ngoài qua chân T0, T1 ($C/\overline{T}=1$); khảo sát cấu trúc các thanh ghi điều khiển TMOD (Timer Mode Register) và TCON (Timer Control Register); trình bày 4 chế độ hoạt động:
    • Chế độ 0 (Mode 0): Định thời 13-bit (kết hợp 8 bit của THx và 5 bit thấp của TLx, dung lượng đếm $0 \rightarrow 8191$).
    • Chế độ 1 (Mode 1): Định thời 16-bit toàn phần (sử dụng cả THx và TLx, dung lượng đếm $0 \rightarrow 65535$).
    • Chế độ 2 (Mode 2): Định thời 8-bit tự nạp lại (TLx đếm, THx lưu trữ giá trị nạp lại, dung lượng đếm $0 \rightarrow 255$).
    • Chế độ 3 (Mode 3): Chế độ định thời chia sẻ (chia Timer 0 thành 2 bộ định thời 8-bit độc lập qua TL0 và TH0, sử dụng tài nguyên điều khiển của Timer 1).
  • Chương 5: Hoạt động của port nối tiếp (Serial Port) (trang 154–166): Trình bày sự khác biệt giữa truyền dữ liệu song song và nối tiếp; chức năng thanh ghi đệm kép SBUF (gồm bộ đệm phát và bộ đệm thu riêng biệt); thanh ghi điều khiển SCON; khảo sát 4 chế độ truyền thông nối tiếp:
    • Chế độ 0: Thanh ghi dịch 8-bit (tốc độ baud cố định bằng $f_{OSC}/12$, sử dụng chân RxD truyền/nhận dữ liệu và TxD phát xung clock, ứng dụng mở rộng ngõ ra song song).
    • Chế độ 1: UART 8-bit tốc độ baud thay đổi theo tốc độ tràn của Timer 1 (khung truyền gồm 1 Start bit, 8 Data bit, 1 Stop bit).
    • Chế độ 2: UART 9-bit tốc độ baud cố định ($f_{OSC}/32$ hoặc $f_{OSC}/64$ tùy thuộc bit SMOD trong thanh ghi PCON).
    • Chế độ 3: UART 9-bit tốc độ baud thay đổi theo Timer 1.
  • Chương 6: Hoạt động ngắt (liên kết trích dẫn từ trang 124 và 163): Cung cấp cơ chế kích hoạt và đáp ứng ngắt ngoài qua các bit IT0, IT1, IE0, IE1 trong TCON, ngắt tràn Timer (TF0, TF1) và ngắt truyền thông nối tiếp (TI, RI).

Logic phát triển nội dung đi từ cấu tạo tế bào nhớ bán dẫn (D-FF, chốt D), quy cách đóng gói dữ liệu trong thanh ghi, xây dựng công thức toán học tính toán thông số nạp, đến lập trình giải thuật Assembly và liên kết các khối ngoại vi.

+-------------------------------------------------------------+
| Cấu trúc phần cứng cơ sở (D-FF, Mạch dao động on-chip fOSC)  |
+-------------------------------------------------------------+
+-------------------------------------------------------------+
| Cấu hình thanh ghi chức năng SFR: TMOD, TCON, SCON, PCON    |
+-------------------------------------------------------------+
+-------------------------------------------------------------+
| Khảo sát 4 chế độ Timer (0, 1, 2, 3) & 4 chế độ UART       |
+-------------------------------------------------------------+
+-------------------------------------------------------------+
| Lập trình điều khiển ASM: Tạo xung, Delay, UART Master-Slave|
+-------------------------------------------------------------+

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

  • Lý thuyết định thời và đếm xung số: Bản chất tần số xung clock cấp cho bộ định thời bằng $f_{OSC}/12$. Tần số kích thích tối đa cho phép tại các chân đếm sự kiện T0, T1 bằng $f_{TIMER}/2 = f_{OSC}/24$.
  • Nguyên lý truyền thông nối tiếp không đồng bộ (UART): Cấu trúc đóng gói khung ký tự (Start bit mức 0, Data bits, Parity bit kiểm tra chẵn/lẻ, Stop bit mức 1); quy chế nhân đôi tốc độ baud qua bit SMOD thuộc thanh ghi PCON.
  • Mô hình mạng đa xử lý (Multiprocessor Master-Slave): Ứng dụng bit thứ 9 (TB8/RB8) và cờ SM2 để lọc byte địa chỉ (bit 9 = 1) và byte dữ liệu (bit 9 = 0), cho phép 1 vi xử lý chủ giao tiếp có chọn lọc với nhiều vi xử lý tớ.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật: Cấu hình chính xác các bit GATE, C/\overline{T}, M1, M0 trong TMOD; bit SM0, SM1, SM2, REN trong SCON; tính toán giá trị nạp thanh ghi theo công thức tổng quát: $$\text{Giá trị nạp } N = - \frac{f_{OSC}}{12} \times t_{DELAY}$$ $$\text{Giá trị nạp Baud } M = - \frac{f_{OSC}}{192 \times \text{Baud rate}} \quad (\text{khi } SMOD=1) \quad \text{hoặc} \quad M = - \frac{f_{OSC}}{384 \times \text{Baud rate}} \quad (\text{khi } SMOD=0)$$
  • Kỹ năng phân tích: Tính toán sai số chu kỳ máy giữa phương pháp dùng lệnh (DJNZ, MOV, RET) và phương pháp dùng Timer phần cứng; phân tích giản đồ tín hiệu cạnh lên/cạnh âm.
  • Kỹ năng thực hành: Viết chương trình Assembly tạo sóng vuông điều biến chu kỳ nhiệm vụ (Duty cycle $20%, 25%, 30%, 50%$), lập trình thu phát UART, thiết kế giải thuật chống sai pha khi đọc dữ liệu byte cao/thấp (THx/TLx).

Phương pháp giảng dạy và học tập (300-350 từ)

Giáo trình áp dụng phương pháp sư phạm diễn dịch kết hợp quy nạp kỹ thuật: mỗi chương mục bắt đầu bằng việc mô tả cấu trúc phần cứng thanh ghi, kế tiếp là phân tích bảng chân trị và các chế độ làm việc, đưa ra công thức tính toán toán học, và củng cố bằng các ví dụ mẫu có phân tích mã lệnh chi tiết trước khi chuyển sang hệ thống bài tập tự rèn luyện.

Tài liệu cung cấp 12 ví dụ mẫu thực hành có lời giải chi tiết (Chương 4), bao gồm:

  1. Thiết lập cấu hình giá trị thanh ghi TMOD cho nhiều chế độ kết hợp phần cứng/phần mềm (Ví dụ 1–4, trang 122–123).
  2. Đo độ rộng xung bằng phần cứng qua chân $\overline{INT0}$ với GATE=1 (trang 131).
  3. Giải thuật đọc thanh ghi định thời đang hoạt động tránh sai pha bằng lệnh CJNE A, TH1, AGAIN (trang 134).
  4. Tạo thời gian trễ $100\mu s$, $10ms$, $1s$, $60s$ bằng vòng lặp DJNZ và so sánh với Timer Mode 1, Mode 2 kết hợp thanh ghi lặp R0, R1, R2 (Ví dụ 2–6, trang 138–143).
  5. Tạo sóng vuông tần số $10\text{kHz}$, $1\text{kHz}$, $100\text{Hz}$ với chu kỳ nhiệm vụ thay đổi $D=30%, 50%$ trên chân P1.0 (Ví dụ 7–9, trang 144–148).
  6. Giao tiếp ngoại vi: điều khiển còi báo P1.7 kích hoạt 1 giây khi nhận tín hiệu chuyển mạch chống dội tại P1.6 (Ví dụ 10, trang 149); đếm xung sự kiện lưu vào RAM nội tại địa chỉ $40H$ và $50H$–$51H$ (Ví dụ 11–12, trang 150–151).

Hệ thống bài tập cuối chương bao gồm 8 bài tập tạo trễ và 14 bài tập tạo xung (trang 152–153), yêu cầu người học thiết kế chương trình điều khiển đèn giao thông tại giao lộ, tạo 2 sóng vuông lệch pha nhau trên các chân port P1, và tính toán cho các hệ thống sử dụng nhiều tần số thạch anh khác nhau ($f_{OSC} = 12\text{MHz}, 24\text{MHz}$). Đánh giá kết quả học tập căn cứ vào độ chuẩn xác của mã nguồn Assembly và khả năng tối ưu hóa chu kỳ máy.


Điểm nổi bật và cập nhật (250-300 từ)

  • Phân tích định lượng sai số thời gian thực: Tài liệu không dừng lại ở việc tính toán lý thuyết mà chỉ rõ sai số chu kỳ máy phát sinh do thời gian thực thi của các lệnh phụ trợ (PUSH, MOV, SETB, JNB, CLR, POP, RET). Giáo trình cung cấp công thức tính thời gian trễ chính xác $t_{Delay(cx)}$ cho từng đoạn mã hợp ngữ cụ thể (ví dụ: $t_{Delay(cx)} = 11.T_{Timer} + t_{Delay}$ ở Mode 2 hoặc $13.T_{Timer} + t_{Delay}$ ở Mode 1).
  • Giải pháp kỹ thuật xử lý lỗi phần cứng sai pha (Phase Error): Khi đọc đồng thời nội dung bộ đếm 16-bit đang chạy qua hai thanh ghi 8-bit riêng biệt (THx và TLx), hiện tượng tràn từ byte thấp sang byte cao có thể làm sai lệch dữ liệu. Giáo trình đưa ra giải thuật và lưu đồ đọc lặp lại byte cao để loại bỏ hoàn toàn sai số này:
AGAIN:  MOV A, TH1
        MOV R6, TL1
        CJNE A, TH1, AGAIN
        MOV R7, A
  • Tính ứng dụng kỹ thuật truyền thông công nghiệp: Giáo trình làm rõ phương pháp mở rộng 8 ngõ ra song song bằng vi mạch thanh ghi dịch nối tiếp qua cổng UART Mode 0, cũng như cấu trúc truyền thông mạng nhiều vi điều khiển Master/Slave phân định địa chỉ và dữ liệu qua bit SM2 và bit thứ 9 (TB8/RB8).

Đối tượng sử dụng giáo trình (200-250 từ)

Giáo trình Vi xử lý được biên soạn cho các nhóm đối tượng cụ thể trong hệ thống đào tạo kỹ thuật:

  • Sinh viên bậc đại học và cao đẳng: Áp dụng cho sinh viên từ năm thứ hai hoặc năm thứ ba thuộc các ngành Kỹ thuật Điện tử, Điện tử Công nghiệp, Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Công nghệ Kỹ thuật Máy tính và Công nghệ Thông tin định hướng phần cứ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 Kỹ thuật số (hiểu rõ cấu tạo cổng logic, Flip-Flop D, mạch đếm nhị phân, hệ số Hexadecimal), Cấu trúc máy tính và nguyên lý lập trình hợp ngữ cơ bản.
  • Giảng viên chuyên ngành: Sử dụng làm tài liệu giảng dạy chuẩn hóa, xây dựng ngân hàng câu hỏi tính toán chu kỳ nạp thanh ghi SFR và đề thi thực hành lập trình Assembly vi điều khiển.
  • Kỹ sư và người tự học: Phù hợp làm tài liệu tra cứu thông số kỹ thuật thanh ghi (TMOD, TCON, SCON, PCON), bảng công thức tính tốc độ baud và các giải thuật phần cứng ghép nối vi điều khiển 8-bit trong thực tế.

Câu hỏi thường gặp (250-300 từ)

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

Tài liệu phù hợp với sinh viên chuyên ngành kỹ thuật điện tử, tự động hóa, cơ điện tử và kỹ sư lập trình nhúng cần nắm vững nguyên lý hoạt động phần cứng mức thanh ghi của họ vi điều khiển 8051.

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

Người học cần nắm vững lý thuyết Kỹ thuật số (đặc biệt là hoạt động của D-Flip Flop và mạch chia tần), nguyên lý kiến trúc máy tính, hệ đếm nhị phân/hexadecimal và cú pháp tập lệnh hợp ngữ Assembly 8051.

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

Giáo trình phân tích sâu cấu trúc mạch logic bên trong chip (như sơ đồ chuỗi FF chia 2), hướng dẫn tính toán chi tiết sai số thực tế từng chu kỳ máy ($T_{Timer}$) của câu lệnh, và cung cấp giải thuật xử lý hiện tượng sai pha khi đọc bộ định thời 16-bit.

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

Người học nên kết hợp đọc lý thuyết cấu trúc thanh ghi SFR, tự tính toán giá trị nạp $N$ và $M$ theo công thức trước khi đối chiếu với các ví dụ mẫu (Ví dụ 1–12), sau đó tự giải hệ thống 22 bài tập tạo trễ và tạo xung ở cuối chương.

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

Tài liệu liên kết trực tiếp với các chương chuyên đề tiếp theo như Chương 6: Hoạt động ngắt để hoàn thiện các ứng dụng thu phát dữ liệu và xử lý tín hiệu ngoại vi theo thời gian thực.


Kết luận (150 từ)

Giáo trình Vi xử lý của tác giả Phạm Quang Trí (Trường Đại học Công nghiệp TP. Hồ Chí Minh) cung cấp một cấu trúc học thuật hệ thống về các khối chức năng định thời, đếm sự kiện và truyền thông nối tiếp trên dòng vi điều khiển 8051. Giá trị cốt lõi của tài liệu nằm ở sự chuẩn xác về mặt toán học, tính tường minh trong phân tích chu kỳ lệnh hợp ngữ và các giải pháp kỹ thuật giải quyết trực tiếp các vấn đề ghép nối phần cứng thực tế.

Lộ trình học tập đề xuất là: Nắm vững cấu trúc thanh ghi chức năng đặc biệt $\rightarrow$ Tính toán thông số định thời và baud rate $\rightarrow$ Viết mã Assembly và hiệu chỉnh sai số chu kỳ máy $\rightarrow$ Ứng dụng điều khiển ngoại vi và thiết lập mạng truyền thông Master-Slave. Người học có thể mở rộng kiến thức bằng cách tham khảo thêm Chương 6: Hoạt động ngắt và các tài liệu kỹ thuật về dòng vi điều khiển mở rộng 8031/8052.