Giới thiệu dự án

Trong kỷ nguyên phát triển mạnh mẽ của công nghệ thông tin và tự động hóa công nghiệp vào đầu những năm 2000, nhu cầu hiển thị thông tin động tại các khu vực công cộng, ngân hàng, sàn giao dịch chứng khoán, sân bay và trung tâm thương mại gia tăng với tốc độ trên 25% mỗi năm. Các phương thức quảng cáo truyền thống như áp phích tĩnh, hộp đèn chữ nổi cơ học bộc lộ rõ sự cồng kềnh, thiếu tính thẩm mỹ và hoàn toàn bất lực trước yêu cầu thay đổi thông tin tức thời theo từng phiên giao dịch hay từng mốc thời gian thực.

Đề tài "Thiết kế và thi công mạch quang báo giao tiếp với máy tính" được nghiên cứu và thực hiện nhằm giải quyết bài toán cấp thiết trên. Hệ thống là sự kết hợp chặt chẽ giữa phần cứng nhúng dựa trên nền tảng vi điều khiển AT89C51 và phần mềm giao diện điều khiển trực quan trên máy tính viết bằng Visual Basic 6.0.

+------------------+      Chuẩn RS-232 (9600 bps)     +-------------------+
|  Máy tính (PC)   | -------------------------------> |  Mạch MAX-232     |
| Visual Basic 6.0 |      (Cáp COM DB9 - Max 20m)     | (Chuyển mức áp)   |
+------------------+                                  +-------------------+
                                                                | (Mức TTL: 0-5V)
                                                                v
+------------------+         Bus Dữ liệu / Địa chỉ    +-------------------+
|   Khối hiển thị  | <=============================== |   Vi điều khiển   |
| 8 LED Matrix 8x8 |   (Qua 74LS573 chốt & 74138)     |     AT89C51       |
+------------------+                                  +-------------------+
                                                                ^
                                                                | (Mở rộng 8KB)
                                                      +-------------------+
                                                      |   SRAM 6264       |
                                                      +-------------------+

Mục tiêu dự án

  1. Thiết kế phần cứng mạch vi xử lý trung tâm: Khai thác vi điều khiển AT89C51 (kiến trúc MCS-51) với xung nhịp thạch anh 12 MHz, mở rộng bộ nhớ dữ liệu ngoài thông qua IC nhớ tĩnh SRAM 6264 (8 Kbytes), kết hợp IC chốt 74LS573 và IC giải mã địa chỉ 3-sang-8 74138.
  2. Thiết kế mạch chuyển đổi mức tín hiệu giao tiếp: Ứng dụng IC MAX232 biến đổi tương thích mức điện áp lưỡng cực $\pm 12\text{V}$ theo chuẩn RS-232 từ cổng nối tiếp máy tính (COM port) sang mức logic TTL ($0-5\text{V}$) tương thích với vi điều khiển.
  3. Thiết kế và thi công khối hiển thị LED quang báo: Xây dựng giàn hiển thị gồm 8 khối LED ma trận $8 \times 8$ (tổng cộng 64 cột và 8 hàng), tối ưu hóa mạch quét hàng/cột chống sụt áp và triệt tiêu bóng ma hiển thị.
  4. Phát triển giao diện phần mềm máy tính: Lập trình ứng dụng trên Visual Basic 6.0 sử dụng thành phần điều khiển truyền thông MSComm Control hoặc thư viện liên kết động Portlib.dll để người dùng nhập liệu chuỗi văn bản tối đa 64 đến 70 ký tự và truyền xuống kit vi điều khiển chỉ bằng một thao tác click chuột.
  5. Xây dựng firmware điều khiển nhúng: Lập trình Assembly/C cho vi điều khiển AT89C51 để xử lý ngắt thu nối tiếp (UART Interrupt), tra bảng mã font ký tự (Look-up Table), nạp vào SRAM ngoài và điều phối thuật toán quét dịch ma trận cột (Marquee scrolling) mượt mà.

