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

Đồ án tốt nghiệp "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ý (MSSV: 98101244) và Dương Ngọc Lượm (MSSV: 98101218), lớp 98KDD, Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh thực hiện dưới sự hướng dẫn của giáo viên Trương Thị Bích Ngà (thực hiện từ tháng 10/2002 đến đầu năm 2003).

Về bối cảnh thực tiễn, tác giả chỉ ra rằng tại Việt Nam thời điểm đầu thập niên 2000, hoạt động quảng cáo và hiển thị thông tin công cộng chủ yếu vẫn dùng các hình thức tĩnh hoặc bán thủ công như biển hiệu hộp đèn chữ nổi, áp phích khổ lớn cố định. Các giải pháp này cồng kềnh, thiếu tính thẩm mỹ và hoàn toàn cố định nội dung. Trong khi đó, các địa điểm dịch vụ công cộng và thương mại có nhu cầu cập nhật thông tin liên tục và nhanh chóng như ngân hàng (lãi suất huy động, tỷ giá ngoại tệ), sân bay (giờ bay, thông tin chuyến bay), hoặc trung tâm giao dịch chứng khoán (chỉ số biến động thị trường theo phiên) đòi hỏi hệ thống hiển thị phải có khả năng xử lý linh hoạt và thay đổi thông tin tức thời. Máy tính là công cụ tối ưu cho việc điều khiển và xử lý nội dung, từ đó đặt ra bài toán kết nối máy tính với hệ thống vi điều khiển để vận hành bảng hiển thị điện tử (quang báo).

Mục tiêu và các nhiệm vụ nghiên cứu cụ thể được giao trong đồ án bao gồm:

  1. Hiển thị được 70 ký tự nhập từ máy tính (trong nhiệm vụ ban đầu ghi 70 ký tự; ở phần giới hạn thực hiện của mạch hoàn thiện, hệ thống xử lý mỗi lần truyền tối đa 64 ký tự tính cả khoảng trắng).
  2. Sử dụng ngôn ngữ lập trình Microsoft Visual Basic 6.0 để thiết kế giao diện người dùng và thực hiện giao tiếp truyền thông với vi điều khiển AT89C51.
  3. Tính toán, thiết kế và thi công board mạch hiển thị gồm 8 LED ma trận.
  4. Tính toán, thiết kế và thi công board mạch giao tiếp trung gian với máy tính qua cổng nối tiếp (COM / RS-232).
  5. Xây dựng phần mềm trên máy tính và chương trình nhúng nạp cho vi điều khiển để điều khiển bảng quang báo.

Đối tượng nghiên cứu của đồ án là hệ thống hiển thị chữ chạy dùng vi điều khiển AT89C51 kết hợp 8 khối LED ma trận và giao diện phần mềm điều khiển từ máy tính cá nhân. Phạm vi không gian và thời gian nghiên cứu diễn ra tại Phòng thí nghiệm 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 trong năm học 2002 - 2003. Phạm vi tính năng kỹ thuật tập trung vào việc truyền và hiển thị chuỗi ký tự thuộc bảng chữ cái tiếng Anh (từ A đến Z) cùng các khoảng trắng, hiển thị theo phương thức quét cuộn chữ qua lại trên ma trận LED và cho phép ngắt kết nối máy tính sau khi nạp xong dữ liệu.

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

