Tổng Quan Về Giáo Trình Kỹ Thuật Vi Điều Khiển

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

Giáo trình Kỹ thuật Vi điều khiển là tài liệu đào tạo chuyên môn được biên soạn cho sinh viên chuyên ngành Kỹ thuật lắp ráp, sửa chữa máy tính thuộc Trường Cao đẳng Công nghiệp Hải Phòng (với sự phối hợp chuyên môn từ Khoa Điện – Điện tử). Trong khung chương trình đào tạo kỹ thuật, môn học giữ vai trò là học phần kỹ thuật cơ sở chuyên ngành, liên kết giữa kiến thức phần cứng máy tính, kỹ thuật điện tử số và kỹ thuật lập trình điều khiển mức thấp.

Mục tiêu học tập của giáo trình nhằm trang bị cho người học hệ thống tri thức hoàn chỉnh về:

  • Nguyên lý hoạt động và kiến trúc phần cứng của hệ vi xử lý tổng quát cùng các bộ vi điều khiển họ MCS-51 (tiêu biểu là vi điều khiển 8-bit AT89C51 và AT89C52 của hãng Atmel/Intel).
  • Cách thức tổ chức và phân bổ không gian bộ nhớ chương trình (ROM/EPROM/Flash) và bộ nhớ dữ liệu (RAM nội trú, RAM ngoại trú, các thanh ghi chức năng đặc biệt SFR).
  • Cơ chế vận hành của các khối chức năng tích hợp on-chip: khối định thời/bộ đếm (Timer/Counter), hệ thống ngắt (Interrupt System), và giao tiếp truyền thông nối tiếp (UART).
  • Khả năng phân tích, tính toán tham số thời gian chu kỳ máy, thiết lập các thanh ghi điều khiển và xây dựng chương trình bằng hợp ngữ (Assembly) để giao tiếp, điều khiển thiết bị ngoại vi.

Giáo trình được tiếp cận theo phương pháp kết hợp giữa cấu trúc phần cứng logic, giản đồ thời gian và các lệnh thực thi tương ứng. Điểm đặc sắc của tài liệu là phân tích sâu cấu trúc vi mô bên trong chip (từ các pha $S_1P_1$ đến $S_6P_2$ của chu kỳ máy) và cung cấp bảng tra cứu thông số kỹ thuật chi tiết của các vi điều khiển tương thích họ 8051.


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

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

