Bối cảnh và vấn đề nghiên cứu

Trong quá trình phát triển kinh tế và xã hội hiện đại, nhu cầu truyền tải thông tin, thông báo và quảng cáo tại các khu vực công cộng như nhà ga, bến xe, siêu thị, trung tâm thương mại ngày càng trở nên cấp thiết. Trước đây, việc hiển thị thông tin thường áp dụng các hình thức thủ công hoặc bán tự động như viết bảng, dán áp phích thông báo hoặc sử dụng hệ thống loa phóng thanh. Những phương pháp này bộc lộ nhiều hạn chế: tính thẩm mỹ thấp, dễ bị hư hỏng do tác động môi trường, khó bảo quản, tốn kém nhân lực và hoàn toàn không linh hoạt khi cần cập nhật nội dung liên tục.

Để khắc phục các nhược điểm trên, tác giả đã tiến hành khảo sát và đánh giá bốn phương án kỹ thuật chế tạo bảng quang báo điện tử:

  1. Sử dụng mạch logic và IC rời: Dùng các vi mạch giải đa hợp kết hợp ma trận diode để tạo thành bộ nhớ ROM phần cứng. Phương án này có nhược điểm là dung lượng bộ nhớ phụ thuộc vào kích thước phần cứng; khi muốn thay đổi nội dung hiển thị phải thay đổi lại vị trí hàn nối diode, mạch cồng kềnh, độ phức tạp cao và chi phí lớn.
  2. Sử dụng vi mạch bộ nhớ EPROM độc lập: Giảm được kích thước và giá thành so với IC rời. Tuy nhiên, mỗi lần thay đổi chương trình hoặc nội dung thông báo đều phải tháo chip EPROM ra khỏi mạch, xóa bằng ánh sáng cực tím và nạp lại qua bộ nạp chuyên dụng, tính cơ động không cao.
  3. Sử dụng máy vi tính điều khiển trực tiếp: Đáp ứng tốt việc thay đổi nội dung nhưng chi phí đầu tư rất cao, thiết bị chiếm diện tích lớn và lãng phí tài nguyên xử lý so với yêu cầu của một bảng quang báo thông thường.
  4. Sử dụng vi mạch vi xử lý (Microprocessor): Cho phép nhập và thay đổi nội dung thông báo trực tiếp từ bàn phím vào bộ nhớ RAM ngay trên kit điều khiển mà không cần tháo chip nhớ, hỗ trợ điều khiển màu sắc hiển thị (xanh, đỏ), mạch gọn nhẹ, độ tin cậy cao và chi phí hợp lý.

Từ các phân tích trên, đề tài xác định mục tiêu và nhiệm vụ nghiên cứu cụ thể:

  1. Nghiên cứu lý thuyết kiến trúc và tập lệnh của vi xử lý Intel 8085A cùng các vi mạch ngoại vi hỗ trợ (8255A, 2764, 6264, 74LS138, 74LS373, 74LS164).
  2. Thiết kế và thi công phần cứng Main Board điều khiển trung tâm, khối ghép nối bộ nhớ 32 KB (16 KB EPROM và 16 KB SRAM), khối giao tiếp vào/ra I/O.
  3. Thiết kế khối bàn phím ma trận 56 phím hỗ trợ nhập bảng chữ cái tiếng Anh, chữ số và các ký tự chức năng.
  4. Thiết kế khối hiển thị ma trận LED 2 màu (xanh - đỏ) kích thước 8 hàng $\times$ 40 cột, tính toán mạch đệm công suất và mạch quét cột dịch chuyển dữ liệu.
  5. Xây dựng chương trình điều khiển bằng hợp ngữ Assembly 8085 để quét phím, xử lý chuỗi ký tự, quản lý 8 chương trình thông báo và điều khiển hiển thị chữ chạy từ phải sang trái.

Đối tượng và phạm vi nghiên cứu: Hệ thống vi xử lý 8085A và các linh kiện số tích hợp thuộc ngành Kỹ thuật Điện tử. Đề tài được thực hiện tại Bộ môn Điện tử, Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, hoàn thành vào tháng 01/2002.


Cơ sở lý thuyết và phương pháp

