Viết chương trình truyền nhận nối tiếp trên VB NET (xem [1 tr 90])

Một phần của tài liệu bài giảng giao tiếp và điều khiển bằng máy tính (Trang 98 - 103)

- Image: hiển thị biểu tượng hoặc hình ảnh cho mục chọn.

5.3Viết chương trình truyền nhận nối tiếp trên VB NET (xem [1 tr 90])

Mục đích – Yêu cầu

5.3Viết chương trình truyền nhận nối tiếp trên VB NET (xem [1 tr 90])

Trước khi bước vào phần lập trình giao tiếp máy tính tôi sẽ hướng dẫn các bạn cách lập trình trên giao diện Visual Basic

Để dễ hiểu hơn ta đi vào một yêu cầu cụ thể. Giả sử ta có một yêu cầu là lập trình giao tiếp với card LCD. Ở đây chương trình vi điều khiển có nhiệm vụ nhận dữ liệu trên máy tính và hiển thị trên màn hình LCD. Chương trình trên máy tính có giao diện cho phép nhập dữ liệu vào textbox, một nút SEND để gửi dữ liệu xuống VĐK, một textbox

để nhận dữ liệu và một nút STOP để kết thúc. Sau khi cài đặt VB bạn click vào biểu tượng

99

Hình 5.8

Hộp thoại sau xuất hiện:

Hình 5.9

Chọn Windows Forms Application, click OK để vào màn hình soạn thảo sau:

Hình 5.10: Giao din Form Design

Chọn công cụ Serial Port và kéo thả vào Form

1. Click here

2. Click here

100

Sau khi đặt vào Form 2 button, 2 textbox, công cụ SerialPort.

Hình 5.11: Giao din sau khi thiết kế

Sau khi thực hiện xong bạn sẽ thấy giao diện như trên. Bạn có thể đổi tên các đối tượng bằng cách nhấp 1 lần để chọn nó, đưa chuột qua cửa sổ thuộc tính chọn ô

Text -> đánh vào tên bạn muốn thay thế VD: SEND. Tương tự cho nút STOP. Sau

đó xóa textbox bằng cách chọn Textbox1 vào cửa sổ thuộc tính chọn thẻ Text xóa chữ Text1, tương tự cho textbox2.

Đầu tiên viết code cho sự kiện Form load Ví dụ:

PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Load If SerialPort1.IsOpen Then SerialPort1.Close() EndIf With SerialPort1 .PortName = "COM5" .BaudRate = 9600 .Parity = IO.Ports.Parity.None .DataBits = 8 .StopBits = IO.Ports.StopBits.One EndWith

OnErrorResumeNext

SerialPort1.Open()

101

Bây giờ đến phần viết code cho từng công cụ đã chọn. Đầu tiên Chọn nút Send, nhấp double vào nó cửa sổ soạn code xuất hiện đánh vào đoạn code sau:

Ví dụ:

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click SerialPort1.Write(TextBox1.Text)

EndSub

Bây giờ chọn nút Stop và viết vào đoạn code sau Ví dụ:

PrivateSub Button6_Click(ByVal sender As System.Object, ByVal e As (adsbygoogle = window.adsbygoogle || []).push({});

System.EventArgs) Handles Button6.Click TextBox1.Text = ""

TextBox2.Text = ""

EndSub

Cuối cùng là viết code cho sự kiện Oncom Ví dụ:

PrivateSub SerialPort1_DataReceived(ByVal sender AsObject, ByVal e As

System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived TextBox2.Invoke(New myDelegate(AddressOf updateTextBox), NewObject() {})

EndSub

PublicSub updateTextBox()

TextBox2.AppendText(SerialPort1.ReadExisting)

EndSub

Sau khi thực hiện các bước trên bạn nhấp vào form1 ở cửa sổ quản lý project để về

102

Hình 5.12: Giao din khi chy chương trình

Nếu chưa có card giao tiếp ngoại vi bạn có thể nối 2 chân Txd và Rxd trong cổng Com để gửi thử dữ liệu từ Text1 sang Text2.

Đây là chương trình chúng ta vừa viết. Đương nhiên là còn nhiều thủ thuật khác để

trang trí Form, tạo âm thanh, tạo menu trên Form……

Nhưng ở đây chúng ta chỉ đi qua phần giao tiếp máy tính với VĐK nên tôi không

đi sâu vào những phần trên. Các bạn có thể tham khảo giao diện một chương trình sau:

103

Một lưu ý rất quan trọng là cần phải nối mass chung giữa VĐK và máy tính, giữa TxD, RxD của máy tính và VĐK phải qua IC Max232 để chuyển đổi mức điện áp cho phù hợp.

Một phần của tài liệu bài giảng giao tiếp và điều khiển bằng máy tính (Trang 98 - 103)