Thông báo

Collapse
No announcement yet.

điều khiển led đơn bằng bàn phím

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

  • điều khiển led đơn bằng bàn phím

    mọi người cho em hỏi với. bây h em muốn dùng bàn phím 6 nút ấn để điêu khiển 8 led đơn thì làm thế nào ạ. vd ấn phím 1 thì led 1 sáng,phím 2 thì led 2 sáng... đến phím 6 thì led 6 sáng, còn led 7,8 thì làm thế nào nữa ạ. mọi người giúp em với

  • #2
    Bạn có thể dùng các phím từ 1 đến 4 để tương ứng với các số 1,2,3,5. Phím số 5 làm phím 4+, phím số 6 là on/off.
    Ví dụ muốn led 8 sáng thì bạn ấn phím 4+, rồi ấn tiếp phím 4. lúc này phím on/off sẽ được dùng để điều khiển trạng thái của led 8.

    Comment


    • #3
      [#include <REGX52.H>
      sbit led1=P2^0;
      sbit led2=P2^1;
      sbit led3=P2^2;
      sbit led4=P2^3;
      sbit led5=P2^4;
      sbit led6=P2^5;
      sbit led7=P2^6;
      sbit led8=P2^7;

      sbit key1=P3^2;
      sbit key2=P3^3;
      sbit key3=P3^4;
      sbit key4=P3^5;
      sbit key5=P3^6;
      sbit key6=P3^7;

      void main(void)
      {
      while(1)
      {
      if(key1==0)
      led1=0;
      if(key2==0)
      led2=0;
      if(key3==0)
      led3=0;
      if(key4==0)
      led4=0;
      if(key5==0)
      led5=0;
      if(key6==0)
      led6=0;
      }
      }
      ] chương trình của mình thế này dk dc 6 led. 2 led còn lại thì thế nào nhỉ. mình gà mờ lắm

      Comment


      • #4
        Phang thử cái này vào đi bạn.

        [#include <REGX52.H>
        sbit led1=P2^0;
        sbit led2=P2^1;
        sbit led3=P2^2;
        sbit led4=P2^3;
        sbit led5=P2^4;
        sbit led6=P2^5;
        sbit led7=P2^6;
        sbit led8=P2^7;

        sbit key1=P3^2;
        sbit key2=P3^3;
        sbit key3=P3^4;
        sbit key4=P3^5;
        sbit key5=P3^6;
        sbit key6=P3^7;

        char dem;
        char cong4;

        void demled()
        {
        if (key1==0) {if (cong4==1) dem=5; else dem=1;cong4=0;While(key1==0);}
        if (key2==0) {if (cong4==1) dem=6; else dem=2;cong4=0;While(key2==0);}
        if (key3==0) {if (cong4==1) dem=7; else dem=3;cong4=0;While(key3==0);}
        if (key4==0) {if (cong4==1) dem=8; else dem=4;cong4=0;While(key4==0);}
        if (key5==0) {cong4=1;dem=0;While(key5==0);}
        }

        void dieukhienled()
        {
        if(key6==0)
        {
        if (demled==1) led1=!led1; // neu dem=1 thi dao trang thai cua led1
        if (demled==2) led2=!led2; // neu dem=2 thi dao trang thai cua led2
        if (demled==3) led3=!led3; // neu dem=3 thi dao trang thai cua led3
        if (demled==4) led4=!led4; // neu dem=4 thi dao trang thai cua led4
        if (demled==5) led5=!led5; // neu dem=5 thi dao trang thai cua led5
        if (demled==6) led6=!led6; // neu dem=6 thi dao trang thai cua led6
        if (demled==7) led7=!led7; // neu dem=7 thi dao trang thai cua led7
        if (demled==8) led8=!led8; // neu dem=8 thi dao trang thai cua led8
        dem=0;
        cong4=0;
        while(key6==0);
        }
        }
        void main(void)
        {
        while(1)
        {
        demled();
        dieukhienled();
        }
        }

        Nếu chạy code này, giải sử bạn muốn điều khiển led8 thì phải bấm phím 4+ (tức là key5) trước, rồi mới bấm phím 4 (tức là Key4). Lúc này biếm đếm mới có giá trị 8, nếu bạn làm ngựoc lại thì biến đếm chỉ có có giá trị 4 thôi. Phím key6 của bạn để đảo trạng thái led.
        Bạn thử đi, có gì lên hỏi tiếp.
        Last edited by NinoNguyen_; 12-12-2013, 16:48.

        Comment


        • #5
          có lỗi ở dòng 23 bạn ơi. minh k biết n sai chỗ nào

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X