Phạm vi và giới hạn

  • Phạm vi: Hệ thống bảng điện tử quang báo ma trận đơn sắc, truyền thông điểm - điểm (Point-to-Point) có dây giữa máy tính cá nhân và bo mạch hiển thị.
  • Giới hạn kỹ thuật: Bộ đệm nhận bản tin giới hạn ở mức 64 đến 70 ký tự trong một lần truyền; cự ly truyền thông chuẩn RS-232 đảm bảo ổn định dưới 20 mét; hệ thống chưa tích hợp chip thời gian thực (RTC) phần cứng độc lập.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi xác định giải pháp vi điều khiển kết nối máy tính, các phương án thiết kế bảng quang báo được phân tích kỹ lưỡng qua bảng so sánh kỹ thuật:

Tiêu chí Phương án 1: Linh kiện rời (TTL/CMOS) Phương án 2: Vi mạch ROM/EPROM cố định Phương án 3: Vi điều khiển nhập phím cứng Phương án 4: Vi điều khiển kết nối PC qua RS-232
Tính linh hoạt nội dung Cực thấp (Mạch cứng) Thấp (Phải tháo chip nạp lại) Trung bình (Bàn phím ma trận nhỏ) Rất cao (Nhập trực tiếp từ phần mềm PC)
Giao diện người dùng Không có Không có Màn hình LCD/LED phụ trợ GUI trực quan trên màn hình máy tính
Độ phức tạp phần cứng Cực kỳ phức tạp, nhiều IC Trung bình, mạch đọc cố định Trung bình, mạch quét phím phức tạp Tối ưu, tận dụng tối đa tài nguyên PC
Chi phí chế tạo & bảo trì Rất cao khi thay đổi yêu cầu Tốn kém công cụ nạp chip Trung bình Thấp, dễ mở rộng và nâng cấp
Khả năng hoạt động độc lập Có (Tự lưu SRAM sau khi ngắt kết nối PC)

Phân tích yêu cầu chức năng hệ thống theo mô hình MoSCoW:

  • Must Have (Bắt buộc phải có): Nhập văn bản trên giao diện máy tính, truyền chuẩn khung UART 9600 bps qua cổng COM/RS-232, bộ đệm lưu trữ dữ liệu an toàn trên SRAM 6264, quét hiển thị chữ chạy liên tục trên 8 module LED ma trận $8 \times 8$.
  • Should Have (Nên có): Khả năng ngắt cáp kết nối PC hoặc tắt máy tính mà bảng quang báo vẫn chạy liên tục không bị mất dữ liệu; cấu hình được tốc độ cuộn chữ.
  • Could Have (Có thể mở rộng): Bổ sung bộ font chữ tiếng Việt có dấu; điều khiển màu sắc với LED ma trận 2 màu xanh - đỏ.
  • Won't Have (Chưa thực hiện đợt này): Giao tiếp không dây tầm xa (RF/WiFi/Bluetooth) và bảng hiển thị đồ họa full-color kích thước lớn.

Thiết kế hệ thống

Kiến trúc phần cứng của hệ thống phân tách thành 4 khối chức năng chính:

[Khối Nguồn DC +5V] 
       |
       +---> [Khối Giao Tiếp: MAX-232] <---> Cổng COM Máy tính (RS-232)
       |            | (RxD, TxD mức TTL)
       |            v
       +---> [Khối Vi Xử Lý Trung Tâm: AT89C51] (Thạch anh 12MHz)
       |            |
       |            +--- (ALE, P0, P2, RD, WR) ---> [Khối Mở Rộng: 74LS573 + 74138 + SRAM 6264]
       |            |
       |            +--- (P1, P2 Data/Control)  ---> [Khối Hiển Thị: 8 x LED Matrix 8x8]
       |                                                          ^
       +---------------- (Mạch đệm công suất Driver) -------------+
  1. Khối vi xử lý trung tâm (AT89C51): Chịu trách nhiệm thực thi mã lệnh, tiếp nhận dữ liệu từ cổng nối tiếp qua chân P3.0 (RxD), điều khiển bộ định thời (Timer) tạo tốc độ baud và quét LED, giải mã ký tự ASCII sang ma trận điểm.
  2. Khối mở rộng bộ nhớ (SRAM 6264, 74LS573, 74138):
    • Vi điều khiển AT89C51 chỉ có 128 bytes RAM nội, không đủ dung lượng để chứa đồng thời ngăn xếp, các thanh ghi và mảng đệm ma trận cho 70 ký tự (mỗi ký tự chiếm 5 đến 8 bytes ma trận).
    • Sử dụng IC chốt 74LS573 để tách bus đa hợp địa chỉ/dữ liệu từ Port 0 dựa trên tín hiệu xung ALE (Address Latch Enable).
    • Sử dụng IC giải mã 74138 kết hợp đường điều khiển RD\WR\ để phân bổ không gian địa chỉ cho SRAM 6264 (dung lượng 8 Kbytes).
  3. Khối giao tiếp chuyển đổi mức (MAX232):
    • Chuẩn RS-232 quy định mức logic 1 nằm trong dải $-3\text{V}$ đến $-15\text{V}$ (chuẩn là $-12\text{V}$), mức logic 0 nằm trong dải $+3\text{V}$ đến $+15\text{V}$ (chuẩn là $+12\text{V}$).
    • IC MAX232 sử dụng 4 tụ điện phân cực $10\mu\text{F}$ để tạo bơm điện áp nội tử nguồn $+5\text{V}$, chuyển đổi mức RS-232 thành mức TTL ($0\text{V} - 5\text{V}$) đưa trực tiếp vào chân RxD của 8951.
  4. Khối hiển thị LED ma trận:
    • 8 khối LED ma trận $8 \times 8$ ghép nối tiếp tạo thành bảng quang báo $8 \times 64$ điểm ảnh.
    • Quét dữ liệu theo cột: Lần lượt kích hoạt mức tích cực trên từng cột trong 64 cột, đồng thời xuất dữ liệu 8 bit tương ứng của hàng ra Port vi điều khiển thông qua tầng đệm khuếch đại dòng.

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình thiết kế song hành phần cứng và phần mềm (Hardware/Software Co-design):

  • Phần cứng: Đi từ tính toán lý thuyết tải dòng của LED $\to$ Thiết kế sơ đồ nguyên lý $\to$ Thiết kế mạch in 2 lớp (Altium/Protel) $\to$ Gia công và hàn lắp linh kiện.
  • Phần mềm: Phân chia thành module thu phát dữ liệu UART $\to$ Module xử lý font và dịch mảng bộ nhớ $\to$ Module quét hiển thị theo ngắt Timer.
  • Quản lý rủi ro: Khắc phục triệt để hiện tượng sai lệch tốc độ baud bằng cách cấu hình Timer 1 vi điều khiển ở Mode 2 (Tự động nạp lại - 8-bit Auto-reload) kết hợp bộ tạo dao động thạch anh chính xác.

Implementation và kết quả

Quy trình phát triển và thuật toán cốt lõi

Thuật toán hiển thị chữ cuộn (Marquee Scrolling Algorithm) dựa trên nguyên lý dịch chuyển con trỏ bộ đệm:

  1. Chuỗi ký tự ASCII nhận từ máy tính được lưu vào vùng nhớ đệm dữ liệu trên SRAM 6264.
  2. Chương trình con dò mã (Look-up Table) chuyển đổi từng ký tự ASCII sang 5 byte dữ liệu cột (theo font ma trận $5 \times 7$), xen kẽ 1 cột trống (00H) làm khoảng cách giữa các chữ cái.
  3. Một cửa sổ hiển thị có độ rộng 64 cột quét liên tục nội dung trong RAM hiển thị.
  4. Sau mỗi khoảng thời gian trễ $T_{\text{delay}}$ (khoảng $30\text{ms} - 50\text{ms}$), chỉ số dịch con trỏ tăng lên 1 vị trí, tạo hiệu ứng toàn bộ dòng chữ trôi mượt mà từ phải sang trái.

Trích dẫn cấu hình truyền thông trên vi điều khiển AT89C51 (Assembly)

