Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (142.94 KB, 2 trang )
Lập trình Visual Basic: Điều khiển phần cứng qua cổng COM
Bài toán lập trình điều khiển phần cứng qua cổng COM của máy tính (PC) luôn được nhiều người quan
tâm. Bài viết này trao đổi kinh nghiệm sử dụng Visual Basic 6.0 (VB) cho lập trình điều khiển cổng
COM.
VB 6.0 cung cấp một đối tượng điều khiển dưới dạng đóng gói ActiveX: Microsoft Comm Control 6.0
(MsComm). Để sử dụng được nó, yêu cầu tập tin mscomm32.ocx (chế độ 32 bit) phải có mặt tại thư
mục \Windows\System. Sử dụng MsComm cho phép can thiệp tới tất cả các đường tín hiệu điều khiển
“bắt tay” - RTS, CTS, DTR, DSR, DCD, RI và các đường thu/phát RxD/TxD của cổng COM. Đáng tiếc
MsComm chỉ hỗ trợ truyền dữ liệu dạng chuỗi. Trong kỹ thuật điều khiển phần cứng, các byte mã nhận
dạng kết thúc chuỗi, điều khiển dòng cần phải loại bỏ. Để giải quyết vấn đề này, có thể kết hợp một
số hàm xử lý chuỗi và ký tự của Visual Basic 6.0.
Để minh hoạ, tôi giới thiệu một chương trình nhỏ cho phép giao tiếp giữa PC và một hệ vi điều khiển
(VĐK, micro-controller) họ 89C51. PC sẽ lần lượt truyền từng byte mã nhị phân của chương trình dùng
để điều khiển hệ VĐK (đã được biên dịch) sang hệ VĐK và thu nhận lại chúng. Sau khi kết thúc truyền
file, PC sẽ phát một xung trên đường RTS để RESET hệ VĐK. Lưu ý: cần thiết lập tốc độ và khuôn
dạng khung dữ liệu phù hợp. (Trường hợp cụ thể với chương trình này: tốc độ baud 2400; 1 start bit; 8
bit data; 1 stop bit; không có bit parity).
Tạo một Form đơn giản chỉ gồm hai nút nhấn CmdTruyenfile và CmdExit. Trên Form bắt buộc phải đặt
một đối tượng điều khiển MsComm1. Dưới đây là mã nguồn.
Option Explicit
Dim ByteNumber, STRLength As Long
Dim FileData As Byte
Dim FileNumber, i As Integer
Dim STRReceive, FileName, Buffer As String
Private Sub Form_Load()
MSComm1.CommPort = 2 ‘ Chọn cổng COM.
MSComm1.Settings = “2400,N,8,1”
‘ Đặt các thông số cổng COM.
MSComm1.PortOpen = True