Đồ án được xây dựng dựa trên nền tảng kỹ thuật số và kiến trúc máy tính vi xử lý 8-bit họ Intel:

  • Kiến trúc vi xử lý Intel 8085A: Vi xử lý 8-bit sử dụng nguồn đơn $+5\text{V}$, tần số xung nhịp danh định 6 MHz (tạo xung nội chia đôi ra 3 MHz). Bus địa chỉ 16-bit cho phép quản lý không gian nhớ tối đa 64 KB ($0000\text{H} - \text{FFFF}\text{H}$). Đường truyền địa chỉ thấp và dữ liệu được ghép kênh đa hợp trên các chân $\text{AD}_0 - \text{AD}_7$, yêu cầu tín hiệu $\text{ALE}$ (Address Latch Enable) để chốt địa chỉ qua vi mạch đệm. Hệ thống ngắt gồm 4 vector ngắt phần cứng ($\text{TRAP}$, $\text{RST 7.5}$, $\text{RST 6.5}$, $\text{RST 5.5}$) và 1 ngắt đa dụng $\text{INTR}$.
  • Hệ thống bộ nhớ bán dẫn:
    • EPROM 2764: Bộ nhớ chỉ đọc có thể xóa bằng tia cực tím và lập trình lại, dung lượng $8\text{ KB} \times 8\text{-bit}$, thời gian truy xuất $450\text{ ns}$.
    • SRAM 6264: Bộ nhớ truy xuất ngẫu nhiên tĩnh, dung lượng $8\text{ KB} \times 8\text{-bit}$, lưu trữ dữ liệu tạm thời trong quá trình thực thi chương trình.
  • Vi mạch giao tiếp ngoại vi lập trình 8255A (PPI): Vi mạch hỗ trợ 24 đường vào/ra chia làm 3 cổng 8-bit ($\text{Port A}$, $\text{Port B}$, $\text{Port C}$) hoạt động theo 3 chế độ: Chế độ 0 (Vào/ra cơ bản độc lập), Chế độ 1 (Vào/ra có chốt bắt tay - Strobed I/O), Chế độ 2 (Vào/ra hai chiều trên Port A).
  • Các vi mạch số bổ trợ: Vi mạch giải mã địa chỉ 3-sang-8 đường 74LS138; vi mạch chốt 8-bit 74LS373; vi mạch thanh ghi dịch 8-bit nối tiếp sang song song 74LS164; IC đệm không đảo 4050; transistor khuếch đại dòng silic loại NPN 2SC828.

Phương pháp nghiên cứu kết hợp giữa thiết kế kỹ thuật, tính toán giải tích mạch điện tử và thực nghiệm phần cứng:

  • Phương pháp phân tích mạch số: Thiết lập bảng trạng thái logic, bản đồ giải mã địa chỉ bộ nhớ và thiết bị I/O nhằm tối ưu hóa các đường chọn chip ($\overline{\text{CS}}$).
  • Phương pháp tính toán giải tích: Tính toán dòng tải bão hòa của transistor điều khiển cột ma trận LED ($I_C, I_B$) đảm bảo độ sáng đồng đều cho 8 LED sáng đồng thời trên mỗi cột.
  • Phương pháp lập trình nhúng hợp ngữ: Viết mã nguồn Assembly 8085 trực tiếp, tổ chức cấu trúc dữ liệu theo khối ô nhớ, xử lý bảng mã ký tự font $5 \times 7$ và thuật toán quét phím chống dội.
  • Nguồn dữ liệu tham khảo: Các giáo trình Mạch số, Vi mạch số, Sổ tay tra cứu linh kiện bán dẫn và tài liệu chuẩn về kiến trúc vi xử lý của Intel và Trường ĐH Sư phạm Kỹ thuật TP.HCM.

Thiết kế và triển khai

Hệ thống mạch quang báo được thiết kế thành các khối chức năng liên kết chặt chẽ qua hệ thống bus chung (Bus địa chỉ, Bus dữ liệu, Bus điều khiển):

+-------------------------------------------------------------+
|                      HỆ THỐNG BUS CHUNG                     |
|         Bus địa chỉ (16-bit)  |  Bus dữ liệu (8-bit)        |
|               Bus điều khiển (RD, WR, IO/M, ALE)            |
+-------------------------------------------------------------+
       |                  |                |            |
       v                  v                v            v
+--------------+  +---------------+  +-----------+  +----------+
|  CPU 8085A   |  |   BỘ NHỚ      |  | 8255A (1) |  |8255A (2) |
| Chốt 74LS373 |  | 2x EPROM 2764 |  | Quét phím |  | Quét LED |
| Giải mã 74138|  | 2x SRAM 6264  |  | 56 phím   |  | Cột/Hàng |
+--------------+  +---------------+  +-----------+  +----------+
                                                          |
                                                          v
                                                    +----------+
                                                    |  MA TRẬN |
                                                    | LED 8x40 |
                                                    | 2SC828 / |
                                                    | 74LS164  |
                                                    +----------+