Để xác định phương án kỹ thuật tối ưu, tác giả đã tiến hành phân tích và so sánh bốn phương án thiết kế mạch quang báo:

  • Phương án 1 (Dùng linh kiện rời): Sử dụng các IC số cơ bản như bộ đếm, bộ ghi dịch và cổng logic. Nhược điểm là mạch rất cồng kềnh, tiêu tốn số lượng linh kiện lớn, độ tin cậy thấp, khó kiểm soát khi xảy ra sự cố và phần cứng bị cố định hoàn toàn, không thể thay đổi hiệu ứng.
  • Phương án 2 (Dùng bộ nhớ EPROM): Lưu mã quét chữ trực tiếp trong EPROM. Hạn chế là thiếu tính mềm dẻo vì mỗi lần thay đổi câu chữ phải tháo chip để xóa bằng tia cực tím và nạp lại bằng mạch nạp chuyên dụng; đồng thời đòi hỏi dung lượng bộ nhớ lớn nếu muốn hiển thị nhiều nội dung.
  • Phương án 3 (Dùng vi điều khiển độc lập kết hợp bàn phím tại chỗ): Khắc phục được nhược điểm của EPROM, mạch gọn hơn nhưng giao diện điều khiển không trực quan, việc nhập văn bản qua bàn phím ma trận số/chữ hạn chế và tốn thêm linh kiện quét phím.
  • Phương án 4 (Dùng vi điều khiển kết nối máy tính): Tận dụng máy tính cá nhân để soạn thảo văn bản trực quan qua bàn phím chuẩn và màn hình đồ họa; truyền dữ liệu qua cổng nối tiếp RS-232; vi điều khiển nhận và lưu vào bộ nhớ RAM ngoài để quét hiển thị liên tục. Ưu điểm nổi bật là có thể rút cáp nối hoặc tắt máy tính sau khi truyền xong mà bảng LED vẫn hoạt động bình thường; chi phí thi công vừa phải. Tác giả đã chọn phương án 4 để triển khai.

Về phương thức giao tiếp máy tính, đồ án khảo sát ba chuẩn kết nối thông dụng thời điểm đó:

  • Khe cắm mở rộng Slot-Card (chuẩn ISA 62 đường): Tốc độ cao do truyền song song 8-bit, nhưng bất tiện vì phải mở nắp thùng máy (case) PC để cắm bo mạch vào bo mạch chủ.
  • Cổng song song (Parallel Port / Cổng máy in LPT 25 chân): Giao tiếp song song qua chip đệm 8255 (hoạt động ở Mode 1), truyền nhanh nhưng khoảng cách kết nối bị giới hạn ngắn và dây cáp nhiều sợi dễ bị nhiễu.
  • Cổng nối tiếp (Serial Port / Cổng COM theo chuẩn RS-232): Sử dụng đường truyền vi sai không cân bằng, chỉ cần tối thiểu 3 dây (TxD, RxD, GND), khoảng cách truyền đạt tới 15 - 20 mét, khả năng chống nhiễu tốt hơn cổng song song và việc đấu nối cáp ngoại vi rất thuận tiện. Tác giả lựa chọn giao tiếp qua cổng COM1 (địa chỉ I/O: 3F8H - 3FFH).

Dưới đây là bảng thông số so sánh giữa các chuẩn truyền thông nối tiếp công nghiệp EIA được tác giả tổng hợp làm căn cứ lựa chọn:

Thông số kỹ thuật RS-232 RS-422 RS-423A RS-485
Chiều dài cáp tối đa 15 m (50 feet) 1,2 km (4000 feet) 1,2 km (4000 feet) 1,2 km (4000 feet)
Tốc độ truyền (Baudrate) 20 Kbps 10 Mbps (12m) / 100 Kbps (1,2km) 100 Kbps (9m) / 10 Kbps (90m) 10 Mbps (12m) / 100 Kbps (1,2km)
Chế độ đường truyền Không cân bằng (Single-ended) Cân bằng vi sai (Differential) Không cân bằng vi sai Cân bằng vi sai (Differential)
Số bộ phát (Driver) 1 1 1 32
Số bộ thu (Receiver) 1 10 10 32
Mức điện áp Logic 0 +3V đến +12V +2V đến +6V +3,6V đến +6V +1,5V đến +6V
Mức điện áp Logic 1 -3V đến -12V -2V đến -6V -3,6V đến -6V -1,5V đến -6V
Phương thức truyền Bán song công / Toàn song công Toàn song công (Full-duplex) Bán song công (Half-duplex) Bán song công (Half-duplex)