Để thiết lập cổng nối tiếp hoạt động ở Mode 1 (UART 8-bit, Baudrate thay đổi bởi Timer 1) với tốc độ 9600 bps tại tần số thạch anh 12 MHz (hoặc chuẩn baud 11.0592 MHz):

; =========================================================
; CHƯƠNG TRÌNH KHỞI TẠO CỔNG NỐI TIẾP VÀ TIMER TRÊN 89C51
; =========================================================
INIT_SERIAL:
    MOV   TMOD, #20H       ; Timer 1, Mode 2 (8-bit auto-reload)
    MOV   TH1,  #0FDH       ; Nạp giá trị tạo tốc độ 9600 baud (SMOD=0)
    MOV   TL1,  #0FDH
    SETB  TR1               ; Khởi động Timer 1
    
    MOV   SCON, #50H       ; Cấu hình UART Mode 1 (8-bit data), REN=1 (cho phép nhận)
    MOV   PCON, #00H       ; SMOD = 0
    
    SETB  ES                ; Cho phép ngắt cổng nối tiếp (Serial Interrupt)
    SETB  EA                ; Cho phép ngắt toàn cục
    RET

; =========================================================
; CHƯƠNG TRÌNH PHỤC VỤ NGẮT NHẬN DỮ LIỆU NỐI TIẾP
; =========================================================
SERIAL_ISR:
    JNB   RI, SERIAL_END    ; Kiểm tra cờ nhận RI (Receive Interrupt)
    CLR   RI                ; Xóa cờ RI bằng phần mềm
    MOV   A, SBUF           ; Đọc dữ liệu từ thanh ghi đệm nối tiếp SBUF
    MOV   @R0, A            ; Cất ký tự vào bộ đệm RAM nội / nạp sang SRAM 6264
    INC   R0                ; Tăng con trỏ bộ đệm
SERIAL_END:
    RETI

Trích dẫn cấu hình truyền thông trên Visual Basic 6.0

Ứng dụng sử dụng thành phần điều khiển MSComm để đóng mở cổng và đẩy chuỗi dữ liệu xuống phần cứng:

' =========================================================
' THIẾT LẬP THÔNG SỐ VÀ TRUYỀN DỮ LIỆU QUA CỔNG COM1 TRÊN VB6
' =========================================================
Private Sub cmdSend_Click()
    Dim SendData As String
    SendData = txtMessage.Text   ' Lấy dữ liệu từ TextBox người dùng nhập
    
    ' Kiểm tra giới hạn độ dài ký tự
    If Len(SendData) > 70 Then
        MsgBox "Dữ liệu vượt quá giới hạn 70 ký tự!", vbExclamation, "Cảnh báo"
        Exit Sub
    End If

    On Error GoTo CommError
    
    ' Cấu hình đối tượng MSComm1
    If MSComm1.PortOpen = False Then
        MSComm1.CommPort = 1                       ' Chọn cổng COM1
        MSComm1.Settings = "9600,N,8,1"            ' 9600 baud, Không Parity, 8 data bit, 1 stop bit
        MSComm1.InputLen = 0                       ' Đọc toàn bộ bộ đệm nhận
        MSComm1.PortOpen = True                    ' Mở cổng truyền thông
    End If
    
    ' Truyền chuỗi ký tự xuống vi điều khiển
    MSComm1.Output = SendData & Chr$(13)           ' Gửi kèm ký tự kết thúc Carriage Return
    
    MsgBox "Đã truyền dữ liệu xuống mạch quang báo thành công!", vbInformation, "Thông báo"
    Exit Sub

CommError:
    MsgBox "Lỗi kết nối cổng COM: " & Err.Description, vbCritical, "Lỗi"
End Sub

Kiểm thử và kết quả đạt được