1. Thiết kế Main Board và bộ nhớ

Hệ thống sử dụng không gian nhớ 32 KB trong tổng số 64 KB không gian địa chỉ của vi xử lý 8085A, bao gồm 16 KB ROM và 16 KB RAM:

  • 2 EPROM 2764 (mỗi chip 8 KB): Chiếm dải địa chỉ $0000\text{H} - 3\text{FFF}\text{H}$, dùng lưu trữ chương trình hệ thống, chương trình con quét hiển thị và bảng mã ký tự.
  • 2 SRAM 6264 (mỗi chip 8 KB): Chiếm dải địa chỉ $4000\text{H} - 7\text{FFF}\text{H}$, dùng làm bộ đệm chứa nội dung hiển thị do người dùng nhập vào, vùng nhớ ngăn xếp ($\text{SP}$) và các biến cờ trạng thái.

Bus địa chỉ byte thấp $A_0 - A_7$ được tách ra từ bus đa hợp $\text{AD}0 - \text{AD}7$ thông qua IC chốt 74LS373 dưới sự điều khiển của xung $\text{ALE}$. Việc giải mã bộ nhớ sử dụng IC giải mã 74LS138 kết nối với 3 đường địa chỉ $A{13}, A{14}, A_{15}$ và chân $\text{IO}/\overline{\text{M}}$ (ở mức thấp khi truy xuất bộ nhớ).

Tên IC Loại bộ nhớ Dung lượng Dải địa chỉ (Hex) Tín hiệu chọn chip ($\overline{\text{CS}}$)
EPROM 1 (2764) ROM hệ thống 8 KB $0000\text{H} - 1\text{FFF}\text{H}$ Ngõ ra $\overline{O_0}$ của 74LS138
EPROM 2 (2764) Bảng mã ký tự 8 KB $2000\text{H} - 3\text{FFF}\text{H}$ Ngõ ra $\overline{O_1}$ của 74LS138
SRAM 1 (6264) RAM dữ liệu / đệm 8 KB $4000\text{H} - 5\text{FFF}\text{H}$ Ngõ ra $\overline{O_2}$ của 74LS138
SRAM 2 (6264) RAM mở rộng 8 KB $6000\text{H} - 7\text{FFF}\text{H}$ Ngõ ra $\overline{O_3}$ của 74LS138

2. Thiết kế khối giao tiếp xuất nhập (I/O)

Mạch sử dụng 2 vi mạch giao tiếp ngoại vi 8255A định cấu hình theo kiểu I/O (truy xuất bằng lệnh IN, OUT với bus địa chỉ 8-bit $A_8 - A_{15}$):

  • IC 8255A thứ nhất (Quét bàn phím): Dải địa chỉ $00\text{H} - 03\text{H}$. Port A ($00\text{H}$) cấu hình ngõ vào nhận dữ liệu quét hàng; Port C ($02\text{H}$) cấu hình ngõ ra quét cột; Port B ($01\text{H}$) dự phòng. Từ điều khiển khởi tạo: $\text{CW} = 90\text{H}$ (hoặc $92\text{H}$).
  • IC 8255A thứ hai (Quét màn hình LED): Dải địa chỉ $10\text{H} - 13\text{H}$. Port A ($10\text{H}$) cấu hình ngõ ra dữ liệu hàng; Port C ($12\text{H}$) cấu hình ngõ ra tạo xung clock và dữ liệu dịch cột; Port B ($11\text{H}$) dự phòng. Từ điều khiển khởi tạo: $\text{CW} = 80\text{H}$.

Mạch giải mã I/O dùng IC 74LS138: Các đường $A_{10}, A_{11}, A_{12}$ nối vào ngõ vào chọn $A, B, C$; đường $A_{13}$ nối vào $\overline{G_{2A}}$; đường $A_{14}, A_{15}$ qua cổng OR nối vào $\overline{G_{2B}}$; chân $\text{IO}/\overline{\text{M}}$ nối vào $G_1$ (ở mức cao khi truy xuất I/O).