Về vi điều khiển và linh kiện bán dẫn sử dụng:

  • Vi điều khiển AT89C51 (hãng Atmel): Tương thích hoàn toàn tập lệnh 8051 (MCS-51), tích hợp 4 Kbyte Flash ROM, 128 byte RAM nội, 32 đường xuất nhập chia thành 4 port (P0 đến P3), 2 bộ Timer/Counter 16-bit, 1 cổng truyền thông nối tiếp song công (UART), 5 nguồn ngắt với 2 mức ưu tiên, sử dụng thạch anh ngoài tần số 12 MHz (chu kỳ máy 1 µs).
  • IC MAX232: Vi mạch chuyển đổi mức điện áp tín hiệu giữa chuẩn RS-232 (+12V, -12V) của PC và chuẩn TTL (0V, +5V) của AT89C51 nhờ mạch nhân áp dùng tụ điện ngoại vi với nguồn cấp đơn +5V.
  • IC 74LS573: Vi mạch chốt dữ liệu 8-bit trong suốt điều khiển bằng tín hiệu LE (Latch Enable) và OE (Output Enable), dùng để chốt byte thấp của bus địa chỉ (A0 - A7) tách ra từ Port 0 thông qua xung ALE của 8951.
  • IC 74LS138: Vi mạch giải mã 3 đường sang 8 đường (tích cực mức thấp), phục vụ việc giải mã địa chỉ chọn chip và điều khiển quét cột ma trận LED.
  • SRAM 6264: Bộ nhớ RAM tĩnh ngoài dung lượng 8 Kbyte (8K x 8 bit), giao tiếp với vi điều khiển qua bus địa chỉ/dữ liệu và các tín hiệu điều khiển RD\, WR\, dùng làm vùng đệm lưu trữ dữ liệu ký tự và bảng mã quét từ máy tính truyền xuống.

Thiết kế và triển khai hệ thống kỹ thuật

