Thông báo

Collapse
No announcement yet.

Đọc giá trị của 4 bit thấp (từ 0-3) của 1 PORT bằng ngôn ngữ C

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

  • Đọc giá trị của 4 bit thấp (từ 0-3) của 1 PORT bằng ngôn ngữ C

    chào các bác.
    Dạ cho em hỏi với ngôn ngữ C làm thế nào để đọc giá trị 4bit thấp của 1 PORT và lưu vào biến ạ,
    cụ thể ở đây là PORTA của PIC16F887. vì cả PORTA là nó có 2 chân RA6,RA7 dùng cho thạch anh nên khó

    vì em chỉ cần giá trị từ 0-9 nên em chon 4 bít thấp. em cũng đã thử nhiều cách rồi mà chưa được
    cụ thể :

    để đọc nguyên 1 PORTA thì
    bien=PORTA; rồi em trừ cho 2 chân con lại RA4,5 rồi còn 2 chân nối với thạch anh thì chịu.
    em đã thử các cách sau để đọc 4 bit thấp rồi mà chưa được ạ
    bien=PORTA%10; chia cho 10 lấy phần dư của PORTA.

    khi nó đọc từng chân 1 thì nó được.
    mà để nhận dữ liệu từ 0 - 9 phải quét qua 10 lần như vậy!!
    vậy thì nó dài quá. vậy có cách nào nó đọc 1 lần mà 4 bit thấp mà ko dính tới các bit cao không ạ.

    em xin cảm ơn các bác ạ.
    email:
    chỉ được liên lạc từ 19h00 - 21h30




  • #2
    mình khong hỉeu nổi bạn làm gì nhưng lấy 4 bit low thì vầy : bien = PORTA&0x0f;
    thân.

    Comment


    • #3
      Nguyên văn bởi thientanvt Xem bài viết
      mình khong hỉeu nổi bạn làm gì nhưng lấy 4 bit low thì vầy : bien = PORTA&0x0f;
      thân.
      vâng. để mình thử, cảm ơn bạn nha
      email:
      chỉ được liên lạc từ 19h00 - 21h30



      Comment


      • #4
        Nguyên văn bởi sang_dientu Xem bài viết
        vâng. để mình thử, cảm ơn bạn nha
        chính xác là làm như bạn thientanvt.

        Comment


        • #5
          Nguyên văn bởi caovanhuong Xem bài viết
          chính xác là làm như bạn thientanvt.
          OK rồi. đúng là đơn giản vậy mà nghĩ không ra. cảm ơn mấy bác nhiều.
          email:
          chỉ được liên lạc từ 19h00 - 21h30



          Comment


          • #6
            Nguyên văn bởi thientanvt Xem bài viết
            mình khong hỉeu nổi bạn làm gì nhưng lấy 4 bit low thì vầy : bien = PORTA&0x0f;
            thân.
            mục đích của mình là giao tiếp 2 PIC với nhau và truyền song song như LCD vậy.
            email:
            chỉ được liên lạc từ 19h00 - 21h30



            Comment


            • #7
              Chào bạn, ban giúp mình cách đọc dữ liệu của các chân RA0,RA1,RA2,RA3,RA4,RA5 (pic 16F877A) rồi đem giá trị đọc được đó chuyển thành số thập phân được không
              mình gửi dữ liệu qua RS485 bao gồm byte địa chỉ rồi tới byte dữ liệu, mình muốn so sánh byte địa chỉ với giá trị đọc được ở trên, nếu đúng thì tiếp tục nhận dữ liệu nếu sai thì không nhận dữ liệu
              Rất mong nhận được giúp đỡ từ các bạn!
              Cảm ơn các bạn

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X