Sunday, May 6, 2012

Một số bài tập về điều khiển qua cổng COM sử dụng Visual Basic.


Một số bài tập về điều khiển qua cổng COM sử dụng Visual Basic.

Đây là một số bài tập trong môn “Lập trình hệ thống”, mình chia sẻ cùng các bạn.
Bài 1. Hãy sử dụng các đối tượng Form, Label, Textbox, Commandbutton, Vscrollbar, Timer, Mscomm để thiết kế một chương trình thu, phát một thông số qua cổng Com1 với yêu cầu: thông số phát đi có giá trị từ 0 đến 200 được tạo ra từ đối tượng Vscrollbar.Thông số thu về được chuyển thành khoảng giá trị từ 0 đến 100
- thiết kế, xây dựng giao diện chương trình
-Viết code cho chương trình
Bài 2. Hãy sử dụng các đối tượng Form, Label, Textbox, Commandbutton, Vscrollbar, Timer Mscomm để phát đi một khung tin qua cổng Com2 với yêu cầu  như sau: Khung tin gồm một ký tự khởi đầu, một ký tự kết thúc 4 ký tự mang 4 thông số trong đó 2 thông số đầu mang trạng thái của hai nút ấn, 2 thông số sau chứa giá trị của hai Vscrollbar trong khoảng từ 0 đến 200
- thiết kế, xây dựng giao diện chương trình
-Viết code cho chương trình


Bài 3. Hãy sử dụng các đối tượng Form, Label, Textbox, Commandbutton, Vscrollbar, Timer Mscomm để phát đi một khung tin qua cổng Com2 với yêu cầu  như sau: Khung tin gồm một ký tự khởi đầu, một ký tự kết thúc và 8 ký tự mang giá trị của 8 Vscrollbar trong khoảng từ 0 đến 150
- thiết kế, xây dựng giao diện chương trình
-Viết code cho chương trình
Bài 4. Hãy sử dụng các đối tượng Form, Label, Textbox, Commandbutton, Vscrollbar, Timer Mscomm để phát đi nội dung của 4 ô text qua cổng Com1. Các ô text được phát đi lần lượt luân phiên nhau và cách nhau một khoảng thời gian là 100ms
- thiết kế, xây dựng giao diện chương trình
-Viết code cho chương trình
Bài 5. Hãy sử dụng các đối tượng Form, Label, Textbox, Mscomm để thu một khung tin từ cổng  Com1 có dạng như sau: Sx1x2x3x4E, trong đó ký tự S và F là hai ký tự khởi đầu và kết thúc khung. Các ký tự từ x1 đến x4 mang giá trị của 4 kênh tương tự
- thiết kế, xây dựng giao diện chương trình
-Viết code cho chương trình
Bài 6. Hãy sử dụng các đối tượng Form, Label, Textbox, Mscomm để thu một khung tin từ cổng  Com1 có dạng như sau: Sx1x2y1y2E, trong đó ký tự S và F là hai ký tự khởi đầu và kết thúc khung. Các ký tự từ x1,x2 mang giá trị của 2 kênh tương tự, y1,y2 mang trạng thái ON/OFF của hai tiếp điểm, nếu chúng là ký tự “0”có nghĩa là tiếp điểm ở trạng thái OFF và “1” là ON
- thiết kế, xây dựng giao diện chương trình
-Viết code cho chương trình
Bài 7. Hãy sử dụng các đối tượng Form, Label, Textbox, Mscomm để thu hai khung tin từ cổng  Com2 có dạng như sau: Sx1x2x3x4E và Rx1x2x3x4T trong đó ký tự S và F là hai ký tự khởi đầu và kết thúc khung1.R và T là hai giá trị khởi đầu và kết thúc khung 2  . Các ký tự từ x1 đến x4 mang giá trị của 4 kênh tương tự. Yêu cầu là nếu khung thu được là khung 1 thì 4 giá trị tương tự được hiển thị trên 4 ô text còn nếu khung thu được là khung 2 thì hiển thị lên 4 ô text khác
- thiết kế, xây dựng giao diện chương trình
-Viết code cho chương trình

Hướng dẫn giải các bạn có thể download ở link dưới. các thanh trượt tượng trưng cho các cảm biến dầu vào và được truyền lên máy tính thông qua cổng COM. Chương trình sẽ tiến hành nhận dữ liệu từ cổng COM để xử lý và hiển thị.
Pass unlock: quangtung1123.blogspot.com

6 comments:

  1. hj a
    e có 1 bài tập hiển thị nhiệt độ lên pc dùng vb6
    e đã hiển thị được nhiệt độ trên virtual terminal
    nhưng mà trên vb6 thì không thấy gì ah
    code của e :
    Private Sub Command2_Click()
    If MSComm1.PortOpen = True Then
    MSComm1.PortOpen = False
    End If
    End
    End Sub

    Private Sub Form_Load()
    With MSComm1
    .Settings = "9600,n,8,1"
    .InputLen = 0
    .RThreshold = 1
    .SThreshold = 0
    .InBufferSize = 1024
    .OutBufferSize = 1024
    .InputMode = 0 'comInputModeText
    .PortOpen = True
    End With
    End Sub
    Private Sub MSComm1_OnComm()
    Dim dataPC As String
    If MSComm1.CommEvent = comEvReceive Then
    dataPC = MSComm1.Input
    RECEIVER.Text = RECEIVER.Text + dataPC
    End If
    End Sub

    Private Sub RECEIVER_Change()

    End Sub

    Private Sub Timer1_Timer()
    Dim h, m, s As Byte
    Label5.Caption = "Gio" & Format(Now(), "hh:nn:ss")
    Label6.Caption = "Ngay" & Format(Now(), "dd-mmm-yyyy")
    End Sub


    a có thể xem e sai chô nào không ah
    thank a!

    ReplyDelete
    Replies
    1. B gửi cả Project lên để m xem cho nhé. GL!

      Delete
    2. hj a
      e mới hiển thị được nhiệt độ lên vb rùi a ah
      nhưng có 1 điểm phát sinh là vb không tự cập nhập nhiệt độ khi e thay đổi nhiệt độ ở lm 35
      e tự tìm hiểu thì biết có 2 cách để vb tự cập nhập là bẫy oncom hoặc là dùng timer ..mà e mới tiếp xuc với vb nên e cũng không biết ah
      a giúp e với nhé !

      Delete
    3. đây là những gì e làm được ạ
      có mô phỏng bằng protues ,vb
      a giúp e với nha
      http://www.mediafire.com/?bdwujdo0f3w
      yahoo của e : vttungptit@yahoo.com

      Delete
  2. a ơi..xem nhanh cho e với đi ạ
    e đang cần gấp lắm ah

    ReplyDelete
  3. Phần phát lên VB thì b cứ khi nhiệt độ thay đổi thì phát lên VB, khi nhận được thì trong oncom VB sẽ tự cập nhật nhiệt độ thôi.

    ReplyDelete