Đồ án là công trình kỹ thuật phần cứng kết hợp phần mềm điều khiển, được thiết kế thành các khối chức năng hoàn chỉnh:

  1. Kiến trúc tổng thể hệ thống: Bao gồm 5 khối cơ bản liên kết tuần tự: Khối máy tính cá nhân (chạy phần mềm giao diện Visual Basic 6.0) $\rightarrow$ Khối cáp giao tiếp cổng COM (chuẩn RS-232) $\rightarrow$ Khối chuyển đổi mức logic MAX232 $\rightarrow$ Khối xử lý trung tâm (AT89C51, RAM 6264, chốt 74LS573, giải mã 74138) $\rightarrow$ Khối hiển thị (8 khối ma trận LED) và Khối nguồn cấp một chiều (+5V).

  2. Mạch giao tiếp máy tính: Được thiết kế dùng IC MAX232 nối với đầu cắm DB9 của cổng nối tiếp COM1 trên máy tính. Chân TxD (chân 3 của cổng DB9) của PC đưa tín hiệu RS-232 vào chân R1IN (chân 13) của MAX232, ngõ ra mức TTL tại chân R1OUT (chân 12) được đấu trực tiếp vào chân RxD (chân 10 / P3.0) của vi điều khiển AT89C51. Mạch sử dụng các tụ hóa 10 µF (hoặc 1 µF) mắc vào các chân C1+, C1-, C2+, C2-, V+, V- để tạo điện áp chuyển đổi.

  3. Mạch hiển thị và phương pháp quét ma trận: Mạch hiển thị gồm 8 module LED ma trận đơn sắc được ghép nối tiếp tạo thành hàng hiển thị chữ. Mỗi ký tự ma trận được biểu diễn bằng lưới LED điểm (kích thước chuẩn 5x7 hoặc 8x8 điểm). Để tiết kiệm chân điều khiển và hạn chế số lượng linh kiện công suất, đồ án sử dụng phương pháp quét ma trận theo thời gian:

    • Các hàng (hoặc cột) được cấp tín hiệu dữ liệu mã quét thông qua cổng xuất của vi điều khiển kết hợp IC chốt 74LS573.
    • Các cột (hoặc hàng) lần lượt được kích hoạt mức tích cực thông qua IC giải mã 74LS138 và tầng transistor đệm dòng.
    • Thời gian quét cho mỗi cột được duy trì trong một khoảng ngắn (tính bằng mili-giây) rồi chuyển sang cột kế tiếp. Nhờ hiện tượng lưu ảnh trên võng mạc mắt người (khoảng 1/20 đến 1/25 giây), người quan sát nhìn thấy toàn bộ chuỗi ký tự sáng đồng thời và ổn định mà không bị nhấp nháy. Kỹ thuật dịch con trỏ dữ liệu trong RAM tạo ra hiệu ứng chữ cuộn từ phải sang trái liên tục.
  4. Khối nguồn cấp: Khối nguồn sử dụng biến áp hạ áp từ lưới điện xoay chiều 220VAC xuống điện áp thấp, qua mạch cầu chỉnh lưu diode, tụ lọc gợn sóng và vi mạch ổn áp tuyến tính 7805 để cung cấp nguồn một chiều ổn định +5VDC cho toàn bộ hệ thống gồm vi điều khiển, các IC số và bảng LED ma trận.

  5. Phần mềm giao diện trên PC (Microsoft Visual Basic 6.0): Giao diện được xây dựng trên nền tảng Windows với điều khiển truyền thông MSComm (Microsoft Comm Control 6.0). Cấu hình truyền thông nối tiếp được thiết lập qua thuộc tính: MSComm1.CommPort = 1 (chọn cổng COM1), MSComm1.Settings = "9600,N,8,1" (tốc độ truyền 9600 baud, không kiểm tra chẵn lẻ, 8 bit dữ liệu, 1 bit dừng). Người vận hành nhập chuỗi văn bản cần hiển thị vào hộp văn bản (TextBox) trên Form rồi nhấn nút truyền lệnh. Dữ liệu ký tự được xuất qua cổng COM bằng phương thức MSComm1.Output. Ngoài ra, đồ án cũng trình bày kỹ thuật truy xuất trực tiếp cổng I/O phần cứng thông qua thư viện liên kết động Portlib.dll với hai hàm chính OutPort và InPort.

  6. Chương trình nhúng trên vi điều khiển AT89C51: Được lập trình bằng hợp ngữ MCS-51 Assembly, bao gồm các khối chương trình con:

    • Khối khởi tạo: Thiết lập chế độ hoạt động cho Timer 1 ở Mode 2 (8-bit tự nạp lại) để tạo tốc độ baud 9600 bps tương thích với PC; khởi tạo thanh ghi điều khiển cổng nối tiếp SCON (SM0=0, SM1=1 cho Mode 1 UART 8-bit).
    • Khối nhận dữ liệu nối tiếp: Chờ cờ ngắt nhận RI bật lên 1 khi thanh ghi SBUF nhận đủ một byte từ máy tính, sau đó đọc dữ liệu từ SBUF, xóa cờ RI và lưu ký tự nhận được vào mảng bộ nhớ RAM ngoài 6264 thông qua con trỏ dữ liệu DPTR.
    • Khối tra cứu bảng mã (Look-up Table): Chương trình con dò mã ký tự ASCII để chuyển đổi mã chữ cái thành tập hợp các byte quét cột ma trận tương ứng.
    • Khối quét hiển thị và trễ (Delay): Vừa thực hiện vòng lặp quét các chân ma trận LED, vừa tạo trễ dịch khung hiển thị để tạo hiệu ứng chữ chạy uyển chuyển.

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

