Thông báo

Collapse
No announcement yet.

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

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

  • 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, 02:24.

  • #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


    • #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


      • #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


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

          Comment


          • #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


            • #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


              • #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


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

                  Comment


                  • #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...
                    X