Vi mạch Cổng chức năng Địa chỉ cổng (Hex) Từ điều khiển ($\text{CW}$) Chức năng phần cứng
8255A (1) Port A $00\text{H}$ $\text{CW} = 90\text{H}$ Nhận tín hiệu quét 8 hàng phím (Input)
Port B $01\text{H}$ Dự phòng
Port C $02\text{H}$ Xuất tín hiệu quét 7 cột phím (Output)
Thanh ghi ĐK $03\text{H}$ Ghi từ điều khiển chế độ
8255A (2) Port A $10\text{H}$ $\text{CW} = 80\text{H}$ Xuất dữ liệu hiển thị 8 hàng ma trận LED
Port B $11\text{H}$ Dự phòng
Port C $12\text{H}$ Xuất xung Clock, Data, Clear cho 74LS164
Thanh ghi ĐK $13\text{H}$ Ghi từ điều khiển chế độ

3. Thiết kế bàn phím ma trận

Bàn phím được thiết kế dạng ma trận 8 hàng $\times$ 7 cột (tổng cộng 56 phím nhấn cơ khí), bao gồm:

  • 10 phím số ($0 - 9$).
  • 26 phím chữ cái tiếng Anh ($A - Z$).
  • Các phím ký tự đặc biệt: dấu chấm, dấu than, dấu hỏi, dấu ngoặc vuông [, ], dấu hai chấm :, dấu chấm phẩy ;, dấu ba chấm ..., dấu mũi tên <<, >>.
  • Các phím chức năng điều khiển: ENTER (mã $30\text{H}$ - cho phép chạy thông báo), PRO / NHAP (mã $31\text{H}$ - vào chế độ lập trình/kết thúc nhập), RIGHT (mã $32\text{H}$ - xóa ký tự bên phải), LEFT (mã $33\text{H}$ - xóa ký tự bên trái/backspace), SPACE (mã $34\text{H}$ - khoảng trắng).

Thuật toán quét phím sử dụng phần mềm để chống dội (debounce): Xuất mức logic 0 tuần tự ra từng cột của Port C, sau đó đọc giá trị 8 hàng từ Port A. Nếu phát hiện có bit bằng 0, chương trình xác định tọa độ giao điểm hàng - cột và tra bảng mã để nhận diện phím nhấn.

4. Thiết kế màn hình ma trận LED và mạch công suất

Màn hình quang báo gồm 5 khối ma trận LED $8 \times 8$ ghép liên tiếp, tạo thành kích thước hiển thị 8 hàng $\times$ 40 cột, hỗ trợ 2 màu hiển thị (xanh và đỏ):

  • Nguyên lý quét cột: Sử dụng 5 IC ghi dịch 74LS164 mắc nối tiếp để quét 40 cột màu xanh và 5 IC 74LS164 để quét 40 cột màu đỏ. Các tín hiệu điều khiển lấy từ Port C của 8255A thứ hai:
    • Màu xanh: $\text{PC}_0$ phát xung clock ($\text{CLKX}$), $\text{PC}_1$ xuất dữ liệu ($\text{STARTX}$), $\text{PC}_2$ xóa thanh ghi ($\text{RESET}$).
    • Màu đỏ: $\text{PC}_3$ phát xung clock ($\text{CLKD}$), $\text{PC}_4$ xuất dữ liệu ($\text{STARTD}$).
  • Mạch khuếch đại công suất cột: Dòng ra từ các chân IC 74LS164 không đủ cấp cho 8 LED sáng đồng thời trên một cột. Tác giả sử dụng transistor NPN silic 2SC828 để thúc dòng cho mỗi cột.
    • Thông số tính toán thiết kế: Điện áp nguồn $V_{CC} = 5\text{V}$; điện áp sụt trên LED $V_D = 1.8\text{V}$; điện áp bão hòa transistor $V_{CE(sat)} = 0.3\text{V}$.
    • Dòng định mức cực đại của mỗi LED: $I_{LED} = 30\text{ mA}$.
    • Dòng cực góp cực đại khi 8 LED trên cùng một cột đồng thời sáng: $$I_C = 8 \times I_{LED} = 8 \times 30\text{ mA} = 240\text{ mA}$$
    • Với hệ số khuếch đại dòng của 2SC828 chọn $\beta = 150$, dòng kích cực bazơ yêu cầu: $$I_B = \frac{I_C}{\beta} = \frac{240\text{ mA}}{150} = 1.6\text{ mA}$$
    • Mạch thỏa mãn điều kiện làm việc bão hòa của transistor 2SC828 (công suất $P = 400\text{ mW}$, $V_{CEO} = 30\text{ V}$, dòng $I_C$ cho phép đáp ứng tốt).
  • Mạch đệm dữ liệu hàng: Dữ liệu hàng xuất từ Port A của IC 8255A thứ hai đi qua vi mạch đệm không đảo IC 4050 trước khi nối vào các cực cathode của ma trận LED.

