Thông báo

Collapse
No announcement yet.

Lại một lỗi ( chưa hẳn là lỗi) của PIC16F877A

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

  • #16
    Nguyên văn bởi MinhHa Xem bài viết
    Sao không cao thủ nào giúp vậy?
    Anh đưa công việc cần làm, em code bằng vài ngôn ngữ khác xem có phải lỗi do CCS không.

    Comment


    • #17
      CCS chắc chắn là không bởi vì như trên đã nói rồi.
      thực hiện output_bit(PIN_B0,1);
      thì nó vẫn là 0. Nhưng lấy kìm cắt cái R tải ra là nó lên 1 ngay.
      trong lúc đó MCU không thực hiện lênh liên quan đến RB0.
      Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

      Biến tần
      Máy giặt
      Lò vi sóng
      Bếp từ.
      Tủ lạnh.
      Điều hòa

      Comment


      • #18
        Bác MinhHa thử code lại bằng MPASM xem,em thử bằng MPASM không thấy lỗi gì cả(led +trở 680)

        Comment


        • #19
          Nguyên văn bởi MinhHa Xem bài viết
          vấn đề là nếu test thử thì nó chạy OK. Nhưng một số trường hợp lại không OK. Thế mới củ chuối chứ.
          Mình nói ban đầu rồi.
          Nếu không tải ( tải chỉ dưới 5mA) nó vẫn OK. Chỉ khi có thêm tải 5mA mới bị.
          Tức là bật lên 1.
          Đo chân ra vẫn là 0.
          Nhưng cắt tải ra là nó lại lên 1 ( chỉ cắt tải chứ không làm gì cả).
          Sau đó nối tải tới 30mA vào thì nó vẫn là mức 1.
          Vậy nó vẫn chạy đúng.
          Chỉ chuối là.
          Có tải trước thì một số trường hợp không kéo lên 1 được. Mặc dù tải rất nhỏ.
          Chứ lập trình sai ai lại đổ lỗi cho PIC tội nghiệp thằng 877A quá.
          Em không hiểu ý bác, nhưng bác cắm cả điện trở 1K với điện trở 150 gì thì nó cũng sáng/tắt rất tốt (độ sáng khác nhau không kể)

          Em đã nói là em thử với con LED trên mạch PICDEM 2 Plus rồi mà. Trên PICDEM 2 Plus có sẵn con LED trên chân RB0 và thao tác bình thường.

          Em không phát hiện ra lỗi này, nên không biết trả lời thế nào, bởi bác cũng test mà em cũng test. Bác thử với trở 680, em thử với 150 và 1K (lab không có con 680).

          Bác nên cung cấp mạch nguyên lý và source code đã viết đầy đủ. Nếu không muốn open, bác hoàn toàn có thể gửi email cho riêng em để bên R&P kiểm tra riêng cho bác (nếu bác thực sự cần).

          Chúc vui
          Falleaf
          Công ty TNHH Thương mại và Giao nhận R&P
          58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
          mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

          Comment


          • #20
            chắc do cái trình dịch thui ! Bên AVR Studio cũng có bị lỗi vụ cái bảng .
            Mạch nạp Little Programmer
            MSC-51,AVR,EEPROM ... etc

            Site Fukusei shop :

            Comment


            • #21
              không phải trình dịch, xin vui lòng đọc kỹ bệnh án trước khi bốc thuốc nhé.
              Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

              Biến tần
              Máy giặt
              Lò vi sóng
              Bếp từ.
              Tủ lạnh.
              Điều hòa

              Comment


              • #22
                Nguyên văn bởi MinhHa Xem bài viết
                không phải trình dịch, xin vui lòng đọc kỹ bệnh án trước khi bốc thuốc nhé.
                Nhưng như em nói, khổ nỗi em không thấy lỗi từ cái chỗ mà bác cắm con LED +680 vào mạch mà mức logic vẫn là 0.

                Không biết làm sao bug được cả. Cái này kỳ cục quá, bởi vì em đã cắm cả LED + 150 và LED + 1K đều ok!!?? Em test trên PICDEM. Thế nên cắt hay không cắt gì thì vẫn bình thường.

                Không biết mạch nguyên lý bên ngoài của bác thiết kế có phức tạp gì khác không, có khi bác chủ quan một khâu nào đó ở mạch ngoài?

                Bác cho em hỏi, khi bác nạp bác nạp bằng ICD2? Sử dụng MPLAB hay bác nạp bằng gì? Bác thử check cái lỗi trời ơi này xem, nhưng em nghĩ là bác không bị lầm lẫn tới mức chọn ICD2 là debugger trên MPLAB.

                Chúc vui
                Falleaf
                Công ty TNHH Thương mại và Giao nhận R&P
                58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
                mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

                Comment


                • #23
                  Nguyên văn bởi MinhHa Xem bài viết
                  không phải trình dịch, xin vui lòng đọc kỹ bệnh án trước khi bốc thuốc nhé.
                  Cái này em cũng đã từng bị với con AVR như vậy zùi ! Dịch ok nạp vào chạy tưng tưng nhưng khi ghõ thêm một dấu enter sau cái bảng đó để xuống dòng hoặc thêm một cái data nữa sau cái bảng thì lại chạy được !
                  Mạch nạp Little Programmer
                  MSC-51,AVR,EEPROM ... etc

                  Site Fukusei shop :

                  Comment


                  • #24
                    Nguyên văn bởi MinhHa Xem bài viết
                    không phải trình dịch, xin vui lòng đọc kỹ bệnh án trước khi bốc thuốc nhé.
                    Tôi nhớ không nhầm là RB0 còn liên quan đến LVP , trong dòng khai báo bạn nên thêm NOLVP xem có ok?

                    namqn: Bạn nhớ nhầm rồi, RB3/PGM mới là chân dùng cho LVP. RB0/INT không liên quan gì đến LVP. Bác MinhHa đừng bận tâm đến post này nhé.
                    Last edited by namqn; 25-03-2008, 21:51.

                    Comment


                    • #25
                      Hôm nay thấy Admin BA thông báo cũng bị lỗi này rồi. Chưa thấy BA post lên cụ thể.
                      Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.

                      Biến tần
                      Máy giặt
                      Lò vi sóng
                      Bếp từ.
                      Tủ lạnh.
                      Điều hòa

                      Comment


                      • #26
                        Mình cũng đã từng bị một lần khi làm với 89c51. Mình output ra chân P1_0 giá trị 0 mà nó vẫn chả thay đổi gì cả. khi kiểm tra cẩn thận lại thì nó lại ăn sang chân P1_2. Thế mới dở hơi.

                        Cái này tôi nghĩ không phải do compiler đâu. Chắc là do PIC thôi. Thử thay một con khác vào xem.

                        Comment


                        • #27
                          Bạn thử thay tải đấy bằng một tải khác nhỏ hơn xem có gì thay đổi không? hoặc dùng một trở kéo lên nguồn để bơm thêm dòng và sử dụng với tải cũ. Cũng có khi dòng ra của chân này không đúng như trong datasheet của nó nên gây ra hiện tượng sụt áp.

                          Comment

                          Về tác giả

                          Collapse

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

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

                          Collapse

                          Đang tải...
                          X