Bố cục khóa luận được cấu trúc thành ba phần với các chương cụ thể như sau:

Phần 1: Tóm tắt lý thuyết

  • Chương 1: Giới thiệu các phương pháp giao tiếp máy tính: Phân tích chi tiết ba cơ chế ghép nối máy tính với thiết bị ngoại vi: giao tiếp qua rãnh cắm Slot-Card chuẩn ISA (độ rộng 8-bit, 62 đường tín hiệu, 20 đường địa chỉ); giao tiếp qua cổng song song máy in 25 chân dùng vi mạch lập trình ngoại vi 8255 (xác định chân Strobe, Ack, Busy, Error và các thanh ghi dữ liệu D0 - D7); giao tiếp qua cổng nối tiếp COM (RS-232). Trình bày cơ sở lý thuyết truyền số liệu, phân định truyền song song và truyền nối tiếp, nguyên lý truyền đồng bộ (dùng chung xung nhịp clock) và truyền bất đồng bộ (sử dụng bit Start, Data, Parity, Stop).
  • Chương 2: Truyền thông nối tiếp: Khảo sát cấu trúc các thanh ghi điều khiển bên trong bộ thu phát nối tiếp 8250/16550 của PC bao gồm: thanh ghi điều khiển đường truyền (Line Control Register - LCR) với các bit thiết lập số bit dữ liệu, bit dừng, bit parity và bit DLAB truy xuất hệ số chia baud; thanh ghi điều khiển modem (Modem Control Register - MCR) quản lý các đường DTR, RTS; thanh ghi trạng thái đường dây (Line Status Register - LSR) thông báo cờ dữ liệu nhận sẵn sàng, lỗi ghi đè (Overrun), lỗi khung (Framing error) và thanh ghi đệm phát trống. Trình bày chi tiết chuẩn vật lý RS-232, sơ đồ 9 chân/25 chân, so sánh mức điện áp TTL và RS-232; đồng thời mở rộng giới thiệu các chuẩn giao tiếp công nghiệp EIA khác gồm RS-449, RS-423A, RS-422A và RS-485.

Phần 2: Giới thiệu linh kiện

  • Chương 1: Giới thiệu vi điều khiển AT89C51: Trình bày chi tiết kiến trúc phần cứng vi điều khiển họ MCS-51; sơ đồ chân 40 chân DIP và công dụng của từng chân (P0, P1, P2, P3, RST, ALE, PSEN, EA, XTAL1, XTAL2); tổ chức không gian bộ nhớ trong (128 byte RAM nội, 4 bank thanh ghi R0-R7, 128 bit định vị trực tiếp và 21 thanh ghi chức năng đặc biệt SFR); cơ chế mở rộng bộ nhớ ngoài lên tới 64KB ROM và 64KB RAM; nguyên lý hoạt động của hai bộ Timer/Counter 16-bit (Timer 0, Timer 1) và các thanh ghi điều khiển TMOD, TCON; hoạt động truyền thông nối tiếp qua thanh ghi SCON, SBUF; tổ chức hệ thống 5 ngắt và bảng tóm tắt tập lệnh Assembly.
  • Chương 2: Giới thiệu IC MAX232: Phân tích sơ đồ chân, nguyên lý hoạt động của các bộ đệm đảo chuyển đổi mức logic giữa TTL (+5V, 0V) và RS-232 (+12V, -12V); cách bố trí 4 tụ điện ngoại vi phục vụ mạch bơm điện tích (charge pump) nhân áp bên trong IC; sơ đồ ghép nối giữa MAX232 với đầu cắm DB9 cổng COM1 máy tính và cổng vi điều khiển.
  • Chương 3: Giới thiệu IC chốt 74LS573: Trình bày chức năng của vi mạch chốt 8-bit đa dụng; bảng trạng thái hoạt động dựa trên các chân điều khiển tín hiệu cho phép chốt dữ liệu LE (Latch Enable) và cho phép ngõ ra ba trạng thái OE (Output Enable).
  • Chương 4: Giới thiệu IC giải mã địa chỉ 74138: Khảo sát sơ đồ chân và bảng chân trị của IC giải mã 3 sang 8 đường (74LS138); nguyên lý kết hợp ba ngõ vào cho phép G1, G2A, G2B để giải mã các địa chỉ ô nhớ và chọn chip trong hệ thống vi điều khiển.
  • Chương 5: Giới thiệu RAM 6264: Trình bày đặc tính kỹ thuật của bộ nhớ RAM tĩnh (SRAM) dung lượng 8 Kbyte; sơ đồ chân và bảng trạng thái các chế độ đọc dữ liệu (Read), ghi dữ liệu (Write), ngắt chọn chip (Not Select) và cấm ngõ ra (Output Disable) dựa trên trạng thái của các chân CS1\, CS2, OE\, WR\.
  • Chương 6: Giới thiệu Visual Basic: Khái quát về môi trường lập trình Microsoft Visual Basic 6.0; nguyên lý hoạt động và cách khai báo hàm Windows API từ các thư viện liên kết động DLL (Portlib.dll); cấu trúc hoạt động, các phương thức bắt sự kiện và bảng thuộc tính quan trọng của đối tượng điều khiển truyền thông MSComm.