5. Thiết kế phần mềm hệ thống (Assembly 8085)

Phần mềm điều khiển hệ thống được viết bằng hợp ngữ 8085, phân bổ cấu trúc bộ nhớ và các chương trình con chuyên biệt:

  • Phân bổ vùng nhớ RAM điều khiển:
    • 5FF0H: Khởi tạo con trỏ ngăn xếp Stack Pointer (LXI SP, 5FF0H).
    • 5F00H: Ô nhớ lưu cờ chế độ hoạt động (Mode).
    • 5F01H: Ô nhớ lưu số hiệu chương trình thông báo ($0 - 7$).
    • 5F02H: Ô nhớ lưu con trỏ địa chỉ chuỗi dữ liệu đang xử lý.
    • 4000H - 4027H: Vùng đệm 40 byte chứa dữ liệu quét 40 cột LED hiện hành.
    • 2000H: Địa chỉ gốc của bảng mã font ký tự $5 \times 7$ lưu trong EPROM 2.
  • Quy trình thực thi chính (MAIN - $0100\text{H}$):
    1. Khởi tạo giá trị ngăn xếp $\text{SP}$ và nạp từ điều khiển cho 2 vi mạch 8255A ($\text{CW}_1 = 90\text{H}$, $\text{CW}_2 = 80\text{H}$).
    2. Sao chép dữ liệu chuỗi ký tự mặc định PRO từ EPROM sang RAM và gọi chương trình con h-t-pro để hiển thị nhấp nháy chữ PRO chờ người dùng.
    3. Quét bàn phím: Nếu người dùng nhấn phím số ($0 - 7$) và nhấn ENTER, hệ thống chuyển sang thực thi chương trình thông báo tương ứng. Nếu nhấn phím PRO, hệ thống chuyển sang chế độ nhập chuỗi ký tự mới từ bàn phím vào RAM.
    4. Chương trình con htdata và htct2: Quét và dịch chuyển chuỗi 256 byte dữ liệu từ RAM ra 40 cột ma trận LED theo từng nhịp xung clock, hỗ trợ hiển thị màu xanh và chuyển sang màu đỏ.

Nội dung chính theo từng chương

Phần I: Giới thiệu

Trình bày tổng quan về vai trò của ngành Điện - Điện tử trong công nghiệp hóa, hiện đại hóa và nhu cầu cấp thiết của các thiết bị hiển thị thông tin tự động tại nơi công cộng. Phân tích chi tiết ưu nhược điểm của 4 giải pháp công nghệ (IC logic rời, chip EPROM, vi máy tính và vi xử lý), từ đó khẳng định việc lựa chọn vi xử lý Intel 8085A là phương án tối ưu về kỹ thuật, tính linh hoạt và hiệu quả kinh tế. Đưa ra sơ đồ khối tổng quát của toàn hệ thống quang báo.

Phần II: Khảo sát các linh kiện trong mạch quang báo

  • Chương I: Khảo sát vi xử lý 8085A: Tóm tắt lịch sử phát triển 5 thế hệ vi xử lý (từ 4004 năm 1971 đến Pentium thế hệ thứ 5). Trình bày chi tiết đặc tính kỹ thuật của 8085A (nguồn $5\text{V}$, dòng $170\text{ mA}$, xung nhịp $6\text{ MHz}$, 4 vector ngắt, ghép kênh địa chỉ/dữ liệu). Phân tích sơ đồ 40 chân, giản đồ thời gian của 4 chu kỳ bus (Read, Write, Interrupt Acknowledge, DMA) và cấu trúc bên trong gồm khối ALU, các thanh ghi đa dụng ($B, C, D, E, H, L$), thanh ghi tích lũy $A$, con trỏ lệnh $\text{PC}$, con trỏ ngăn xếp $\text{SP}$, thanh ghi trạng thái 5 cờ ($S, Z, AC, P, C$) và khối điều khiển logic.
  • Chương II: Khảo sát về bộ nhớ: Phân loại và nguyên lý hoạt động của các họ ROM (PROM, EPROM 27xxx, EEPROM 28xxx) và RAM (SRAM, DRAM). Khảo sát cấu trúc chân, sơ đồ logic, bảng trạng thái truy xuất của EPROM 2764 ($8\text{ KB}$) và SRAM tĩnh 6264 ($8\text{ KB}$).
  • Chương III: Khảo sát IC giao tiếp 8255A: Phân tích sơ đồ chân, cấu trúc bên trong gồm Nhóm A (Port A, 4-bit cao Port C) và Nhóm B (Port B, 4-bit thấp Port C). Trình bày định dạng từ điều khiển cấu hình chế độ Mode 0, Mode 1 (giao tiếp bắt tay qua các cờ $\overline{\text{STB}}, \text{IBF}, \text{INTR}, \overline{\text{OBF}}, \overline{\text{ACK}}$) và Mode 2. Phân tích hai phương thức ghép nối: kiểu bộ nhớ và kiểu I/O.
  • Chương IV: Khảo sát các IC còn lại liên quan đến mạch: Khảo sát chức năng và bảng chân trị của IC giải mã địa chỉ 3-sang-8 74LS138, IC chốt trong suốt 8-bit 74LS373 và IC thanh ghi dịch nối tiếp sang song song 8-bit 74LS164.