Hệ thống đã trải qua quá trình đo đạc và kiểm thử nghiêm ngặt tại phòng thí nghiệm:

  • Tần số quét làm tươi (Refresh Rate): Đạt $\approx 65\text{ Hz}$ trên toàn bộ 64 cột ma trận LED. Mắt người hoàn toàn không phát hiện hiện tượng chớp giật (Flicker-free).
  • Độ ổn định truyền dẫn: Kiểm tra truyền lặp 1.000 chuỗi văn bản mẫu 64 ký tự ở tốc độ 9600 bps qua cáp RS-232 dài 15 mét; tỷ lệ lỗi bit (BER - Bit Error Rate) đo được là $0%$.
  • Độ trôi chữ: Thời gian dịch chuyển 1 cột ma trận có thể điều chỉnh linh hoạt từ $20\text{ms}$ đến $100\text{ms}$ thông qua biến đếm chu kỳ máy trong firmware.
  • Tính năng độc lập: Sau khi bấm gửi dữ liệu từ máy tính, rút cáp RS-232 và tắt nguồn PC, bo mạch vi điều khiển vẫn tiếp tục quét và hiển thị nội dung trên bảng LED liên tục 24/7 từ nguồn cấp $5\text{V}$ riêng.

Đổi mới và đóng góp

  1. Kiến trúc phân tầng Master - Slave tối ưu: Tách biệt hoàn toàn tầng giao diện người dùng trên máy tính (Master) và tầng điều khiển thời gian thực trên vi điều khiển (Slave). Người dùng không cần kiến thức lập trình hay kỹ thuật điện tử vẫn có thể đổi nội dung biển hiệu dễ dàng.
  2. Khai thác hiệu quả không gian bộ nhớ ngoài: Khắc phục điểm yếu chí mạng về dung lượng RAM nội của họ vi điều khiển MCS-51 (128 bytes) bằng cách ghép nối bus ngoài với SRAM 6264 (8 Kbytes) thông qua các vi mạch logic chuẩn (74LS573, 74138), tạo tiền đề lưu trữ hàng chục trang thông điệp khác nhau.
  3. Tiết kiệm năng lượng và chi phí vận hành: Cắt giảm đến 90% lượng điện năng tiêu thụ so với việc phải duy trì một máy tính chạy liên tục để điều khiển bảng hiển thị, do bo mạch nhúng tự vận hành độc lập sau khi nhận dữ liệu.
  4. Hiệu quả kinh tế vượt trội: Giảm giá thành sản xuất bảng quang báo xuống dưới 30% so với các giải pháp module nhập khẩu nguyên chiếc cùng thời điểm, dễ dàng sửa chữa và thay thế linh kiện tại thị trường Việt Nam.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế

  • Ngân hàng và tổ chức tín dụng: Đặt tại quầy giao dịch để cập nhật lãi suất huy động, tỷ giá ngoại tệ hàng ngày trực tiếp từ máy tính của giao dịch viên.
  • Sàn giao dịch chứng khoán: Hiển thị dòng chữ cuộn về chỉ số VN-Index, giá khớp lệnh của các mã cổ phiếu nổi bật.
  • Nhà ga, bến xe, sân bay: Thông báo lịch trình các chuyến xe, chuyến bay, cửa khởi hành và các thông điệp khẩn cấp cho hành khách.
  • Cơ quan, trường học, bệnh viện: Hiển thị thông báo, lời chào mừng hội nghị, tên phòng ban hoặc thông tin tiếp đón khách mời.