Phần 3: Thiết kế và thi công

  • Chương 1: Thiết kế phần cứng: Xác định các chỉ tiêu kỹ thuật cần đạt; thiết lập sơ đồ khối tổng quát; tính toán và vẽ sơ đồ nguyên lý chi tiết mạch giao tiếp máy tính qua MAX232; thiết kế mạch hiển thị với 8 khối LED ma trận; vẽ sơ đồ mạch in (PCB layout) lớp trên và lớp dưới; trình bày giải pháp quét hiển thị LED; tính toán thiết kế khối nguồn hạ áp và ổn áp 5V.
  • Chương 2: Thiết kế chương trình: Xây dựng lưu đồ giải thuật cho các chương trình con của vi điều khiển: lưu đồ nhận dữ liệu từ cổng COM, lưu đồ dò mã font ký tự, lưu đồ chuyển dữ liệu mã quét sang RAM ngoại 6264, lưu đồ tạo trễ và lưu đồ phối hợp vừa quét LED vừa xử lý cuộn chữ. Thiết kế giao diện đồ họa trên máy tính bằng Visual Basic 6.0, viết mã xử lý truyền dữ liệu và biên soạn tài liệu hướng dẫn vận hành hệ thống.

Kết quả và đóng góp kỹ thuật

Khóa luận đã hoàn thành các mục tiêu kỹ thuật cụ thể sau:

  • Chế tạo hoàn chỉnh hai bo mạch phần cứng thực tế: bo mạch giao tiếp trung gian (chuyển đổi mức logic qua MAX232) và bo mạch chính tích hợp vi điều khiển AT89C51, RAM ngoài 6264, các IC đệm/chốt/giải mã cùng dàn hiển thị 8 khối LED ma trận đơn sắc. Mạch in được thiết kế và thi công hoàn chỉnh cả hai lớp.
  • Xây dựng thành công ứng dụng điều khiển chạy trên hệ điều hành Windows bằng Visual Basic 6.0 với giao diện người dùng đơn giản, cho phép nhập chuỗi ký tự vào hộp thoại và gửi trực tiếp qua cổng COM1 với thông số chuẩn 9600,N,8,1.
  • Vi điều khiển thu nhận dữ liệu nối tiếp thành công, thực hiện giải mã font chữ và hiển thị cuộn ngang mượt mà trên dàn 8 LED ma trận với độ sáng đồng đều, không xảy ra hiện tượng chớp nháy. Mạch thực tế đáp ứng việc truyền và hiển thị chuỗi văn bản tối đa 64 ký tự (tính cả khoảng trắng).
  • Đạt được tính độc lập cao trong vận hành: sau khi máy tính hoàn tất việc nạp chuỗi ký tự xuống vi điều khiển, người dùng có thể tháo dây cáp kết nối RS-232 hoặc tắt hoàn toàn máy tính mà bảng quang báo vẫn tiếp tục chạy nội dung đã nạp nhờ dữ liệu được duy trì trong mạch đệm.