Phần III: Thiết kế và thi công mạch quang báo

  • Chương I: Thiết kế và thi công phần cứng: Thiết kế chi tiết Main Board điều khiển; tính toán ghép nối vi xử lý 8085A với 2 chip EPROM 2764 và 2 chip SRAM 6264 qua IC chốt 74LS373 và IC giải mã 74LS138; thiết kế mạch giải mã cho 2 IC giao tiếp 8255A; thiết kế khối ma trận bàn phím 56 phím; tính toán các thông số phân cực cho tầng khuếch đại transistor 2SC828 và mạch đệm IC 4050 điều khiển màn hình ma trận LED $8 \times 40$; xây dựng bảng mã ma trận điểm font $5 \times 7$ cho toàn bộ chữ cái và ký số.
  • Chương II: Thiết kế phần mềm: Xây dựng các lưu đồ thuật toán: lưu đồ hệ thống, lưu đồ quét phím chống dội, lưu đồ hiển thị chuỗi ký tự, lưu đồ dịch chuyển dữ liệu 256 byte và lưu đồ chọn chương trình. Cung cấp toàn bộ mã nguồn hợp ngữ Assembly 8085 cho chương trình chính và các chương trình con chức năng.

Phần IV: Kết luận và phụ lục

Đánh giá tổng kết kết quả thử nghiệm phần cứng và phần mềm của mô hình; nêu rõ các ưu điểm đạt được và các hạn chế tồn tại; đề xuất phương hướng phát triển hệ thống; cung cấp danh mục tài liệu tham khảo chuyên ngành.


Kết quả và đóng góp

Kết quả nghiên cứu và chế tạo thực nghiệm

  • Chế tạo thành công kit điều khiển vi xử lý 8085A hoàn chỉnh kết hợp 32 KB bộ nhớ (16 KB EPROM chứa mã chương trình và bảng font ký tự, 16 KB SRAM chứa dữ liệu thông báo).
  • Ghép nối và vận hành chính xác 2 vi mạch ngoại vi 8255A, phân tách độc lập nhiệm vụ quét bàn phím ma trận 56 phím và xuất dữ liệu điều khiển màn hình ma trận LED.
  • Thi công hoàn chỉnh màn hình quang báo ma trận LED kích thước 8 hàng $\times$ 40 cột (5 khối LED ma trận $8 \times 8$), hiển thị rõ nét 2 màu xanh và đỏ nhờ tầng khuếch đại công suất transistor 2SC828 ($I_C = 240\text{ mA}$) và mạch đệm IC 4050.
  • Xây dựng thành công hệ thống phần mềm Assembly 8085 quản lý 8 chương trình thông báo độc lập (từ chương trình 0 đến 7), cho phép nhập trực tiếp nội dung văn bản từ bàn phím vào RAM, tự động dịch chuyển chuỗi dữ liệu từ phải sang trái và thay đổi màu sắc hiển thị theo lập trình.