Nội dung giáo trình tập trung vào hai chương nền tảng với logic phát triển từ hệ thống tổng quát đến cấu trúc vi điều khiển chuyên sâu:

  • Chương I: Giới thiệu tổng quát về hệ vi xử lý

    • Khái niệm và kiến trúc hệ vi xử lý: Cấu trúc cơ bản gồm khối xử lý trung tâm (CPU), bộ nhớ (ROM, RAM), thiết bị xuất/nhập (I/O) và hệ thống Bus.
    • Lịch sử phát triển các bộ vi xử lý Intel: Tiến trình phát triển phần cứng qua các mốc: Intel 4004 (năm 1971, 4-bit, 0.8 MHz), 8080 (1972, 8-bit), 8086 (1978, 16-bit, 10 MHz), 8088 (1979), 80286 (1982, 20 MHz), 80386 (1985–1988, 32-bit), 80486 (1989, 32-bit, 60 MHz), dòng Pentium (1993, 64-bit, 100 MHz) và các dòng Pentium Pro, Pentium II, Pentium III, Celeron, Pentium 4.
    • Kiến trúc tổ chức bộ nhớ: Phân tích so sánh kiến trúc Von Neumann (dùng chung bus bộ nhớ) và kiến trúc Harvard (tách biệt Bus chương trình và Bus dữ liệu).
    • Cấu trúc bên trong CPU: Chức năng các thanh ghi và khối chức năng gồm Program Counter (PC), Instruction Register (IR), Control Unit (CU), Memory Address Register (MAR), Arithmetic Logic Unit (ALU), Accumulator (ACC), Temporary Register (TMP) và thanh ghi cờ FLAGS.
    • Chu kỳ tìm nạp lệnh (Fetch cycle) và phân loại bộ nhớ: Trình tự đọc lệnh từ RAM lên bus dữ liệu; phân loại ROM (PROM, EPROM, EEPROM) và RAM (RAM tĩnh dùng Trigơ, RAM động dùng tụ điện).
    • Hệ thống Bus và hiện tượng nghẽn cổ chai: Cấu trúc kênh địa chỉ (Address Bus - 1 chiều), kênh dữ liệu (Data Bus - 2 chiều), kênh điều khiển (Control Bus với các tín hiệu Read, Write, Clock).
    • Hệ thống số và biểu diễn dữ liệu: Hệ thập phân (Decimal), hệ thập lục phân (Hexadecimal), hệ nhị phân (Binary - quy ước MSB, LSB), số có dấu/không dấu, hệ đếm BCD (nén và không nén), biểu diễn số bù 2, các phép toán nhị phân (+, -, *, /), phương pháp chuyển đổi giữa các hệ cơ số và bảng mã chuẩn ASCII.
  • Chương II: Bộ vi điều khiển 80C51/89C51

    • Khái niệm và thông số dòng MCS-51: Định nghĩa vi điều khiển dạng On-chip; bảng so sánh vi xử lý và vi điều khiển; bảng thông số các chip AT89C1051, AT89C2051, AT89C51 (4KB Flash, 128B RAM, 2 Timer), AT89C52 (8KB Flash, 256B RAM, 3 Timer), AT89S8252, AT89S53 và các dòng 8031, 8051, 8751, 80C51.
    • Sơ đồ chân và cấu trúc phần cứng: Khảo sát 40 chân tín hiệu gồm 4 cổng I/O 8-bit (P0, P1, P2, P3), các chân chức năng: RST (reset mức cao trong 2 chu kỳ máy), XTAL1-XTAL2, /PSEN (cho phép đọc ROM ngoài), ALE/PROG (chốt byte thấp địa chỉ với tần số bằng 1/6 tần số dao động), /EA/Vpp (chọn bộ nhớ nội/ngoại trú và nạp Flash với điện áp 12V).
    • Các thanh ghi chức năng đặc biệt (SFR): Chi tiết cấu trúc các thanh ghi ACC, B, SP (mặc định trỏ 07h sau reset), DPTR (ghép từ DPH và DPL 16-bit), PSW (chứa cờ CY, AC, F0, RS1, RS0, OV, P), PCON (chứa bit nhân đôi tốc độ baud SMOD, cờ nguồn giảm PD, cờ nghỉ IDL), TCON, TMOD, SCON, SBUF, IE, IP.
    • Không gian bộ nhớ nội và ngoại:
      • Bộ nhớ chương trình: 4KB Flash nội (0000h–0FFFh), mở rộng tới 64KB (0000h–FFFFh) qua chân /EA và tín hiệu /PSEN.
      • Bộ nhớ dữ liệu nội (RAM trong): 128 Byte thấp (00h–7Fh) gồm 4 Bank thanh ghi R0–R7 (00h–1Fh), vùng định địa chỉ bit (20h–2Fh gồm 128 bit đánh số 00h–7Fh), vùng RAM đa dụng (30h–7Fh); 128 Byte cao (80h–FFh) dành riêng cho các thanh ghi SFR.
      • Mở rộng RAM ngoài: Dung lượng tối đa 64KB truy xuất bằng lệnh MOVX kết hợp DPTR hoặc Ri, sử dụng cổng P0 làm bus đa hợp địa chỉ/dữ liệu và cổng P2 làm byte cao địa chỉ.
    • Bộ định thời/Bộ đếm (Timer/Counter): Vận hành Timer 0, Timer 1 qua thanh ghi TMOD và TCON; 4 chế độ: Chế độ 0 (13-bit), Chế độ 1 (16-bit), Chế độ 2 (8-bit tự nạp lại Auto-reload), Chế độ 3 (Bộ đếm phân chia cho Timer 0, Timer 1 dừng hoặc tạo Baud).
    • Hệ thống ngắt: 5 nguồn ngắt của AT89C51 gồm External 0 (0003h), Timer 0 (000Bh), External 1 (0013h), Timer 1 (001Bh), Serial Port (0023h); cấu hình ưu tiên qua thanh ghi IP; điều kiện phát sinh lệnh LCALL và hoàn tất phục vụ ngắt bằng lệnh RETI.
    • Truyền thông nối tiếp UART: 4 chế độ hoạt động (Mode 0: 8-bit dịch, Baud cố định $f_{osc}/12$; Mode 1: 10-bit UART, Baud khả biến; Mode 2: 11-bit UART, Baud cố định theo SMOD; Mode 3: 11-bit UART, Baud khả biến theo Timer 1); cơ chế liên lạc đa xử lý (Multiprocessor Communications) qua bit SM2 và bit dữ liệu thứ 9 (TB8/RB8); công thức tính tốc độ Baud với bộ đếm chia 16 và bộ tạo nhịp Timer 1.

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

  • Mô hình kiến trúc máy tính: Phân biệt cơ chế xử lý bus tách rời (Harvard) và bus hợp nhất (Von Neumann).
  • Nguyên lý đa hợp kênh truyền: Quá trình chốt tín hiệu địa chỉ và dữ liệu qua chân ALE và vi mạch chốt (Latch) ngoại vi.
  • Lý thuyết định thời và xử lý thời gian thực: Cơ chế chia tần số dao động thạch anh (1 chu kỳ máy = 12 chu kỳ dao động; tốc độ đếm Counter ngoài tối đa là $1/24$ tần số dao động).
  • Nguyên lý truyền thông nối tiếp dị bộ: Cấu trúc khung truyền UART (Start bit, Data bits, Parity/9th bit, Stop bit) và kỹ thuật lấy mẫu 3 điểm (các trạng thái 7, 8, 9 của bộ đếm chia 16) nhằm chống nhiễu đường truyền RxD.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật:
    • Thiết kế và phân tích sơ đồ ghép nối vi điều khiển với bộ nhớ ngoài (ROM/RAM) và vi mạch chốt địa chỉ.
    • Tính toán chính xác giá trị nạp lại cho thanh ghi TH1 để tạo các tốc độ Baud tiêu chuẩn (19200, 9600, 4800, 2400, 1200 Baud với thạch anh 11.059 MHz hoặc 12 MHz).
    • Cấu hình trạng thái hoạt động của các cổng vào/ra, thiết lập điện trở kéo lên (Pull-up) cho cổng cực máng hở P0.
  • Kỹ năng phân tích:
    • Đọc và giải đoán giản đồ xung thời gian (Timing diagrams) của các chu kỳ đọc/ghi dữ liệu ngoại trú (/RD, /WR) và chu kỳ nhận lệnh từ ROM ngoài (/PSEN).
    • Kiểm tra trạng thái cờ trong thanh ghi PSW (cờ tràn OV, cờ nhớ CY, cờ nhớ phụ AC cho số BCD, cờ chẵn lẻ P).
  • Kỹ năng thực hành:
    • Lập trình hợp ngữ Assembly thao tác trên từng bit nhớ đơn lẻ (lệnh SETB, CLR) và thao tác khối byte (MOV, MOVX, PUSH, POP, XCH, XCHD).
    • Xây dựng quy trình xử lý ngắt theo đúng trình tự (kích hoạt EA, bật cờ nguồn ngắt, gán địa chỉ vector và quản lý mức ưu tiên).

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

