Thông báo

Collapse
No announcement yet.

Ghép nối máy tính dùng 8051_Vấn đề vẫn chưa giải quyết được.

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

  • Ghép nối máy tính dùng 8051_Vấn đề vẫn chưa giải quyết được.

    Chào các bác.
    Em đang làm đề tài 8051 điều khiển các thiết bị trong nhà trên dao diện máy tính, sử dụng phần mềm Visual basic để tạo dao diện. Vấn đề điều khiển các thiết bị (điều khiển các role)em đã làm xong. Tuy nhiên, có 2 thứ là hệ thống báo trộm và báo cháy thì em vẫn chưa làm được. Hoạt động của 2 thiết bị này là khi có sự cố sảy ra thì nó sẽ đóng 2 tiếp điểm trên đó. Bởi vậy, ý tưởng của em là nối 2 tiếp điểm này với 2 chân ngắt ngoài của 8051. Khi có sự cố sảy ra, các tiếp điểm sẽ kích hoạt ngắt ngoài,chuơng trình trong hàm ngắt ngoài sẽ báo động sự cố lên dao diện máy tính- vấn đề này em vẫn chưa làm được. E đang bí phần chưong trình truyền báo động trong hàm ngắt của 8051 và chương trình nhận báo động trên Visual
    // Em muốn làm như sau:
    // Khi có sự cố thì các ô Text 1 sẽ hiện thị dòng chữ "BÁO CHÁY"
    // Khi có sự cố thì các ô Text 2 sẽ hiện thị dòng chữ "BÁO TRỘM"

    Rất mong các bác giúp em với.

    //Các bác mở dao diện visual basic và chuơng trình viết cho VDK của em là sẽ hiểu ý tưởng của em ngay.hi
    Chuơng trình:
    DK cac Role.rar
    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
    Chương trình vi điều khiển thì cứ có ngắt thì bạn gửi 1 cái ký tự nhận biết nào đó lên. Trên Visua bạn dùng 1 cái timer đọc MSComm1.Input nhận được thử xem.

    Comment


    • #3
      mình có làm cái đề tài cũng gần giống cái này, đo nhiệt độ rồi gửi máy tính hiển thị nhiệt độ, cái này bạn cũng làm tương tự, nếu dùng ngắt thì đơn giản hơn nữa
      mỗi lần có ngắt thì vdk sẽ gửi lên 1 kí tự tương ứng vs lệnh báo cháy hay trộm cho máy tính, VB nhận và kiểm tra là trường hợp nào thì hiển thị màn hình
      Website chính thức đổi địa chỉ website thành
      Mời các bạn ghé thăm !!!

      Comment


      • #4
        Uhm. Mình cũng đã làm như vậy. Như ở chương trình mình viết ở trên,vi điều khiển đã thực hiện hàm ngắt và gửi ký tự "k" lên máy tính, tuy nhiên máy tính vẫn chưa nhận được ký tự này thì phải(?)( mình vẫn chưa biết cách viết)
        Mong các bác xem chương trình và chỉ giùm em 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


        • #5
          Mình xem code VB bạn viết, bạn nhận input ký tự "k" trong form load thì nó chỉ kiểm tra khi mới chạy chương trình thôi. Muốn kiểm tra liên tục (sự cố thời điểm bất kỳ mà) bạn dùng 1 cái timer để timer interval 10 chẳng hạn (cứ 10ms nó kiểm tra input 1 lần). Đó là ý tưởng của mình chứ mình cũng chưa thử cái này.

          Comment


          • #6
            Nói chung vừa gửi xuống vừa up thông tin liên tục lên rất hay lỗi , thường thì dùng timer trong VB gửi yêu cầu up date lên , vi điều khiển nhận dc yêu cầu mới gửi lên . Trước mình cũng làm đồ án về cái này rồi : giống như dk thiết bị trong nhà có nhiệt độ gửi lên báo cháy . Không hiểu diễn dàn sao k up file lên dc chụp dc cái ảnh giao diện

            Comment


            • #7
              [QUOTE=fee_08;484369]Nói chung vừa gửi xuống vừa up thông tin liên tục lên rất hay lỗi , thường thì dùng timer trong VB gửi yêu cầu up date lên , vi điều khiển nhận dc yêu cầu mới gửi lên . Trước mình cũng làm đồ án về cái này rồi : giống như dk thiết bị trong nhà có nhiệt độ gửi lên báo cháy . Không hiểu diễn dàn sao k up file lên dc chụp dc cái ảnh giao diện

              Hi. Bạn có thể up lên mediafire cho mình tham khảo với được ko?
              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


              • #8
                Bạn xem chi tiết ở bản báo này .
                Attached Files

                Comment


                • #9
                  cái này kiểm tra sự kiện Oncom trên máy ko thì mới thực hiện công việc làm
                  Oncom là sự kiện được được gán =2(ko nhầm thì =2) khi có sự kiện truyền hoặc nhận trên cổng nt, còn ko có thực hiện gì thì nó #2. ko cần thiết phải dùng timer
                  Website chính thức đổi địa chỉ website thành
                  Mời các bạn ghé thăm !!!

                  Comment


                  • #10
                    hien tai e cung làm đề tài liên quan tới cái này. các bác cho em hỏi mình dùng cảm biến gì để kiêm tra 1 thiết bị có hoạt động hay không. ý em là khi mình nhấn nút nhấn trên vb thì đèn trên vb vẫn chưa sáng, khi thiết bị hoạt động thì vxl sẽ gửi dữ liệu về vb khi đó đèn trên vb mới sáng. nhưng e không biết làm sao vxl biết được là đèn sáng hay k. mong các bác giúp đỡ!!!!

                    Comment


                    • #11
                      cái này hay đó nhỉ.cũng phải làm cái chơi mới đc

                      Comment


                      • #12
                        Sau khi tham khảo bài của bác fee_08 em vẫn chưa hiểu lắm. Ý tưởng của em vẫn là khi sảy ra sự cố thì hàm ngắt được thực hiện, và nó sẽ gửi một ký tự nào đó lên máy tính, khi máy tính nhận được ký tự này thì hiểu là đã có sự cố sảy ra và hiện thị báo động.
                        E vẫn chưa làm được điều đó, ko biết là ý tưởng như vậy có đúng ko?
                        RẤT MONG MỌI NGƯỜI QUAN TÂM GIÚP ĐỠ!
                        // Gửi lại mọi người code xem tham khảo cho em (dao diện mới sau khi tham khảo dao diện của bác fee_08.hi)
                        DK cac Role.rar
                        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


                        • #13
                          Nguyên văn bởi nguyenphutuc Xem bài viết
                          hien tai e cung làm đề tài liên quan tới cái này. các bác cho em hỏi mình dùng cảm biến gì để kiêm tra 1 thiết bị có hoạt động hay không. ý em là khi mình nhấn nút nhấn trên vb thì đèn trên vb vẫn chưa sáng, khi thiết bị hoạt động thì vxl sẽ gửi dữ liệu về vb khi đó đèn trên vb mới sáng. nhưng e không biết làm sao vxl biết được là đèn sáng hay k. mong các bác giúp đỡ!!!!
                          Cái này bạn phải làm như sau : chẳng hạn có 4 thiết bị muốn kiểm tra trạng thái của 4 thiết bị này ta dùng 4 cổng của vđk đọc giá trị của chân điều khiển thiết bị đó . Sau đó đọc trạng thái các cổng rồi gửi lên máy tính trạng thái của thiết bị tương ứng Ciaiis đề tài của mình trên chi mới điều khiển chứ chưa giám sát dc thiết bị

                          Comment


                          • #14
                            Nguyên văn bởi vietthanh123 Xem bài viết
                            Sau khi tham khảo bài của bác fee_08 em vẫn chưa hiểu lắm. Ý tưởng của em vẫn là khi sảy ra sự cố thì hàm ngắt được thực hiện, và nó sẽ gửi một ký tự nào đó lên máy tính, khi máy tính nhận được ký tự này thì hiểu là đã có sự cố sảy ra và hiện thị báo động.
                            E vẫn chưa làm được điều đó, ko biết là ý tưởng như vậy có đúng ko?
                            RẤT MONG MỌI NGƯỜI QUAN TÂM GIÚP ĐỠ!
                            // Gửi lại mọi người code xem tham khảo cho em (dao diện mới sau khi tham khảo dao diện của bác fee_08.hi)
                            DK cac Role.rar
                            Mình k cài VB nên k coi cho bạn dc , Về ý tưởng thì cái đề bạn cũng gần giống đề m làm . THực hiện thì như sau , trong vb dùng một timer trong đó luôn gửi yêu cầu gửi giá trị nhiệt độ , báo trộm lên . Vi điều khiển đọc được mới gửi các thông tin đó lên . Cái báo trộm thì k nên dùng ngắt mà đọc tín hiệu như kiểu quét phím đó giá trị gửi lên liên tục . CÒn cách gửi ntn tham khảo phần gửi nhiệt độ của mình .

                            Comment


                            • #15
                              Em đọc tham khảo tài liều của a fee_08.Và khi tiến hành thì lại bị lỗi . Mong dc a giúp đở.
                              Dữ liệu temp nhận sau khi chuyển đồi ADC
                              Code:
                              void chuyendoi()
                              {
                              wr_adc = 1;
                              delay_short();
                              wr_adc = 0;
                              while (!int_adc);
                              x=P1;
                              temp = x;
                              delay_ms(50);
                              }
                              trong hàm main sử dùng putchar(temp) để gửi dữ liệu đi

                              trong VB tại hàm oncom() em làm như sau

                              Code:
                              Private Sub MSComm1_OnComm()
                              Dim kt As String
                              If MSComm1.CommEvent = 2 Then
                              Label10.Caption = "Da Ket Noi"
                              kt = MSComm1.Input
                              Text7.Text = kt
                              End If
                              End Sub
                              Với mục đích là gửi giá trị temp lên. But lại k nhận được dữ liệu nào khi chạy chương trình VB,Label10 cũng k có "Da Ket Noi".
                              But khi e test với 1 chương trình VB để gữi dữ liệu,chương trình trên của e lại nhận được.
                              Vậy là do code 8051 e sai phải k ạ,mà e k biết sai ở đâu.
                              Xin giúp e ạ !

                              P/S : Gữi nhầm file đính kèm ^^!
                              Attached Files
                              Last edited by mrscorpion_b; 02-03-2012, 14:42.

                              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