标题: 求助各位大神,我想用一个按键控制3个灯珠 [打印本页]

作者: lenvu    时间: 2018-10-18 22:51
标题: 求助各位大神,我想用一个按键控制3个灯珠
求助各位大神,我想用一个按键控制3个灯珠,按一下亮一个灯珠,再按一下亮第二个灯珠,按第第三下亮第三个灯珠,按第四下全部灯珠灭。在第二个灯珠亮起的时候继电器输出(在第三个灯珠,第一个灯珠亮的时候 及全部灯珠都不亮的时候继电器不输出) 求解啊,本人小白一个。。。
作者: lenvu    时间: 2018-10-27 16:44
  1. #include<reg52.h>
  2. #define unit unsigned int
  3. #define uchar unsigned char

  4. sbit k1=P2^1;
  5. sbit led1=P2^2;
  6. sbit led2=P2^3;
  7. sbit led3=P2^4;
  8. sbit t1=P2^5;

  9. uchar numk;
  10. void delay(unit z)
  11. {

  12.        unit x,y;
  13.            for(x=z;x>0;x--)
  14.                            for(y=110;y>0;y--);
  15. }


  16. void main()
  17. {
  18. while(1)
  19. {
  20.         delay(50);
  21.         if(k1==0)
  22.         {
  23.         numk++;
  24.         if(numk>4)numk=1;
  25.         }
  26.                 while(!k1)
  27.         switch(numk)
  28.         {
  29.         case 1:led1=0;break;                          
  30.         case 2:led2=0;t1=0;break;                                         //k1计数为2时,led2点亮, t1 npn输出
  31.         case 3:led3=0;t1=1;break;                                    //k1计数为3时,led3点亮,  t1 pnp输出
  32.         case 4:led3=1;led2=1;led1=1;break;
  33.         }
  34.         }
  35. }
复制代码





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1