Thông báo

Collapse
No announcement yet.

giúp mình về visual basic 6.0

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • giúp mình về visual basic 6.0

    Mình đang làm cái mạch điều khiển bật tắt led bằng cách giao tiếp VXL với máy tính, mạch giao tiếp VXl 89C51 qua cổng RS233với máy tính mình đã làm rối, code để nạp vào con 89 mình cũng đã viết xong, giờ chỉ còn phần code cho visual basic 6.0 là mình ko biết viết thôi. MÌnh tự học visual basic,thấy tài liêu trên mạng nhiều lắm ,nhưng ko có ví dụ.Bạn nào có đoạn code thì viết cho mình nhé, nhìn vào đó mình sẽ hiểu hơn về visual basic!!

  • #2
    thu xem

    thu xem chuong trinh nay co duoc ko?

    Comment


    • #3
      Chương trình đâu bạn

      Comment


      • #4
        Ặc ặc ăc, sao ko ai giúp mình vậy! Mình tự học nên thật sự cảm thấy kho khăn quá

        Comment


        • #5
          ai chả tự học. Mình chưa có ý tưởng nào cần đến nên mình chưa làm. (mà có kho' gì đâu, chỉ có vài lệnh).
          Ai làm rùi giúp đi!

          Comment


          • #6
            Nguyên văn bởi trungBK Xem bài viết
            Ặc ặc ăc, sao ko ai giúp mình vậy! Mình tự học nên thật sự cảm thấy kho khăn quá

            bạn thử cái này xem sao, ctrinh nay mình viết để xuất dòng chữ lên lcd


            Private Sub Form_Load()
            Text.FontSize = 10
            MSComm1.CommPort = 1
            MSComm1.Settings = "115200,n,8,1"
            MSComm1.InputLen = 0
            MSComm1.PortOpen = True
            MSComm1.InputMode = comInputModeText
            'che do modetext se truyen du lieu dang ANSI, vi du khi truyen
            'so 0 thi may se truyen gi tri hex la 30h
            'che do binary se truyen chinh xac gia tri,vi du khi truyen so 9
            'thi gia tri se truyen la 9 thay vi 39h trong che do text
            End Sub

            Private Sub OK_Click()
            MSComm1.Output = "`" 'TRUYEN MA BAO HIEU BAT DAU
            MSComm1.Output = Left(Text.Text, 16) 'TRUYEN 16 KI TU = 1 DONG LCD
            MSComm1.Output = "|" ' TRUYEN MA BAO HIEU KET THUC CHUOI
            Text.Text = ""
            Text.SetFocus
            End Sub

            Private Sub Text_KeyPress(KeyAscii As Integer)
            If KeyAscii = 13 Then
            OK_Click
            End If
            End Sub


            bạn cần tạo 1 textbox (trong ctrinh minh lấy tên là text), và 1 command button (mình đặt tên là OK)




            lưu ý là phải có sự bắt tay giữa VDK và softvb6
            trong chương trình vb6, trước khi truyền nội dung nó sẽ truyền kí tự "`" để báo cho VDK biết là nó bắt đầu truyền, và khi kết thúc thì nó truyền kí tự "|" để báo cho VDK biết là đã truyền hết nội dung. (bạn có thể tự định nghĩa cách bắt tay riêng của bạn,tùy thích)



            Cố gắng đọc kĩ bài của a Ngô Hải Bắc.chúc bạn thành công

            Comment


            • #7
              mình biết chương trình như vậy ko biết có đúng ko nhỉ:

              Private Sub Check1_Click()
              If Check1.Value = vbChecked Then
              MSComm1.Output = 1
              Else
              MSComm1.Output = 0
              End If
              End Sub

              Private Sub Check2_Click()
              If Check2.Value = vbChecked Then
              MSComm1.Output = 2
              Else
              MSComm1.Output = 0
              End If
              End Sub

              Private Sub MSComm1_OnComm()
              MSComm1.CommPort = 1
              MSComm1.Settings = "9600,N,81,"
              MSComm1.InputLen = 0
              MSComm1.PortOpen = True
              MSComm1.InputMode = comInputModeBinary
              End Sub

              với 2 led được đặt ở chân P1.6 và P1.7
              nhưng mà nó cứ báo cái lỗi này.chọn nút nào cũng thế, bạn nào sửa giúp mình nhé
              Attached Files

              Comment


              • #8
                Nguyên văn bởi trungBK Xem bài viết
                MSComm1.Settings = "9600,N,81,"
                sua cai dong nay lai xem sao "9600,N,8,1"

                Comment


                • #9
                  và cái này nữa nè mscomm1.output="1", mscomm1.output="0"

                  Comment


                  • #10
                    Nguyên văn bởi trungBK Xem bài viết
                    mình biết chương trình như vậy ko biết có đúng ko nhỉ:
                    Private Sub MSComm1_OnComm() ' bị Sai
                    MSComm1.CommPort = 1
                    MSComm1.Settings = "9600,N,81,"
                    MSComm1.InputLen = 0
                    MSComm1.PortOpen = True ' Bị Sai
                    MSComm1.InputMode = comInputModeBinary
                    End Sub
                    Chương trình báo lỗi là do vầy nè bạn: Khai báo cổng thuộc thính cổng COM , bạn phải đặt trong : Private Sub Form1_Load() ( chứ ko phải trong Private Sub MSComm1_OnComm() - vì Oncomm là Sự kiện NGẮT khi nhận giá trị Từ VĐK gởi lên PC ); Chỉ mở cổng COM1 : MSComm1.PortOpen = True , khi đã thiết lập hết thuộc tính cho cổng COM1

                    CODE Viết lại:
                    Private Sub Form1_Load()
                    MSComm1.CommPort = 1 ' chọn COM1
                    MSComm1.PortOpen = False ' trước tiên là đóng cổng COM 1 đã ( lệnh này ko có cũng được )
                    MSComm1.Settings = "9600,N,8,1,"
                    MSComm1.InputLen = 0 ' Đọc toàn bộ đệm
                    MSComm1.InputMode = 1 ' Kiểu truyền là nhị phân
                    MSComm1.PortOpen = True ' Chỉ mở cổng COM sau khi Thiết lập hết
                    End Sub

                    Chúc bạn thành công!
                    My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

                    Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

                    Comment


                    • #11
                      Mình có đoạn code này góp vui cùng các bạn :

                      'Khoi tao giao tiep RS232
                      Public Sub Init_Com()
                      frmMain.MSComm.CommPort = 1
                      frmMain.MSComm.Settings = "9600,N,8,1"
                      frmMain.MSComm.InputLen = 0
                      End Sub

                      Public Sub Set_TTI(Set_Str As String)
                      frmMain.MSComm.PortOpen = True
                      frmMain.MSComm.Output = Set_Str & Chr$(13)
                      frmMain.MSComm.PortOpen = False
                      End Sub

                      ' Doc du lieu tu TTI
                      Public Function Read_TTI() As String
                      Dim s As String
                      frmMain.MSComm.PortOpen = True
                      frmMain.MSComm.Output = "Read?" & Chr$(13)
                      Delay (1)
                      s = frmMain.MSComm.Input
                      s = Mid(s, 5, 4)
                      frmMain.MSComm.PortOpen = False
                      Read_TTI = s
                      End Function

                      hatran318@yahoo.com.vn

                      Comment


                      • #12
                        Các bác cho em hỏi một tí. là khi mình muốn truyền 1 byte dạng số hex (ví dụ: 01h xuống cổng cóm trong Vb thì ta phải định dạng dữ liệu như thế nào để 89c51 có nhận được byte đó dưới dạng số hẽ như ý của mình.
                        Em có làm thử nhưng không được như ý muốn. code em viết cho lệnh xuất giá trị ra com như vấy có đúng không:
                        Mscomm1.output= "1"
                        89c51 nhận được số này là: 71h (khồng như ý muốn là 01h)
                        mong các bác chỉ giúm em.

                        Comment


                        • #13
                          Nguyên văn bởi mrhahung_87 Xem bài viết
                          Các bác cho em hỏi một tí. là khi mình muốn truyền 1 byte dạng số hex (ví dụ: 01h xuống cổng cóm trong Vb thì ta phải định dạng dữ liệu như thế nào để 89c51 có nhận được byte đó dưới dạng số hẽ như ý của mình.
                          Em có làm thử nhưng không được như ý muốn. code em viết cho lệnh xuất giá trị ra com như vấy có đúng không:
                          Mscomm1.output= "1"
                          89c51 nhận được số này là: 71h (khồng như ý muốn là 01h)
                          mong các bác chỉ giúm em.
                          Bạn đã sai rồi. Đơn giản như sau : Mscomm1.output= chr(01h), các số bạn muốn truyền bạn cho vào chr(x). Chú ý: nó chỉ là số 1 byte.

                          email:mahaco@fpt.vn

                          Comment


                          • #14
                            cam on bac,em lam theo va chay duoc roi nhung co mot dieu la goi nhung so >15 thi nhan luc duoc dung luc khong. vay thi em phai khac phuc the nao? con de may tinh nhan duoc mot byte do vxl goi den thi phai khai bao nhu the nao? em thu lam nhu bai cua Ngohaibac nhung may tinh khong nhan duoc. vay ai da lam ve cai nay roi thi xin giup do gium!

                            Comment


                            • #15
                              tại sao lại phải đóng cổng com trước khi thiết lập vậy bạn????????????

                              Comment

                              Về tác giả

                              Collapse

                              trungBK Tìm hiểu thêm về trungBK

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X