TÀI LIỆU MÔ TẢ HỌC THUẬT: GIÁO TRÌNH VI XỬ LÝ

Thông tin xuất bản và tài liệu:

  • Tên giáo trình: Giáo trình Vi xử lý
  • Đơn vị đào tạo: Trường Đại học Công nghiệp Thành phố Hồ Chí Minh
  • Tác giả biên soạn: Phạm Quang Trí
  • Lĩnh vực / Môn học: Kỹ thuật Vi xử lý – Hệ Vi điều khiển (Microprocessors & Microcontrollers)
  • Cấp độ đào tạo: Đại học / Cao đẳng khối ngành Kỹ thuật và Công nghệ

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

Giáo trình Vi xử lý do tác giả Phạm Quang Trí biên soạn tại Trường Đại học Công nghiệp Thành phố Hồ Chí Minh là tài liệu giảng dạy chuyên ngành thuộc khối kiến thức cơ sở ngành và chuyên ngành cho sinh viên các ngành Kỹ thuật Điện - Điện tử, Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Máy tính và Công nghệ Thông tin. Môn học giữ vị trí cầu nối quan trọng giữa khối kiến thức phần cứng số (Kỹ thuật số, Mạch điện tử) với kỹ thuật lập trình hệ thống cấp thấp và thiết kế hệ thống nhúng.

Mục tiêu học tập của giáo trình được xác định rõ ràng: cung cấp cho người học hiểu biết toàn diện về nguyên lý tổ chức phần cứng của hệ vi xử lý tổng quát; nắm vững cấu trúc bên trong, không gian bộ nhớ và hệ thống ngoại vi của họ vi điều khiển MCS-51 (trọng tâm là chip 8051); phân tích và áp dụng tập lệnh Hợp ngữ (Assembly) để lập trình điều khiển; đồng thời trang bị phương pháp thiết kế ghép nối phần cứng như mạch giải mã địa chỉ bộ nhớ và phối ghép cổng vào/ra.

Cấu trúc giáo trình được xây dựng theo cách tiếp cận từ tổng quan đến chi tiết, kết hợp chặt chẽ giữa sơ đồ khối phần cứng và cú pháp câu lệnh tương ứng. Giáo trình bắt đầu từ tiến trình phát triển và mô hình cấu trúc hệ vi xử lý chung, sau đó đi sâu vào cấu trúc vi điều khiển Intel 8051, khảo sát cụ thể sơ đồ chân, các thanh ghi chức năng đặc biệt (SFR), phân vùng RAM/ROM, và hệ thống 8 kiểu định địa chỉ cùng các nhóm lệnh số học, logic và rẽ nhánh.