Về mặt đóng góp so với các phương pháp hiển thị trước đó được đề cập trong tài liệu: đề tài đã thay thế giải pháp hộp đèn tĩnh truyền thống bằng bảng hiển thị điện tử linh hoạt; đồng thời khắc phục nhược điểm cứng nhắc của giải pháp dùng EPROM (vốn đòi hỏi quy trình tháo nạp phức tạp) bằng giải pháp kết nối máy tính trực quan, giảm thiểu số lượng linh kiện so với mạch số rời và giảm chi phí thi công.

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

Căn cứ theo nội dung tự đánh giá trong văn bản khóa luận, hệ thống còn tồn tại một số hạn chế kỹ thuật:

  • Hệ thống chưa được trang bị bàn phím nhập liệu tại chỗ để điều khiển trực tiếp khi không có máy tính cá nhân kết nối bên cạnh.
  • Khả năng tiếp nhận dữ liệu văn bản bị giới hạn ở mức 64 ký tự trong một lần truyền; chưa hỗ trợ truyền chuỗi dữ liệu có dung lượng dài hơn.
  • Mới chỉ hiển thị được các ký tự thuộc bảng chữ cái tiếng Anh chuẩn (ASCII); chưa hỗ trợ hiển thị tiếng Việt có dấu và các ký tự đồ họa phức tạp.

