RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

[Xin giúp đỡ]Bài tập về led và nút bấm với PIC16F886

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • kysytoctrang
    Nhập môn đệ tử
    • Mar 2008
    • 5

    #1

    [Xin giúp đỡ]Bài tập về led và nút bấm với PIC16F886

    Chào các bạn trong diễn đàn. Hiện mình đang bắt đầu học PIC và tự mình đặt ra bài toán như sau

    Cổng vào :

    Port A0-A5 là các nút nhấn Sw1-sw6
    Port C0-C2 lad các nút nhấn sw7-sw9

    Cổng ra :

    PortB

    Khi nhấn các nút thì sẽ cho đầu ra ở portB xuất các tín hiệu khác nhau

    Không bấm nút thì outport_B=0

    Mình đã lập trình và chạy thử trên protues 7 thì hoạt động được, nhưng khi đổ chương trình vào chip thật thì không hoạt động được.

    Mong cac bạn chỉ giúp mình chỗ nào sai hay thiếu sót để mình được học hỏi thêm

    P/s : Trong mô phỏng, khi bấm nút có những lúc đầu ra bị nháy nháy không giữ được, vậy có phải do chương trình của mình có vấn đề không ?

    Đây là chương trình của mình

    #include <16F886.h>

    #use delay(crystal=20000000)

    #define sw1 PIN_A0
    #define sw2 PIN_A1
    #define sw3 PIN_A2
    #define sw4 PIN_A3
    #define sw5 PIN_A4
    #define sw6 PIN_A5

    #define sw7 PIN_C0
    #define sw8 PIN_C1
    #define sw9 PIN_C2

    #FUSES NOWDT //No Watch Dog Timer
    #FUSES NOBROWNOUT //No brownout reset
    #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

    void main()
    {

    while(TRUE)
    {
    //sw1
    if(!input(sw1))
    OUTPUT_B(0x70);

    ///sw2
    else if(!input(sw2))
    OUTPUT_B(0x0C);

    ///sw3
    else if(!input(sw3))
    OUTPUT_B(0x04);

    ///sw4
    else if (!input(sw4))
    OUTPUT_B(0x07);

    ///sw5
    else if (!input(sw5))
    OUTPUT_B(0x02);

    ///sw6
    else if (!input(sw6))
    OUTPUT_B(0x05);


    ///sw7
    else if (!input(sw7))
    OUTPUT_B(0x0E);

    ///sw8
    else if (!input(sw8))
    OUTPUT_B(0x0B);

    ///sw9
    else if (!input(sw9))
    OUTPUT_B(0x0A);

    else
    OUTPUT_B(0x00);
    }

    }
    Phần mô phỏng

  • kysytoctrang
    Nhập môn đệ tử
    • Mar 2008
    • 5

    #2
    Các bạn giúp mình với

    Comment

    • truongbm
      Nhập môn đệ tử
      • Sep 2013
      • 4

      #3
      t đợi giúp dài cổ ><

      Comment

      • binhbk247
        Đệ tử 2 túi
        • Jun 2011
        • 37

        #4
        thêm #fuses hs
        ở hàm main() trước khi vô while(1) thêm set_tris thử bạn

        Comment

        • kysytoctrang
          Nhập môn đệ tử
          • Mar 2008
          • 5

          #5
          Nguyên văn bởi binhbk247 View Post
          thêm #fuses hs
          ở hàm main() trước khi vô while(1) thêm set_tris thử bạn
          Cảm ơn bạn. Mình đã thêm các thành phần trên nhưng vẫn bị nhấp nháy ở đầu ra khi chưa có đầu vào haizz

          Comment

          Working...