Giáo trình triển khai phương pháp sư phạm cấu trúc hóa (Structured Pedagogical Approach), đi từ việc mô hình hóa các khối phần cứng logic đến các giải thuật điều khiển phần mềm cụ thể. Mỗi khối kiến thức lý thuyết đều được ánh xạ trực tiếp sang các thanh ghi phần cứng và câu lệnh điều khiển tương ứng.

Trong tài liệu, các nội dung kỹ thuật đều đi kèm bài tập mẫu và ví dụ tính toán định lượng:

  • Chuyển đổi số học: Phương pháp chia 2 liên tiếp để đổi số thập phân 25 sang nhị phân $11001_b$; phương pháp tính số bù 2 qua bước trung gian bù 1 (ví dụ chuyển $A = 10011001_b$ sang số bù 2 là $01100111_b$); phép hiệu chỉnh thập phân cho mã BCD với lệnh DA A.
  • Phân tích lệnh điều khiển bit: So sánh sự tối ưu giữa 1 lệnh đơn SETB 5Fh của vi điều khiển 8051 với chuỗi 3 lệnh tương đương trên vi xử lý thông thường (MOV A, 2Bh $\rightarrow$ ORL A, #10000000b $\rightarrow$ MOV 2Bh, A).
  • Thiết lập tốc độ truyền thông: Bảng tra cứu thông số cấu hình Timer 1 ở chế độ 2 Auto-reload (ví dụ: tốc độ 9600 Baud với $f_{osc} = 11.059\text{ MHz}$, $SMOD = 0$ tương ứng giá trị nạp $TH1 = \text{FDh}$).

Về đánh giá và tự học, giáo trình đặt ra các chỉ dẫn rõ ràng cho người học:

  • Quy tắc quản lý con trỏ ngăn xếp SP: Sau khi Reset hệ thống, SP có giá trị mặc định là 07h (ngăn xếp bắt đầu từ địa chỉ 08h). Nếu chương trình yêu cầu độ sâu ngăn xếp lớn hơn 24 Byte (vượt qua vùng bank thanh ghi 08h–1Fh), người lập trình bắt buộc phải gán lại địa chỉ con trỏ SP lên vùng RAM từ địa chỉ 30h trở lên.
  • Trình tự thiết lập ngắt: Phải tuân thủ các bước: (1) Đặt bit $EA = 1$ trong thanh ghi IE, (2) Kích hoạt bit cho phép ngắt nhánh tương ứng, (3) Xác định chế độ kích hoạt ngắt ngoài theo mức ($ITx = 0$) hoặc theo sườn xung ($ITx = 1$) trong thanh ghi TCON, (4) Khởi tạo chương trình con phục vụ ngắt tại đúng địa chỉ vector cố định.

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

Giáo trình thể hiện tính hệ thống và chuẩn hóa kỹ thuật cao thông qua các nội dung:

  • Hệ thống bảng phân loại và thông số phần cứng toàn diện: Cung cấp bảng dữ liệu chi tiết của toàn bộ các biến thể thuộc họ MSC-51 từ các bộ vi điều khiển không ROM (ROMLESS như 8031AH, 8032AH, 80C31BH), các bộ vi điều khiển dùng EPROM (8751H, 87C51, 87C52) cho đến các dòng tích hợp bộ nhớ Flash hiện đại của hãng Atmel (AT89C1051, AT89C2051, AT89C51, AT89C52, AT89C55, AT89S8252, AT89S53).
  • Mô tả chi tiết hoạt động vi mô theo chu kỳ máy: Phân tích chính xác thời điểm xuất hiện tín hiệu ở các trạng thái xung clock ($S_1P_1$ đến $S_6P_2$). Điển hình là quá trình lấy mẫu ngắt ngoài tại thời điểm $S_5P_2$, cơ chế tạo xung chọn /PSEN kéo dài 3 chu kỳ dao động, và xung chốt địa chỉ ALE xuất hiện 2 lần trong mỗi chu kỳ máy.
  • Nguyên lý chống nhiễu trên đường truyền UART: Trình bày chi tiết giải thuật của bộ phát hiện bit (Bit Detector) ở các chế độ thu nối tiếp, trong đó tín hiệu trên chân RxD được lấy mẫu ở tốc độ gấp 16 lần tốc độ Baud và giá trị bit được quyết định dựa trên nguyên tắc đa số (trích mẫu tại các phần thời gian thứ 7, 8 và 9 của chu kỳ bit).
  • Cơ chế truyền thông đa xử lý (Multiprocessor Communication): Làm rõ ứng dụng của bit dữ liệu thứ 9 kết hợp với cờ điều khiển $SM2$ trong thanh ghi SCON để thực hiện phân biệt giữa byte địa chỉ và byte dữ liệu trong mạng giao tiếp Master - Slave.

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

  • Sinh viên và cấp độ đào tạo: Tài liệu được thiết kế trực tiếp cho sinh viên hệ Cao đẳng và Đại học thuộc các nhóm ngành: Kỹ thuật lắp ráp, sửa chữa máy tí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à Hệ thống nhúng.
  • Kiến thức tiên quyết (Prerequisites): Người học cần hoàn thành các học phần cơ sở bao gồm:
    • Điện tử cơ bản: Hiểu rõ nguyên lý hoạt động của transistor MOSFET, cấu trúc mạch cực máng hở (Open-drain), mạch dao động thạch anh.
    • Kỹ thuật điện tử số: Nắm vững các mạch logic cơ bản, cổng 3 trạng thái, các phần tử nhớ Trigơ (Flip-Flop), mạch chốt (Latch) và vi mạch giải mã.
    • Toán học máy tính: Thành thạo các phép toán chuyển đổi hệ số (Hex, Bin, Dec, BCD), số bù 2 và các phép toán logic AND, OR, XOR.
  • Mục đích sử dụng cho Giảng viên: Sử dụng làm khung tài liệu giảng dạy chính khóa, đề cương bài giảng học phần Vi điều khiển, xây dựng ngân hàng câu hỏi kiểm tra lý thuyết phần cứng và bài tập lập trình Assembly.
  • Mục đích tham khảo và tự học: Dùng làm tài liệu tra cứu các bảng địa chỉ thanh ghi SFR, bảng vector ngắt, công thức tính tốc độ truyền UART và cấu trúc bộ nhớ cho kỹ sư, kỹ thuật viên làm việc trong lĩnh vực bảo trì phần cứng và thiết kế hệ thống điều khiển nhúng.

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

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 phù hợp với sinh viên chuyên ngành Kỹ thuật lắp ráp và sửa chữa máy tính, Điện tử, Tự động hóa ở bậc Cao đẳng và Đại học kỹ thuật cần nắm vững nguyên lý vi xử lý và cấu trúc phần cứng vi điều khiển họ 8051/89C51.

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

Người học cần có kiến thức về kỹ thuật điện tử số (cổng logic, trigơ, mạch chốt), nguyên lý mạch bán dẫn cơ bản và các phép toán trên hệ đếm nhị phân, thập lục phân, mã BCD và số bù 2.

3. Điểm khác biệt của giáo trình này so với các tài liệu khác là gì?

Tài liệu tập trung mô tả chi tiết mức phần cứng và giản đồ định thời của chu kỳ máy (chia theo các trạng thái $S_1P_1$–$S_6P_2$), giải thích rõ nguyên lý chốt bus qua ALE, bản đồ RAM nội mức bit và cơ chế chống nhiễu lấy mẫu 3 điểm của cổng nối tiếp UART.

4. Làm thế nào để tự học giáo trình đạt hiệu quả cao nhất?

Người học nên học tuần tự từ Chương I (kiến trúc tổng quát, hệ đếm) sang Chương II (cấu trúc chip 8051); kết hợp việc tra cứu bảng thanh ghi SFR với thực hành tính toán tham số thời gian cho Timer và viết các đoạn mã Assembly điều khiển cổng I/O, xử lý ngắt.

5. Giáo trình cung cấp những tài liệu và bảng tra cứu bổ trợ nào?

Tài liệu cung cấp đầy đủ các bảng dữ liệu kỹ thuật gồm: Bảng phân loại các dòng chip họ MCS-51, Bảng địa chỉ trực tiếp và giá trị mặc định sau Reset của các thanh ghi SFR, Bảng địa chỉ vector ngắt, Bảng cấu hình các chế độ cổng nối tiếp SCON và Bảng giá trị nạp lại tạo tốc độ Baud chuẩn cho Timer 1.


Kết luận (150 từ)

Giáo trình Kỹ thuật Vi điều khiển cung cấp một hệ thống kiến thức học thuật hoàn chỉnh, chuẩn xác về kiến trúc phần cứng và phương thức lập trình điều khiển cho dòng vi điều khiển chuẩn công nghiệp họ MCS-51 (AT89C51).

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

  1. Nắm vững cấu trúc khối CPU tổng quát, các kênh bus và các hệ đếm ở Chương I.
  2. Làm chủ cấu tạo phần cứng on-chip, bản đồ bộ nhớ RAM/ROM và tập thanh ghi chức năng đặc biệt SFR ở Chương II.
  3. Vận dụng thiết lập các khối Timer/Counter, cấu hình hệ thống xử lý ngắt và giao tiếp truyền thông nối tiếp UART.

Tài liệu là cơ sở lý thuyết phần cứng phục vụ cho các học phần thực hành vi điều khiển, đồ án thiết kế mạch nhúng và là nguồn tài liệu kỹ thuật tra cứu cho sinh viên khối ngành kỹ thuật phần cứng máy tính.