Đóng góp kỹ thuật của đồ án

  • Đưa ra giải pháp tối ưu hóa phần cứng bằng cách kết hợp thanh ghi dịch 74LS164 để quét cột ma trận LED nối tiếp, giúp giảm thiểu tối đa số lượng đường dây I/O cần điều khiển từ vi xử lý.
  • Xây dựng hoàn chỉnh bảng mã font ký tự ma trận điểm $5 \times 7$ lưu trong bộ nhớ EPROM, tạo chuẩn hiển thị đồng nhất cho chữ cái tiếng Anh, chữ số và các ký hiệu đặc biệt.
  • Cung cấp mô hình hệ thống vi xử lý kinh điển có tính ứng dụng thực tiễn cao, kết hợp đầy đủ các kỹ thuật ghép nối bus, giải mã địa chỉ, chốt dữ liệu, bắt tay I/O và xử lý ngắt/quét phím.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài

  • Dung lượng hiển thị vật lý của bảng đèn còn hạn chế (mới dừng lại ở 5 khối LED ma trận $8 \times 8$, tương đương 40 cột), chưa hiển thị được các câu thông báo dài cùng một lúc ở trạng thái tĩnh.
  • Dữ liệu lưu trong bộ nhớ SRAM 6264 bị mất khi ngắt nguồn điện chính do mạch chưa tích hợp khối nguồn pin dự phòng (Battery Backup) để duy trì dữ liệu RAM.
  • Chưa hỗ trợ hiển thị tiếng Việt có dấu đầy đủ và các hiệu ứng đồ họa phức tạp hoặc hình ảnh chuyển động đa chiều.

Hướng nghiên cứu tiếp

  • Mở rộng thêm dung lượng bộ nhớ RAM tĩnh có tích hợp mạch pin nuôi tự động nhằm lưu trữ nội dung thông báo lâu dài kể cả khi mất điện.
  • Tăng số lượng module ma trận LED (mở rộng chiều dài bảng đèn lên 80 hoặc 120 cột) và bổ sung các tầng IC ghi dịch 74LS164 quét cột tương ứng.
  • Nâng cấp thuật toán phần mềm để hỗ trợ hiển thị hình ảnh đồ họa chuyển động (animation), các hiệu ứng cuộn chữ đa hướng (lên, xuống, nhấp nháy xen kẽ) và phát triển bộ font tiếng Việt có dấu.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo kỹ thuật hữu ích cho:

  • Sinh viên ngành Kỹ thuật Điện tử, Kỹ thuật Máy tính, Tự động hóa: Nắm vững phương pháp thiết kế hệ thống vi xử lý thực tế; kỹ thuật ghép nối bus đa hợp địa chỉ/dữ liệu bằng 74LS373; phương pháp lập bản đồ giải mã bộ nhớ và thiết bị ngoại vi bằng 74LS138.
  • Kỹ sư và người nghiên cứu thiết kế mạch số: Tham khảo cách tính toán phân cực tầng đệm công suất transistor thúc LED ma trận dòng cao và kỹ thuật mở rộng ngõ ra quét cột bằng thanh ghi dịch nối tiếp sang song song 74LS164.
  • Lập trình viên hệ thống nhúng / hợp ngữ: Tham khảo cấu trúc mã nguồn Assembly 8085 hoàn chỉnh với các giải thuật quét phím ma trận chống dội, thuật toán quản lý chuỗi đệm hiển thị và kỹ thuật định thời bằng vòng lặp delay.

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

1. Tại sao đề tài lại chọn giải pháp dùng vi xử lý 8085 thay vì mạch logic rời hay chip EPROM đơn lẻ?

Mạch dùng IC logic rời rất cồng kềnh, mỗi lần đổi thông tin phải hàn lại ma trận diode. Mạch dùng EPROM đơn lẻ muốn đổi nội dung phải tháo chip ra chiếu tia cực tím để xóa rồi nạp lại bằng bộ nạp chuyên dụng. Sử dụng vi xử lý 8085 cho phép nhập trực tiếp nội dung mới từ bàn phím lưu vào RAM ngay trên mạch, điều khiển hiển thị 2 màu linh hoạt, cấu trúc gọn nhẹ và giá thành hợp lý.

2. Vi xử lý 8085 thực hiện phân tách bus địa chỉ và dữ liệu đa hợp ($\text{AD}_0 - \text{AD}_7$) như thế nào?

8085 ghép kênh 8 đường địa chỉ thấp $A_0 - A_7$ và 8 đường dữ liệu $D_0 - D_7$ trên các chân $\text{AD}_0 - \text{AD}_7$. Trong chu kỳ xung nhịp đầu tiên ($T_1$) của chu kỳ máy, chân $\text{ALE}$ lên mức cao báo hiệu các chân $\text{AD}_0 - \text{AD}_7$ đang mang địa chỉ; tín hiệu $\text{ALE}$ này kích hoạt IC chốt 74LS373 để giữ lại 8-bit địa chỉ thấp ($A_0 - A_7$). Trong các chu kỳ tiếp theo ($T_2, T_3$), $\text{ALE}$ xuống mức thấp và các chân $\text{AD}_0 - \text{AD}_7$ chuyển sang đóng vai trò bus dữ liệu ($D_0 - D_7$).