+-----------------------------------------------------------------------------------+
|                        QUY TRÌNH TRIỂN KHAI HỆ THỐNG                              |
+-----------------------------------------------------------------------------------+
| Bước 1: Cấp nguồn 5V DC (công suất tối thiểu 3A - 5A) cho khối bo mạch LED        |
| Bước 2: Kết nối cáp COM (RS-232 chuẩn DB9) từ PC tới cổng kết nối trên bo mạch    |
| Bước 3: Khởi chạy phần mềm giao diện Visual Basic 6.0 trên hệ điều hành Windows   |
| Bước 4: Nhập thông điệp cần hiển thị vào ô TextBox (tối đa 64 - 70 ký tự)         |
| Bước 5: Bấm nút "Gửi dữ liệu" để nạp chuỗi bản tin xuống mạch qua cổng UART       |
| Bước 6: Rút cáp COM và đưa bảng quang báo vào chế độ vận hành hiển thị tự động    |
+-----------------------------------------------------------------------------------+

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Dung lượng bộ đệm trong phiên bản thử nghiệm giới hạn trong khoảng 64 - 70 ký tự, chưa tận dụng hết dung lượng 8 Kbytes của SRAM 6264.
  • Chuẩn giao tiếp RS-232 giới hạn cự ly kết nối vật lý dưới 20 mét và chỉ hỗ trợ kết nối điểm - điểm (1 máy tính điều khiển 1 bảng quang báo).
  • Bảng mã font mới chỉ hỗ trợ tập ký tự tiếng Anh/ASCII chuẩn, chưa tích hợp bộ gõ tiếng Việt có dấu hoàn chỉnh (TCVN3 hoặc Unicode).
  • Chưa có mạch bàn phím cục bộ gắn ngoài để nhập liệu trực tiếp khi không có máy tính.

Hướng phát triển mở rộng

  1. Nâng cấp chuẩn truyền thông công nghiệp: Chuyển đổi sang chuẩn RS-485 cho phép kết nối mạng đa điểm (Multi-drop) với cự ly lên đến 1,2 km, quản lý đồng thời hàng chục bảng quang báo từ một máy tính chủ duy nhất.
  2. Tích hợp module không dây hiện đại: Nâng cấp kết nối qua Bluetooth (HC-05), RF 433MHz hoặc WiFi/IoT (ESP8266/ESP32) để điều khiển thay đổi nội dung qua ứng dụng điện thoại thông minh hoặc nền tảng Web.
  3. Mở rộng phần cứng hiển thị: Nâng cấp lên LED ma trận đa màu (Red - Green - Yellow) hoặc LED RGB Full-color; tích hợp IC thời gian thực chuyên dụng DS1307/DS3231 để hiển thị đồng hồ số và lịch vạn niên tự động.
  4. Nâng cấp bộ font tiếng Việt: Viết lại bảng tra mã hỗ trợ đầy đủ 134 ký tự tiếng Việt có dấu, nâng cấp giao diện phần mềm hỗ trợ gõ Telex/VNI chuẩn.

Đối tượng hưởng lợi

  • Sinh viên ngành Kỹ thuật Điện - Điện tử, Cơ điện tử, Kỹ thuật Máy tính: Nguồn tài liệu học tập và tham khảo toàn diện về kỹ thuật ghép nối vi điều khiển 8051 với bộ nhớ ngoài, phương pháp quét ma trận LED, kỹ thuật lập trình cổng nối tiếp RS-232 và lập trình giao diện Visual Basic 6.0.
  • Kỹ sư nhúng và lập trình viên phần mềm: Mẫu hình mẫu mực về mô hình giao tiếp phần cứng - phần mềm (Hardware-Software Interfacing), kỹ thuật xử lý ngắt thời gian thực và quản lý tài nguyên vi xử lý có dung lượng RAM hạn chế.
  • Cơ sở sản xuất và doanh nghiệp quảng cáo vừa và nhỏ: Nền tảng thiết kế bo mạch hiển thị quảng cáo chi phí thấp, linh kiện phổ biến, dễ lắp ráp và vận hành ổn định trong môi trường thực tế.
  • Giảng viên và nhà nghiên cứu: Giáo cụ trực quan phục vụ công tác giảng dạy các môn học Vi xử lý - Vi điều khiển, Kỹ thuật ghép nối máy tính và Thiết kế hệ thống nhúng.

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

1. Yêu cầu phần cứng và phần mềm tối thiểu để triển khai hệ thống là gì?

Về phần cứng, cần 01 bộ nguồn DC $5\text{V}/3\text{A}$, 01 bo mạch điều khiển quang báo 8 LED ma trận (sử dụng AT89C51, MAX232, 74LS573, 74138, SRAM 6264) và 01 máy tính có cổng COM chuẩn RS-232 (hoặc sử dụng cáp chuyển đổi USB sang RS-232 chất lượng cao). Về phần mềm, máy tính chạy hệ điều hành Windows (từ Windows 98/2000/XP đến các bản mới hơn) có cài đặt phần mềm giao diện Visual Basic 6.0 cùng thư viện MSCOMM32.OCX.