Các hướng mở rộng và phát triển tiếp theo được tác giả đề xuất:

  • Thiết kế bổ sung cụm bàn phím ma trận độc lập gắn trực tiếp vào bo mạch vi điều khiển để người dùng có thể nhập hoặc thay đổi nhanh nội dung mà không phụ thuộc vào máy tính.
  • Nâng cấp phần mềm điều khiển và mở rộng dung lượng bộ nhớ đệm để tăng độ dài chuỗi ký tự hiển thị vượt qua giới hạn 64 ký tự.
  • Phát triển bảng hiển thị mở rộng với nhiều ma trận LED hơn, nâng cấp lên LED ma trận đa màu (hai màu hoặc ba màu) và nghiên cứu hiển thị ký tự tiếng Việt cùng các kỹ xảo hiển thị đồ họa phong phú hơn.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho:

  • Sinh viên các ngành Điện - Điện tử, Kỹ thuật Máy tính, Tự động hóa, Cơ điện tử đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp liên quan đến ứng dụng vi điều khiển họ MCS-51 (8051/89C51).
  • Những người cần tài liệu kỹ thuật mẫu về phương pháp ghép nối máy tính qua cổng COM / chuẩn RS-232 sử dụng vi mạch MAX232, cũng như cách lập trình điều khiển cổng nối tiếp trên máy tính bằng thành phần MSComm trong Visual Basic 6.0.
  • Các kỹ sư và sinh viên nghiên cứu kỹ thuật quét ma trận LED, phương pháp mở rộng bộ nhớ ngoài (SRAM 6264) cho vi điều khiển 8-bit và kỹ thuật thiết kế mạch in (PCB layout) cho các hệ thống hiển thị điện tử công cộng.

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

  1. Tại sao tác giả lại chọn phương án vi điều khiển kết nối máy tính thay vì phương án dùng EPROM hay bàn phím độc lập? Phương án dùng EPROM đòi hỏi phải tháo chip nạp lại mỗi khi đổi nội dung và cần dung lượng ROM lớn, không phù hợp cho người dùng phổ thông. Phương án vi điều khiển dùng bàn phím độc lập lại thiếu tính trực quan và mạch quét phím khá phức tạp. Phương án kết nối máy tính cho phép soạn thảo văn bản trực quan qua phần mềm Visual Basic, linh hoạt thay đổi nội dung, kết cấu mạch đơn giản và có thể ngắt kết nối PC sau khi nạp xong dữ liệu.

  2. Hệ thống quang báo trong đồ án hiển thị được tối đa bao nhiêu ký tự trong một lần nạp dữ liệu? Trong phiếu nhiệm vụ luận văn ban đầu đề ra yêu cầu hiển thị 70 ký tự. Tuy nhiên, ở phần giới hạn đề tài và thi công thực tế của văn bản, hệ thống được thiết kế để truyền và hiển thị tối đa 64 ký tự (tính luôn cả ký tự khoảng trắng) cho mỗi lần nạp văn bản từ máy tính xuống vi điều khiển.

  3. Vai trò của IC MAX232 và RAM 6264 trong sơ đồ phần cứng là gì? IC MAX232 có nhiệm vụ tương thích mức điện áp: biến đổi tín hiệu từ mức RS-232 (+12V, -12V) từ cổng COM của PC thành mức logic TTL (0V, +5V) tương thích với chân RxD của vi điều khiển AT89C51 và ngược lại. RAM 6264 là bộ nhớ tĩnh ngoài dung lượng 8KB, được dùng làm bộ đệm lưu trữ tạm thời chuỗi dữ liệu ký tự và mã quét hiển thị do máy tính truyền xuống, giúp vi điều khiển duy trì dữ liệu quét LED độc lập mà không làm cạn kiệt bộ nhớ RAM nội (chỉ có 128 byte) của 8951.

  4. Người dùng có bắt buộc phải giữ máy tính kết nối liên tục với bảng quang báo trong lúc hiển thị không? Không bắt buộc. Sau khi nhập các ký tự trên giao diện Visual Basic và nhấn nút truyền dữ liệu xuống mạch thành công, người dùng có thể rút dây cáp điều khiển RS-232 ra khỏi máy tính, tắt máy tính hoặc sử dụng máy tính cho các công việc khác mà bảng quang báo vẫn tiếp tục hoạt động và duy trì việc quét hiển thị nội dung bình thường.

  5. Phần mềm máy tính sử dụng công cụ gì và thiết lập các thông số truyền thông như thế nào? Phần mềm máy tính được viết bằng Microsoft Visual Basic 6.0, sử dụng điều khiển truyền thông MSComm (Microsoft Comm Control 6.0). Cổng nối tiếp COM1 được mở và cấu hình bằng chuỗi thiết lập Settings = "9600,N,8,1", tương ứng với tốc độ baud 9600 bps, không sử dụng bit kiểm tra chẵn lẻ (No parity), độ dài từ dữ liệu 8-bit và 1 bit dừng (Stop bit).

Kết luận

Đồ án tốt nghiệp "Thiết kế và thi công mạch quang báo giao tiếp với máy tính" của sinh viên Võ Đình Quý và Dương Ngọc Lượm đã giải quyết trọn vẹn bài toán ứng dụng vi điều khiển AT89C51 kết hợp phần mềm Visual Basic 6.0 để hiện đại hóa hệ thống hiển thị thông tin công cộng. Công trình đã hiện thực hóa thành công sản phẩm phần cứng với 8 ma trận LED quét chữ chạy mượt mà, cho phép nạp dữ liệu tiện lợi từ máy tính qua giao tiếp nối tiếp RS-232 và vận hành độc lập sau khi ngắt kết nối. Đây là tài liệu kỹ thuật có giá trị tham khảo thực tiễn cao cho sinh viên ngành Điện - Điện tử trong các bài toán thiết kế hệ thống nhúng 8051, kỹ thuật quét LED ma trận và lập trình giao tiếp máy tính thời kỳ đầu.