Thông báo

Collapse
No announcement yet.

Hỏi về cách ghép port của vdk 8051

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

  • Hỏi về cách ghép port của vdk 8051

    Chào các bạn.mình đang viết 1 chương trình dùng con 89s52.
    Chương trình của mình yêu cầu phải ghép được 2 port 8 bit thành 1 port 16 bit.

    Ví dụ như: ghép P2 và P3 thành port j đó có tên là A; mà ta có thể gán cho A=0x9876H chẳng hạn.mình muốn là P2=0x98 còn P3=0x76.
    Mọi người có thuật toán nào giải quyết đươc vấn đề này xin chỉ giáo ạ.
    mình xin cảm ơn

  • #2
    Bạn làm cái gì mà ghép PORT vậy? hay yêu cầu chỉ là làm sao đưa 1 số 16bit ra 2port đó 1 cách đơn giản nhất?
    Đưa 1 số 16bit thì cứ lấy high+low là xong hoặc không thì dùng cách dùng union
    Code:
    typedef union
    {
        int mdata;
        struct{
            char b[2];
        }x;
    }twoByteOneInt;
    
    twoByteOneInt x;
    
    x.mdata=0x9876;
    P2=x.x.b[0];
    P3=x.x.b[1];
    mình có nghĩ đến cái trò sfr16 nhưng mà các port này có địa chỉ không lân cận nhau nên không dùng được.

    Comment


    • #3
      uhm!thank bạn,mình đang thủ cách của bạn!cho mình hỏi là kiểu union khác j với struct vậy?

      Comment


      • #4
        cảm ơn bạn rất nhiều!mình đã làm dc rồi!!!còn vì sao nó dc như vậy mình sẽ tìm hiểu sau!
        thật sự cảm ơn bạn

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X