Thông báo

Collapse
No announcement yet.

8051 và ghép nối máy tính (Visual basic)

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

  • 8051 và ghép nối máy tính (Visual basic)

    Chào các bác.
    E đang làm bộ đo điện áp và hiện thị lên led 7 thanh và máy tính. Phần đo điện áp va hiện thị lên led 7 thanh thì đã xong, vấn đề đang mắc phải là viết chương trình trên VB. Cái này e gặp nhiều vấn đề quá. Mong các bác giải quyết thắc mắc từng phần giúp em với ah.
    Chương trình trên VB của em đây: Visual basic - do dien ap.rar
    Vấn đề là e đã vẽ được giao diện. Nhưng phần chọn cổng Com và chọn tốc độ truyền e ko biết phải xử lý như thế nào cả.
    RẤT MONG CÁC BÁC BỚT CHÚT THỜI GIAN CHỈ GIÚP AH.
    // Bác nào có tài liệu hay có bài mẫu nào thì đưa lên cho em xin tham khảo với ah.
    Cảm ơn mọi người rất nhiều.!
    Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
    http://diencongnghiep360.com/
    http://tudienhathe.vn/


  • #2
    Làm thế nào để lựa chọn cổng com sử dụng và tốc độ truyền vậy các bác?
    Chương trình e viết thêm được 1 ít nữa, update lên để các bác giúp đỡ.
    Visual basic - do dien ap.rar

    http://ns1.upanh.com/b6.s11.d1/cfbc3...1.untitled.jpg
    Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
    http://diencongnghiep360.com/
    http://tudienhathe.vn/

    Comment


    • #3
      Cổng com thì mạch của bạn cắm vào cổng COM nào thì chọn cổng đó.
      Tốc độ truyền chọn theo tốc độ USART của 8051 cậu cài đặt ( hoặc cài tốc độ 8051 theo tốc độ cậu cài đặt trên phần mềm VB)

      Comment


      • #4
        Nguyên văn bởi zerotohero Xem bài viết
        Cổng com thì mạch của bạn cắm vào cổng COM nào thì chọn cổng đó.
        Tốc độ truyền chọn theo tốc độ USART của 8051 cậu cài đặt ( hoặc cài tốc độ 8051 theo tốc độ cậu cài đặt trên phần mềm VB)
        uhm. Mình biết là như vậy, nhưng mình chưa viết được chương trình trên VB cách set cổng COm và tốc độ truyền theo Combo mà mình lựa chọn. Ví dụ: Mình lựa chọn trên Combo là 9600 thì viết chương trình như thế nào cho VB set tốc độ truyền là 9600 và tương tự với lựa chọn cổng COM trên Combo.
        Mong bạn và mọi người giúp đỡ mình nhiệt tình.
        Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
        http://diencongnghiep360.com/
        http://tudienhathe.vn/

        Comment


        • #5
          à. cái này thì có anh gì gì ấy trên diễn đàn hướng dẫn rồi. Mình quen dùng vb.net có hỗ trợ luôn cái serial port nên lệnh nó hơi khác .Thử search trên diễn đàn xem. Không thấy thì mình search hộ.

          Comment


          • #6
            mình không tải code vb của bạn về nhưng chắc là cổng com bạn chọn trong một cái combo vậy thì khi load form có thể chọn tốc độ truyền như sau:
            private sub form_load()
            mscomm1.settings="9600,n,8,1"
            mscomm1.comport=hình như bạn để trong cái combo để chọn
            mscomm1.portopen=true
            end sub
            code thiết lập cổng com là như vậy ,mình cũng đang chuẩn bị làm hai cái modul thực hành
            về cái nay 1 tuần nữa phải có mạch mà nay đã có gì đâu

            Comment


            • #7
              Nguyên văn bởi dtcn_112 Xem bài viết
              mình không tải code vb của bạn về nhưng chắc là cổng com bạn chọn trong một cái combo vậy thì khi load form có thể chọn tốc độ truyền như sau:
              private sub form_load()
              mscomm1.settings="9600,n,8,1"
              mscomm1.comport=hình như bạn để trong cái combo để chọn
              mscomm1.portopen=true
              end sub
              code thiết lập cổng com là như vậy ,mình cũng đang chuẩn bị làm hai cái modul thực hành
              về cái nay 1 tuần nữa phải có mạch mà nay đã có gì đâu
              không phải viết trong hàm fromload đâu. cái này viết trong event clock vào cái nút "kết nối ". Formload thì tốt nhất để kệ nó. Không thì kiếm sao được cái hàm kiểm tra các cổng com có trên máy thôi (có trong bản VB.net còn trong mscomm hình như không có )

              Comment


              • #8
                Nguyên văn bởi dtcn_112 Xem bài viết
                mình không tải code vb của bạn về nhưng chắc là cổng com bạn chọn trong một cái combo vậy thì khi load form có thể chọn tốc độ truyền như sau:
                private sub form_load()
                mscomm1.settings="9600,n,8,1"
                mscomm1.comport=hình như bạn để trong cái combo để chọn
                mscomm1.portopen=true
                end sub
                code thiết lập cổng com là như vậy ,mình cũng đang chuẩn bị làm hai cái modul thực hành
                về cái nay 1 tuần nữa phải có mạch mà nay đã có gì đâu
                Vấn đề thiết lập thì mình làm rồi, ở đây mình đang gặp rắc rối trong việc lựa chọn tốc độ truyền và chọn cổng truyền thông(ở các combo).
                Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
                http://diencongnghiep360.com/
                http://tudienhathe.vn/

                Comment


                • #9
                  Nguyên văn bởi zerotohero Xem bài viết
                  không phải viết trong hàm fromload đâu. cái này viết trong event clock vào cái nút "kết nối ". Formload thì tốt nhất để kệ nó. Không thì kiếm sao được cái hàm kiểm tra các cổng com có trên máy thôi (có trong bản VB.net còn trong mscomm hình như không có )
                  Đúng vậy bạn ah, phải viết hàm ở cái nút "kết nối". Việc lựa chọn cổng com thì mình viết là :mscomm1.comport=Combo1.Text Còn mình chưa biết cách viết hàm lựa chọn tốc độ truyền thông.
                  Cả nhà giúp mình với. !!!
                  Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
                  http://diencongnghiep360.com/
                  http://tudienhathe.vn/

                  Comment


                  • #10
                    với vi điều khiển 8051 thì mình thấy hầu hết mọi người dùng thạch anh 11.0592MHz ứng với tộc độ baud 9600,có phải bạn định chọn các tốc độ baud khác nhau

                    Comment


                    • #11
                      Nguyên văn bởi dtcn_112 Xem bài viết
                      với vi điều khiển 8051 thì mình thấy hầu hết mọi người dùng thạch anh 11.0592MHz ứng với tộc độ baud 9600,có phải bạn định chọn các tốc độ baud khác nhau
                      Uhm. Thực ra mạch phần cứng mình chọn loại thạch anh đó rồi, nhưng mình muốn có thêm cái lựa chọn cổng COM (tại vì mình cắm vào máy tính thì đâu có biết là cổng Com 1,2,3 ... nó ở vị trí nào đâu), tiện thể muốn thêm 1 combo chọn luôn tốc độ baud bên cạnh nữa.
                      Mình tìm thấy bài họ chọn cổng baud và tốc độ trên VB như sau:
                      MSComm2.CommPort = Val(Right(Comname.Text, 1)) ' Chọn cổng com trên Combo
                      MSComm2.Settings = Combaud.Text + "n,8,1" ' CHọn tốc độ trên Combo

                      Nhưng mình chưa hiểu 2 dòng lệnh này lắm, Val, right nghĩa là gì vậy các bác? sao lại có số 1 ở cuối cũng nữa.? Mình chèn 2 dòng trên vào code của mình thì khi nhấn connect nó cứ báo lỗi 8005-port not open.
                      Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
                      http://diencongnghiep360.com/
                      http://tudienhathe.vn/

                      Comment


                      • #12
                        À hiểu vấn đề của bạn rồi. Để mình tìm lại cái này và trả lời bạn sớm. Vì mình mới chỉ làm trên VB.net thôi

                        Comment


                        • #13
                          Ở nút nhấn Connect mình viết như sau:
                          Private Sub Command2_Click()
                          If Combo1.Text = "" Then
                          MsgBox "Ban phai chon cong Com..." ' Kiem tra chon cong COM
                          Exit Sub
                          End If
                          If Combo2.Text = "" Then
                          MsgBox "Ban phai chon toc do truyen thong..." ' KIem tra chon toc do truyen thong
                          Exit Sub
                          End If
                          MSComm1.CommPort = Val(Right(Combo1.Text, 1))
                          MSComm1.Settings = Combo2.Text + "n,8,1"
                          MSComm1.PortOpen = True ' Mo cong Com1 khi da thiet lap xong het
                          Timer1.Enabled = True ' Thiet lap Timer 1
                          End Sub

                          Nhưng khi nhấn connect lần 1 thì ok (có vẻ như cổng Com và tốc độ truyền đã được thiết lập, vì mình chưa làm xong mạch thật để test), nhưng khi nhấn connect thêm lần 2 là nó lại báo lỗi 8005, không hiểu lý do vì sao nữa.???
                          Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
                          http://diencongnghiep360.com/
                          http://tudienhathe.vn/

                          Comment


                          • #14
                            code của bạn phức tạp hơn mình tưởng ,mình chỉ làm 2 modul điều khiển led nên giao diện cũng đơn giản thôi,mình sửa lại một chút code của bạn trong giao diện,phần sau đây trong code của bạn mình dự tính là bỏ đi,mình điền tốc độ baud và cổng COM ở thuộc tính list của combo luôn ấn chạy rùi click vào combo để chọn rùi viết code.
                            /**bỏ phần này*/
                            'Combo1.AddItem "Com1"
                            'Combo1.AddItem "Com2"
                            'Combo1.AddItem "Com3"
                            'Combo1.AddItem "Com4"
                            'Combo1.AddItem "Com5"
                            'Combo1.AddItem "Com6"

                            'Combo2.AddItem "1200"
                            'Combo2.AddItem "2400"
                            'Combo2.AddItem "4800"
                            'Combo2.AddItem "9600"
                            'Combo2.AddItem "19200"
                            'Combo2.AddItem "36400"
                            Attached Files

                            Comment


                            • #15
                              Cáu này chú ý là phải kiểm tra port nó mở chưa. khi mở xong thì ta chuyển cái nút kết nối ấy thành ngắt kết nối .Mục đích là giải phóng cổng com đã sử dụng. connect cái cổng đang mở sẽ có lỗi luôn.Còn muốn truyền thông thì dùng cái vitual comport và một phần mềm nữa như terminal để test là được

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X