3. Không gian địa chỉ bộ nhớ và các cổng I/O trong hệ thống được phân bổ như thế nào?

Bộ nhớ chiếm 32 KB ($0000\text{H} - 7\text{FFF}\text{H}$):

  • EPROM 1 ($0000\text{H} - 1\text{FFF}\text{H}$): Chứa chương trình hệ thống.
  • EPROM 2 ($2000\text{H} - 3\text{FFF}\text{H}$): Chứa bảng mã ký tự font $5 \times 7$.
  • SRAM 1 ($4000\text{H} - 5\text{FFF}\text{H}$): Bộ đệm dữ liệu và ngăn xếp.
  • SRAM 2 ($6000\text{H} - 7\text{FFF}\text{H}$): Vùng nhớ mở rộng.

Các cổng I/O giao tiếp qua 2 IC 8255A:

  • 8255A thứ nhất (Quét phím): $00\text{H}$ (Port A), $01\text{H}$ (Port B), $02\text{H}$ (Port C), $03\text{H}$ (Thanh ghi điều khiển, $\text{CW} = 90\text{H}$).
  • 8255A thứ hai (Quét LED): $10\text{H}$ (Port A), $11\text{H}$ (Port B), $12\text{H}$ (Port C), $13\text{H}$ (Thanh ghi điều khiển, $\text{CW} = 80\text{H}$).

4. Tầng công suất điều khiển ma trận LED 40 cột được tính toán như thế nào để tránh sụt dòng?

Mỗi cột gồm 8 LED mắc song song qua các điện trở hạn dòng. Khi 8 LED trên cùng một cột đồng thời sáng ở dòng cực đại $30\text{ mA}$/LED, dòng tổng qua cực góp transistor là $I_C = 8 \times 30\text{ mA} = 240\text{ mA}$. Tác giả chọn transistor NPN silic 2SC828 có hệ số khuếch đại $\beta = 150$, yêu cầu dòng kích cực bazơ $I_B = 240 / 150 = 1.6\text{ mA}$. Tín hiệu quét từ IC 74LS164 đưa vào cực bazơ đảm bảo đưa 2SC828 vào trạng thái dẫn bão hòa hoàn toàn, cấp đủ dòng cho bảng LED sáng đều.

5. Người dùng thao tác nhập và chạy một chương trình thông báo trên hệ thống như thế nào?

Khi khởi động, hệ thống hiển thị chữ PRO nhấp nháy. Người dùng nhấn phím số ($0 - 7$) để đặt tên chương trình, sau đó nhấn phím PRO để bắt đầu nhập chuỗi ký tự từ bàn phím 56 phím. Kết thúc chuỗi văn bản, người dùng nhấn phím PRO lần nữa để xác nhận hoàn tất dữ liệu, sau đó nhấn số hiệu chương trình và nhấn phím ENTER để mạch bắt đầu quét hiển thị chữ chạy trên ma trận LED.


Kết luận

Đồ án tốt nghiệp "Thiết Kế và Thi Công Mạch Quang Báo Dùng Vi Xử Lý 8085" của sinh viên Nguyễn Văn Chương (GVHD: Nguyễn Phương Quang, Trường ĐH Sư phạm Kỹ thuật TP.HCM) đã hoàn thành xuất sắc mục tiêu kết hợp vi xử lý 8-bit Intel 8085A với hệ thống bộ nhớ 32 KB và các vi mạch ngoại vi chuyên dụng để chế tạo bảng hiển thị thông tin điện tử tự động. Mô hình phần cứng vận hành ổn định, điều khiển chính xác màn hình ma trận LED $8 \times 40$ hiển thị 2 màu xanh - đỏ với khả năng dịch chuyển ký tự mượt mà. Đề tài giải quyết tốt bài toán cập nhật thông tin linh hoạt trực tiếp qua bàn phím ma trận 56 phím, cung cấp giải pháp thiết kế hệ thống vi xử lý hoàn chỉnh và có giá trị tham khảo kỹ thuật cao cho công tác đào tạo chuyên ngành Kỹ thuật Điện tử.