Điểm đặc sắc của giáo trình nằm ở tính chuẩn xác kỹ thuật và sự tường minh trong việc mô tả tương tác phần cứng. Tài liệu chỉ rõ sự khác biệt giữa các thao tác truy xuất dữ liệu ở mức vật lý (như cơ chế đọc chân cổng vật lý so với đọc bộ chốt của cổng I/O), nguyên lý định thời chu kỳ máy dựa trên tần số thạch anh, cũng như đưa ra các bài toán thực hành thiết kế phần cứng cụ thể bằng vi mạch giải mã 74HC138.


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 triển khai qua các chương trọng tâm, hình thành lộ trình học tập có tính logic kỹ thuật cao:

  • Chương 1: Giới thiệu chung về bộ vi xử lý

    • Tiến trình phát triển 4 thế hệ vi xử lý:
      • Thế hệ 1 (1971–1973: bus dữ liệu 4 bit, bus địa chỉ 12 bit, công nghệ PMOS, xung nhịp $0,1 - 0,8\text{ MHz}$, tiêu biểu như chip Intel 4040, Rockwell PPSD4).
      • Thế hệ 2 (1974–1977: bus dữ liệu 8 bit, bus địa chỉ 16 bit, công nghệ NMOS/CMOS, xung nhịp $1 - 5\text{ MHz}$, tiêu biểu như Intel 8080/8085, Motorola 6800/6809, Zilog Z80, MOS 6502).
      • Thế hệ 3 (1978–1982: bus dữ liệu 16 bit, bus địa chỉ 20–24 bit, công nghệ HMOS, xung nhịp $5 - 10\text{ MHz}$, tiêu biểu như Intel 8086/80186/80286, Motorola 68000/68010).
      • Thế hệ 4 (1983 đến nay: bus dữ liệu 32–64 bit, bus địa chỉ 32 bit, công nghệ HCMOS, xung nhịp $20 - 100\text{ MHz}$ trở lên, tiêu biểu như Intel 80386/80486/Pentium, Motorola 68020–68060).
    • Sơ đồ khối hệ vi xử lý: Phân tích chi tiết CPU (ALU, thanh ghi lệnh IR, con trỏ lệnh PC, khối giải mã và điều khiển), bộ nhớ bán dẫn (ROM, RAM), mạch giao tiếp ngoại vi (Interface Circuitry) và hệ thống bus (Address bus, Data bus, Control bus).
    • So sánh Vi xử lý (Microprocessor) và Vi điều khiển (Microcontroller): Phân định dựa trên cấu trúc tích hợp phần cứng (CPU, ROM, RAM, I/O ports, ngắt, timer trên cùng một phiến chip) và phạm vi ứng dụng (tính toán phức tạp so với điều khiển chuyên dụng).
    • Tiêu chuẩn lựa chọn vi điều khiển khi thiết kế: Ba tiêu chuẩn gồm hiệu quả kinh tế – kỹ thuật (tốc độ, kiểu đóng vỏ DIP/QFP, công suất tiêu thụ, bộ nhớ tích hợp), sự sẵn có của công cụ phát triển phần mềm (mô phỏng, biên dịch, gỡ rối) và nguồn cung ứng linh kiện hiện tại lẫn tương lai.
  • Chương 2: Phần cứng chip vi điều khiển 8051

    • Đặc tính kỹ thuật họ MCS-51: ROM nội 4 KB, RAM nội 128 byte, khả năng mở rộng ROM ngoài và RAM ngoài lên đến 64 KB mỗi loại, 4 port xuất/nhập 8 bit (P0, P1, P2, P3), 2 bộ định thời 16 bit, 1 cổng nối tiếp (UART), 210 vị trí nhớ định địa chỉ bit.
    • Các phiên bản và biến thể: So sánh thông số phần cứng giữa 8031 (không ROM nội), 8051 (4 KB Mask ROM), 8052 (8 KB ROM, 256 byte RAM, 3 Timer), 8751 (4 KB UV-EPROM), các dòng AT89C51/AT89LV51/AT89C2051/AT89C52 của Atmel (bộ nhớ Flash ROM, điện áp 3V/5V), dòng DS5000/DS5000T của Dallas Semiconductor (NV-RAM, tích hợp RTC) và dòng P89V51xx của Philips (hỗ trợ nạp ISP/IAP, PWM, SPI).
    • Chức năng hệ thống chân (vỏ DIP 40 chân): Khảo sát chi tiết cụm Port 0 (đa hợp bus địa chỉ byte thấp $AD_0 - AD_7$), Port 1, Port 2 (bus địa chỉ byte cao $A_8 - A_{15}$), Port 3 (chức năng phụ: $RxD, TxD, \overline{INT0}, \overline{INT1}, T0, T1, \overline{WR}, \overline{RD}$); các chân điều khiển chuyên dụng: $\overline{PSEN}$ (cho phép đọc ROM ngoài), $ALE$ (chốt địa chỉ đa hợp), $\overline{EA}$ (chọn truy xuất bộ nhớ trong/ngoài), $XTAL1/XTAL2$ (mạch dao động thạch anh), $RST$ (chân reset tích cực mức cao).
    • Tổ chức bộ nhớ nội:
      • 128 byte RAM nội ($00H - 7FH$): Gồm 4 Bank thanh ghi (Bank 0 đến Bank 3, chiếm địa chỉ $00H - 1FH$ với các thanh ghi $R_0 - R_7$), vùng RAM định địa chỉ bit ($20H - 2FH$, tương ứng 128 bit đánh số từ $00H$ đến $7FH$), và vùng RAM đa chức năng ($30H - 7FH$).
      • Các thanh ghi chức năng đặc biệt (SFR): Khảo sát thanh ghi tích lũy A, thanh ghi phụ B (dùng cho phép nhân/chia 16 bit), thanh ghi từ trạng thái chương trình PSW (chứa cờ nhớ CY, cờ nhớ phụ AC, các bit chọn dãy thanh ghi RS1–RS0, cờ tràn OV, cờ chẵn lẻ P), con trỏ ngăn xếp SP, con trỏ dữ liệu DPTR ($DPH$ và $DPL$), thanh ghi điều khiển nguồn PCON (chế độ Power Down và Idle).
    • Mạch giải mã và mở rộng bộ nhớ ngoài: Kỹ thuật ghép nối bộ nhớ sử dụng vi mạch giải mã 74HC138 kết hợp tín hiệu $\overline{PSEN}, \overline{RD}, \overline{WR}$.
  • Chương 3: Tập lệnh của 8051

    • Khuôn dạng dòng lệnh Hợp ngữ: Cú pháp chuẩn [LABEL:] MNEMONIC [OPERAND][,OPERAND] [;COMMENT].
    • 8 kiểu định địa chỉ (Addressing Modes):
      1. Định địa chỉ thanh ghi (Register Addressing): Thao tác trên $R_0 - R_7$, $A$, $DPTR$, $PC$, $C$, $AB$ (ví dụ: ADD A, R5, INC DPTR).
      2. Định địa chỉ trực tiếp (Direct Addressing): Truy xuất trực tiếp byte RAM nội ($00H - FFH$) hoặc SFR (ví dụ: ADD A, P1 tương đương ADD A, 90H).
      3. Định địa chỉ gián tiếp (Indirect Addressing): Dùng con trỏ @R0, @R1 (ví dụ: ADD A, @R0).
      4. Định địa chỉ tức thời (Immediate Addressing): Nạp hằng số có tiền tố # (ví dụ: ADD A, #9AH, MOV DPTR, #1234H).
      5. Định địa chỉ tương đối (Relative Addressing): Dùng cho lệnh nhảy với độ lệch có dấu 8 bit ($rel: -128 \text{ đến } +127$ byte) như SJMP.
      6. Định địa chỉ tuyệt đối (Absolute Addressing): Dùng cho ACALL, AJMP trong phạm vi trang $2\text{ KB}$ với địa chỉ 11 bit.
      7. Định địa chỉ dài (Long Addressing): Dùng cho LCALL, LJMP trong toàn bộ không gian nhớ $64\text{ KB}$ với địa chỉ 16 bit.
      8. Định địa chỉ chỉ số (Indexed Addressing): Dùng địa chỉ cơ sở kết hợp chỉ số như JMP @A+DPTR.
    • Nhóm lệnh số học và tác động cờ trạng thái: Khảo sát chi tiết hoạt động của lệnh cộng ADD A, <src-byte> và sự thay đổi của các cờ $CY, AC, OV, P$ trên dữ liệu số nguyên có dấu và không dấu.
  • Các chương chuyên đề liên quan (được trích chiếu trong tài liệu): Chương 4 (Hoạt động của bộ định thời/Timer), Chương 5 (Hoạt động của port nối tiếp UART và tốc độ Baud), Chương 6 (Hoạt động ngắt/Interrupt), và Chương Phụ lục 1 (Kỹ thuật giải mã địa chỉ).

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

  • Lý thuyết nền tảng (Fundamental Theories): Nguyên lý chu kỳ máy và quan hệ tần số: $$T_{\text{Machine}} = \frac{12}{f_{\text{OSC}}}$$ Quy tắc định thời reset ($t_{\text{RESET}} \ge 2 \times T_{\text{Machine}}$); nguyên tắc biểu diễn số nguyên có dấu dạng bù 2 (Two's Complement) trên hệ thống nhị phân 8 bit.
  • Nguyên lý cốt lõi (Core Principles): Cơ chế đa hợp tín hiệu bus địa chỉ/dữ liệu bằng chân $ALE$ nhằm tối ưu hóa số chân vi mạch; kiến trúc Harvard cải tiến phân tách hoàn toàn không gian bộ nhớ chương trình (truy xuất qua $\overline{PSEN}$) và không gian bộ nhớ dữ liệu (truy xuất qua $\overline{RD}$ và $\overline{WR}$).
  • Khuôn khổ thiết lập cấu hình (Essential Frameworks): Cơ chế quản lý ngăn xếp (Stack) thông qua thanh ghi $SP$; cơ chế quản lý trạng thái xử lý logic thông qua thanh ghi $PSW$; mô hình phân bổ không gian địa chỉ cho các vi mạch nhớ độc lập bằng giải mã đường địa chỉ cao.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật phần cứng (Technical skills): Tính toán thông số chu kỳ máy theo tần số thạch anh ($11,0592\text{ MHz}, 12\text{ MHz}, 16\text{ MHz}$); thiết kế sơ đồ nguyên lý ghép nối vi điều khiển với ROM/RAM ngoài và thiết kế mạch giải mã chọn chip dùng IC 74HC138.
  • Kỹ năng phân tích hệ thống (Analytical skills): Phân tích sự thay đổi của các cờ trạng thái ($CY, AC, OV, P$) sau các phép tính toán số học; phân biệt hành vi phần cứng giữa lệnh đọc chân cổng vật lý và lệnh đọc bộ chốt (Read-Modify-Write).
  • Kỹ năng lập trình thực tế (Practical competencies): Khởi tạo và cấu hình các cổng vào/ra (I/O); viết chương trình hợp ngữ điều khiển luồng dữ liệu, thao tác trên bit và chuyển dịch dữ liệu giữa các vùng nhớ nội/ngoại.

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

Giáo trình áp dụng phương pháp sư phạm kỹ thuật hướng cấu trúc: dẫn dắt từ sơ đồ nguyên lý phần cứng, phân tích chi tiết mức thanh ghi, sau đó minh họa bằng mã lệnh Hợp ngữ và bài tập định lượng.

Hệ thống ví dụ minh họa và bài tập tình huống được biên soạn chi tiết:

  • Tính toán số học và cờ trạng thái: Các ví dụ minh họa từng bước biểu diễn số bù 2 cho các giá trị như $-5$ ($FBH$), $-34H$ ($CCH$), $-128$ ($80H$); phân tích cờ $CY, AC, OV$ trong các phép cộng/trừ thập lục phân cụ thể như $7AH + 28H$, $95H + 86H$, $B3H + 25H$.
  • Quản lý không gian ngăn xếp: Tính toán tầm địa chỉ của ngăn xếp khi thay đổi giá trị thanh ghi $SP$ (ví dụ: $SP=5FH \rightarrow$ vùng ngăn xếp từ $60H$ đến $7FH$; $SP=49H \rightarrow$ vùng ngăn xếp từ $4AH$ đến $7FH$) và xác định nguy cơ xung đột dữ liệu với các dãy thanh ghi $R_0 - R_7$.
  • Lập trình cấu hình cổng I/O: Ví dụ thiết lập Port 0 làm cổng nhập bằng cách ghi mức 1 (MOV P0, #0FFH), chương trình liên tục kiểm tra trạng thái bit $P1.2$ để xuất dữ liệu ra $P0$ và phát xung tại $P1.3$.
  • Thiết kế mạch phần cứng: Hệ thống bài tập cuối Chương 2 yêu cầu sử dụng IC giải mã 74HC138 để tạo tín hiệu chọn chip ($\overline{CS}$) cho các vùng địa chỉ xác định (ví dụ: $0000H - 3FFFH, 4000H - 7FFFH, 6000H - 7FFFH, 8000H - 87FFH, 8800H - 8FFFH$) tương ứng với các đặc tính truy xuất $\overline{PSEN}, \overline{RD}, \overline{WR}$.

Phương pháp đánh giá học phần tương ứng bao gồm: kiểm tra lý thuyết cấu trúc vi xử lý/vi điều khiển, bài tập tính toán thiết kế mạch giải mã bộ nhớ, và bài thi thực hành viết mã nguồn Hợp ngữ điều khiển hệ thống. Người học được khuyến nghị tự học theo phương pháp đọc song song tài liệu lý thuyết với việc tra cứu bảng thanh ghi SFR và đối chiếu các ví dụ thực hành trong giáo trình.


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

Tài liệu cung cấp cái nhìn tổng hợp về sự tiến hóa của vi điều khiển họ 8051 từ thiết kế nguyên bản của Intel đến các dòng vi mạch cải tiến từ nhiều nhà sản xuất bán dẫn:

+-------------------------------------------------------------------------+
|                  TIẾN TRÌNH CÁC DÒNG VI ĐIỀU KHIỂN MCS-51               |
+-------------------------------------------------------------------------+
| 8031/8051/8052 (Intel)  --> ROM mặt nạ (Mask ROM) / Không ROM           |
| 8751/8752 (Intel)       --> Bộ nhớ xóa bằng tia cực tím (UV-EPROM)      |
| AT89C51/AT89LV51 (Atmel)--> Bộ nhớ Flash ROM (Xóa điện trong vài giây)  |
| DS5000/DS5000T (Dallas) --> NV-RAM (Nạp qua COM), tích hợp RTC          |
| P89V51xx (Philips)      --> Nạp ISP/IAP, PWM, SPI, Dual DPTR, 8 ngắt    |
+-------------------------------------------------------------------------+
  • Khảo sát đa dạng các biến thể công nghiệp: Cung cấp bảng thông số kỹ thuật chi tiết của các dòng chip Atmel (AT89C51, AT89LV51, AT89C1051, AT89C2051, AT89C52, AT89LV52), phân tích dòng chip DS5000 của Dallas Semiconductor với bộ nhớ NV-RAM và module đồng hồ thời gian thực RTC, cùng dòng vi điều khiển P89V51xx của Philips với tính năng nạp trong hệ thống (ISP) và nạp trong ứng dụng (IAP).
  • Tối ưu hóa phần cứng và năng lượng: Phân tích các chế độ tiết kiệm năng lượng thông qua thanh ghi PCON với chế độ nguồn giảm (Power Down - PD) và chế độ nghỉ (Idle - IDL), hỗ trợ các thiết kế hoạt động ở điện áp thấp 3V.
  • Liên kết ứng dụng thực tế: Xác lập bộ 3 tiêu chuẩn tuyển chọn vi điều khiển trong các dự án thiết kế công nghiệp, tính toán khả năng tải đầu ra (fanout) của các chân port (Port 0 chịu tải 8 cổng TTL) và hướng dẫn sử dụng điện trở kéo lên bên ngoài (Pull-up Resistors) cho Port 0.

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

  • Sinh viên chuyên ngành: Tài liệu phục vụ trực tiếp cho sinh viên năm thứ hai hoặc năm thứ ba theo học các hệ Đại học và Cao đẳng khối ngành Kỹ thuật (Điện tử - Viễn thông, Tự động hóa, Cơ điện tử, Kỹ thuật Máy tính, Công nghệ Thông tin).
  • Yêu cầu kiến thức tiên quyết (Prerequisites):
    • Kiến thức Kỹ thuật số: Hệ thống số nhị phân, thập lục phân, bảng mã logic, các cổng logic cơ bản, flip-flop và thanh ghi.
    • Kiến thức Mạch điện tử cơ bản: Điện áp, mức logic TTL/CMOS, mạch tạo dao động thạch anh, điện trở kéo lên.
  • Giảng viên chuyên ngành: Sử dụng giáo trình làm đề cương bài giảng chuẩn, khai thác hệ thống bài tập thiết kế mạch giải mã địa chỉ và hệ thống ví dụ giải thích hoạt động của các cờ trạng thái để biên soạn đề thi, bài kiểm tra đánh giá.
  • Kỹ sư và người tự học: Dùng làm tài liệu tra cứu cấu trúc phần cứng, cấu hình chân vi điều khiển 8051, bảng địa chỉ thanh ghi SFR và bảng quy tắc cú pháp tập lệnh Hợp ngữ.

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

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

Giáo trình được thiết kế chuẩn mực cho sinh viên bậc đại học và cao đẳng kỹ thuật đang theo học học phần Vi xử lý hoặc Hệ vi điều khiển, đồng thời phù hợp cho kỹ sư phần cứng và lập trình viên nhúng cần tài liệu tra cứu kiến trúc MCS-51.

2. Người học cần chuẩn bị kiến thức nền tảng gì trước khi học giáo trình này?

Người học cần nắm vững lý thuyết kỹ thuật số (hệ đếm nhị phân, hex, số bù 2, hàm logic), nguyên lý mạch điện tử cơ bản (mức logic, trở kéo lên) và tư duy cấu trúc dữ liệu / lập trình cơ bản.

3. Giáo trình này có điểm gì khác biệt về mặt tiếp cận nội dung?

Tài liệu tập trung phân tích sâu kiến trúc phần cứng chi tiết của họ MCS-51, đi thẳng vào nguyên lý vận hành của từng thanh ghi (PSW, SP, DPTR, SFR), phân tích rõ sự khác biệt giữa các cơ chế truy xuất cổng I/O (đọc chân so với đọc chốt), và cung cấp bài tập định lượng giải mã bộ nhớ cụ thể bằng IC 74HC138.

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

Người học nên kết hợp đọc hiểu sơ đồ khối phần cứng với việc làm toàn bộ các bài tập tính toán giá trị ngăn xếp $SP$, phân tích cờ trạng thái $PSW$ sau từng lệnh số học, đồng thời thực hành vẽ sơ đồ ghép nối mạch giải mã địa chỉ cho các vùng nhớ ROM/RAM ngoài.

5. Có tài liệu bổ trợ nào được tác giả giới thiệu kèm theo không?

Trong giáo trình, tác giả Phạm Quang Trí có dẫn chiếu người đọc tham khảo tài liệu Hệ vi điều khiển của tác giả Tống Văn Án (đặc biệt là Chương 7 về Lập trình hợp ngữ và các trang 333–352 về quy trình lập trình ROM cho chip) để bổ trợ kiến thức chuyên sâu về phần mềm.


Kết luận

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.HCM) là tài liệu học thuật hoàn chỉnh, cung cấp nền tảng vững chắc về nguyên lý vi xử lý và kỹ thuật vi điều khiển họ 8051. Nội dung tài liệu mang tính chuẩn xác, hệ thống và gắn liền với các thông số kỹ thuật phần cứng thực tế.

Lộ trình học tập được định hình chặt chẽ: từ tiếp cận lịch sử và sơ đồ khối vi xử lý tổng quát $\rightarrow$ phân tích kiến trúc phần cứng và tổ chức bộ nhớ chip 8051 $\rightarrow$ làm chủ tập lệnh Hợp ngữ và các kiểu định địa chỉ $\rightarrow$ thiết kế ghép nối hệ thống và giải mã ngoại vi. Để mở rộng kiến thức, người học được khuyến nghị kết hợp nghiên cứu giáo trình cùng tài liệu tham khảo Hệ vi điều khiển của tác giả Tống Văn Án và các phần mềm mô phỏng mạch điện tử chuyên ngành.