Thông báo

Collapse
No announcement yet.

Hỏi về giao tiếp PIC với 2 con CD4094

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

  • Hỏi về giao tiếp PIC với 2 con CD4094

    Mình muốn mở rộng cổng IO bằng 2 con CD4094 như hình dưới. LED sáng theo thứ tự từ trên xuống dưới.
    Code mình viết theo kiểu gia tiếp 1 con.
    CD4094_Ouput (unsigned int dat)
    {
    LED_CLK=0;
    LED_STB=0;
    LED_DAT=0;
    for(int i=0; i<8; i++)
    {
    if((dat>>i) & 0x01)
    LED_DAT=1;
    else
    LED_DAT=0;
    LED_CLK=1;
    LED_CLK=0;
    }
    LED_STB=1;
    LED_STB=0;
    }


    Lúc này, thứ tự sáng là: LED1 sáng -> LED2, LED5 sáng -> LED3, LED6 sáng....
    Mọi người chỉ mình làm sao để sáng theo thứ tự: LED1 -> LED2 -> LED3 .....
    Mình xin cảm ơn!

  • #2
    Nguyên văn bởi PiPRES Xem bài viết
    Mình muốn mở rộng cổng IO bằng 2 con CD4094 như hình dưới. LED sáng theo thứ tự từ trên xuống dưới.
    Code mình viết theo kiểu gia tiếp 1 con.
    CD4094_Ouput (unsigned int dat)
    {
    LED_CLK=0;
    LED_STB=0;
    LED_DAT=0;
    for(int i=0; i<8; i++)
    {
    if((dat>>i) & 0x01)
    LED_DAT=1;
    else
    LED_DAT=0;
    LED_CLK=1;
    LED_CLK=0;
    }
    LED_STB=1;
    LED_STB=0;
    }


    Lúc này, thứ tự sáng là: LED1 sáng -> LED2, LED5 sáng -> LED3, LED6 sáng....
    Mọi người chỉ mình làm sao để sáng theo thứ tự: LED1 -> LED2 -> LED3 .....
    Mình xin cảm ơn!
    Hàm main bạn xuất data như thế nào?

    Comment


    • #3
      Mình làm được rồi.

      CD4094_Ouput (unsigned int dat)
      {
      LED_CLK=0;
      LED_STB=0;
      LED_DAT=0;

      for(int i=0; i<16; i++)
      {
      if((dat>>i) & 0x01)
      LED_DAT=1;
      else

      LED_DAT=0;
      LED_CLK=1;
      LED_CLK=0;
      }
      LED_STB=1;
      LED_STB=0;
      }

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X