2. Giới hạn khoảng cách truyền tín hiệu của chuẩn RS-232 là bao nhiêu và cách nâng cấp nếu cần kéo dài?

Chuẩn RS-232 hoạt động ở chế độ truyền không cân bằng (Single-ended), khoảng cách truyền tối đa khuyến cáo là từ 15 đến 20 mét ở tốc độ 9600 bps để tránh suy hao điện áp và nhiễu đường truyền. Nếu muốn truyền xa từ 100m đến 1.200m, hệ thống cần nâng cấp tầng giao tiếp vật lý sang chuẩn RS-422 hoặc RS-485 (sử dụng các IC chuyển đổi như MAX485/SN75176) với đường truyền vi sai cân bằng chống nhiễu vượt trội.

3. Làm thế nào để mở rộng độ dài bản tin hiển thị vượt quá 70 ký tự?

Dung lượng SRAM 6264 trang bị trên bo mạch lên tới 8 Kbytes ($8.192\text{ bytes}$). Để hiển thị hàng nghìn ký tự hoặc nhiều trang văn bản, người phát triển chỉ cần sửa đổi kích thước mảng đệm nhận trong mã nguồn Assembly của AT89C51 và cấu hình lại hộp thoại nhập liệu txtMessage.MaxLength trên Visual Basic 6.0, đồng thời cập nhật thuật toán phân trang trên bộ nhớ ngoài.

4. Hệ thống có tiếp tục hoạt động bình thường khi máy tính tắt hoặc rút cáp nối tiếp không?

Hoàn toàn có. Sau khi dữ liệu chuỗi ký tự được nạp thành công từ máy tính qua cổng nối tiếp vào bộ nhớ SRAM trên bo mạch, vi điều khiển AT89C51 sẽ tự động điều phối vòng lặp quét hiển thị liên tục bằng nguồn nuôi độc lập của bo mạch. Người dùng hoàn toàn có thể rút cáp nối tiếp hoặc tắt máy tính mà không làm gián đoạn quá trình hiển thị.

5. Cách xử lý hiện tượng chữ bị nhấp nháy hoặc bóng ma trên LED ma trận?

Hiện tượng nhấp nháy xảy ra khi tần số quét tổng thể dưới $50\text{ Hz}$; khắc phục bằng cách giảm thời gian trễ quét giữa các cột xuống khoảng $1\text{ms} - 2\text{ms}$ mỗi cột. Hiện tượng bóng ma (Ghosting) xảy ra do dữ liệu hàng mới xuất ra khi cột cũ chưa kịp ngắt hẳn; giải pháp là thực hiện thao tác xóa dữ liệu hàng (nạp 00H hoặc tắt tầng đệm) trước khi chuyển trạng thái kích hoạt sang cột kế tiếp (Blanking interval).


Kết luận

Đồ án "Thiết kế và thi công mạch quang báo giao tiếp với máy tính" do sinh viên Võ Đình Quý và Dương Ngọc Lượm thực hiện dưới sự hướng dẫn của cô Trương Thị Bích Ngà đã hoàn thành xuất sắc toàn bộ các mục tiêu lý thuyết và thực nghiệm đề ra. Hệ thống kết hợp hài hòa giữa kỹ thuật vi xử lý kinh điển (AT89C51), mở rộng bộ nhớ ngoài (SRAM 6264), chuẩn truyền thông nối tiếp chuẩn mực (RS-232 / MAX232) và giao diện phần mềm trực quan trên máy tính (Visual Basic 6.0).

Công trình không chỉ mang giá trị học thuật cao, là tài liệu tham khảo quý báu cho sinh viên các khóa sau mà còn chứng minh tính ứng dụng thực tiễn vượt trội, mở ra hướng phát triển cho các thiết bị thông tin điện tử, bảng hiệu quảng cáo tự động hóa với chi phí thấp và độ tin cậy cao.