Chương trình đúng mà mạch ko chạy ...

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • KhoaiLuoc
    Thành viên tích cực
    • Dec 2010
    • 137

    #1

    Chương trình đúng mà mạch ko chạy ...

    Chào các bạn mình gặp vấn đề thế này

    Code:
    #include <16F628A.h>        
    #device *=16 adc=10
    #FUSES NOWDT, HS, NOPUT, NOPROTECT, NOLVP
    #use delay(clock=20000000)
    #use fast_IO (B)
    #byte PORTB         =0x06
    
    
    
    void main()
    {
       while(1)
       {  
          
          PORTB=0xff
          delay_ms(100);
          PORTB=0x00
          delay_ms(100);
       } 
       
    
    }
    mô phỏng trong protues thì nhận được cảnh báo PORTB không được chấp nhận trong PIC16628 ??? nạp vào thì chip ko chạy luôn .. ???? vậy sự dụng lệnh PORTB trong PIC16F628 ko được à ???
    Last edited by KhoaiLuoc; 06-12-2011, 01:24.
  • duong_act
    Thành viên tích cực
    • Nov 2008
    • 4903

    #2
    Chưa có câu lệnh :
    set_tris_b(0x00);
    để xác định RB là output thì sao mà nó hoạt động hả bạn?

    Comment

    • vantrungdk6
      Thành viên mới
      • Sep 2011
      • 2

      #3
      Đúng rồi ban phải viết
      #include <16F628A.h>
      #device *=16 adc=10
      #FUSES NOWDT, HS, NOPUT, NOPROTECT, NOLVP
      #use delay(clock=20000000)
      #use fast_IO (B)
      #byte PORTB =0x06



      void main()
      {
      set_tris_b (0x00);
      while(1)
      {

      PORTB=0xff
      delay_ms(100);
      PORTB=0x00
      delay_ms(100);
      }


      }

      Comment

      • KhoaiLuoc
        Thành viên tích cực
        • Dec 2010
        • 137

        #4
        Cảm ơn các bạn ! nhưng mình đã thêm câu lệnh set_tris_b(0x00); vào rồi ... protues vẫn cảnh báo :

        Code:
        TRISB instruction is deprecated for PIC16F628
        trong khi mình thay con Chip 877A vào thì ko thấy cảnh báo nào hết .... ????

        Comment

        • duong_act
          Thành viên tích cực
          • Nov 2008
          • 4903

          #5
          #byte PORTB = 0x006
          #byte TRISB = 0x086

          Comment

          • KhoaiLuoc
            Thành viên tích cực
            • Dec 2010
            • 137

            #6
            Hix thử hết cách rồi bạn ơi .... !



            hình như cấu tạo chân của nóa khác với 877A ........ để về đọc lại datasheet xem sao ....

            Comment

            • duong_act
              Thành viên tích cực
              • Nov 2008
              • 4903

              #7
              #include <16F628A.h>
              #fuses HS
              #ocs 20M

              #byte PORTB = 0x006
              #byte TRISB = 0x086

              void main()
              {
              set_tris_b(0x00);
              while(1)
              {
              PORTB=0x00;
              delay_ms(100);
              PORTB=0xff;
              delay_ms(100);
              }
              }
              // Không được nữa thì hết cách. Đã mô phỏng bình thường

              Comment

              • KhoaiLuoc
                Thành viên tích cực
                • Dec 2010
                • 137

                #8
                hix vậy là cái protues bị điên rồi ..... Thanks bạn duong nhé ..... ! Bạn ơi cho hỏi bạn dùng protues mấy vậy ????

                Comment

                • duong_act
                  Thành viên tích cực
                  • Nov 2008
                  • 4903

                  #9
                  Proteus nào chả vậy ?
                  Tớ dùng 7.8

                  Comment

                  • KhoaiLuoc
                    Thành viên tích cực
                    • Dec 2010
                    • 137

                    #10
                    hix mình cũng 7.8 .... có khi nào CCS bị lỗi .... nghe nói mấy phiên bản CCS sau chỉnh sửa lại code hết ..... bạn dùng CCS bản mấy vậy ???mình 4.048 .....

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...