Thông báo

Collapse
No announcement yet.

Giúp về PIC16F628A!

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

  • Giúp về PIC16F628A!

    Em đang tập viết một chương trình chạy đơn giản cho Pic 16F628A vì nó hợp lí về số lượng Port và túi tiền! NHưng sau khi viết xong em gặp một số vấn đề khi mô phỏng trên Protues.



    #include<16f628a.h>
    #FUSES NOWDT, HS, NOPUT
    #use delay(clock=20M)

    void s1()
    {
    output_a(0xff);
    output_b(0x00);
    delay_ms(10);
    }

    void main()
    {
    set_tris_a(0);
    set_tris_b(0);
    s1();
    }



    Khi mô phỏng trên Protues thì các chân RA0--> RA3 vẫn cho tín hiệu cao để làm cháy 4 đèn đầu tiên nhưng từ các chân RA4--> RA7 lại không có tín hiệu ra. EM không biết mình mắc lỗi ở điểm nào, có phải ở phần khai báo em đã thiếu sót hay không, vì các chân từ RA4-->RA7 có nhiều chức năng!
    Xin chỉ giúp em!

  • #2
    Bạn đã thử mạch thật chưa ?
    Phần mềm tự do hoặc không dùng máy tính nữa !.

    Comment


    • #3
      Nguyên văn bởi bqviet Xem bài viết
      Bạn đã thử mạch thật chưa ?
      Vẫn chưa? VÌ mình mới học nên muốn hỏi về một số vấn đề cơ bản khi khai báo và sử dụng chân!

      Comment


      • #4
        Mình thấy trong datasheet viết là
        +) chân RA4 phải cần thêm trở treo khi muốn làm đầu vào
        +) chân RA5 thì chỉ làm đầu vào
        +) 2 chân Ra6 và ra7 hình như mắc thạch anh

        Comment


        • #5
          Bạn úp hình mô phỏng proteus cho mọi người xem với

          Comment


          • #6
            Nguyên văn bởi lee_phong Xem bài viết
            Em đang tập viết một chương trình chạy đơn giản cho Pic 16F628A vì nó hợp lí về số lượng Port và túi tiền! NHưng sau khi viết xong em gặp một số vấn đề khi mô phỏng trên Protues.



            #include<16f628a.h>
            #FUSES NOWDT, HS, NOPUT
            #use delay(clock=20M)

            void s1()
            {
            output_a(0xff);
            output_b(0x00);
            delay_ms(10);
            }

            void main()
            {
            set_tris_a(0);
            set_tris_b(0);
            s1();
            }



            Khi mô phỏng trên Protues thì các chân RA0--> RA3 vẫn cho tín hiệu cao để làm cháy 4 đèn đầu tiên nhưng từ các chân RA4--> RA7 lại không có tín hiệu ra. EM không biết mình mắc lỗi ở điểm nào, có phải ở phần khai báo em đã thiếu sót hay không, vì các chân từ RA4-->RA7 có nhiều chức năng!
            Xin chỉ giúp em!
            Chương trình sử dụng chế độ dao động ngoài
            Code:
            #FUSES NOWDT, HS, NOPUT
            Và mặc định sử dụng Master Clear nên 3 chân RA5=> RA7 không được dùng là IO.
            RA5 > MCLR
            RA6 > OSC2
            RA7 > OSC1

            Comment


            • #7
              Nguyên văn bởi lee_phong Xem bài viết
              Em đang tập viết một chương trình chạy đơn giản cho Pic 16F628A vì nó hợp lí về số lượng Port và túi tiền! NHưng sau khi viết xong em gặp một số vấn đề khi mô phỏng trên Protues.



              #include<16f628a.h>
              #FUSES NOWDT, HS, NOPUT
              #use delay(clock=20M)

              void s1()
              {
              output_a(0xff);
              output_b(0x00);
              delay_ms(10);
              }

              void main()
              {
              set_tris_a(0);
              set_tris_b(0);
              s1();
              }



              Khi mô phỏng trên Protues thì các chân RA0--> RA3 vẫn cho tín hiệu cao để làm cháy 4 đèn đầu tiên nhưng từ các chân RA4--> RA7 lại không có tín hiệu ra. EM không biết mình mắc lỗi ở điểm nào, có phải ở phần khai báo em đã thiếu sót hay không, vì các chân từ RA4-->RA7 có nhiều chức năng!
              Xin chỉ giúp em!
              đúng là RA4-RA7 có nhiều chức năng bạn phải khai báo lại cầu chì như là không dùng thạch anh ngoài HS mà chỉ dùng thach anh nội RC. không dùng chức năng MCLR...(NOMCLR)
              ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              • nguyendinhvan
                Trả lời cho Vấn đề về tốc độ quay
                bởi nguyendinhvan
                Sử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
                14-12-2025, 19:50
              • Andrea14
                Vấn đề về tốc độ quay
                bởi Andrea14
                Chào mọi người,

                Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
                12-12-2025, 12:42
              • bqviet
                Trả lời cho Đấu tắt điện cho máy tính bảng
                bởi bqviet
                Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                06-12-2025, 17:17
              Đang tải...
              X