找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 914|回复: 1
打印 上一主题 下一主题
收起左侧

求助各位大神,我想用一个按键控制3个灯珠

[复制链接]
跳转到指定楼层
楼主
ID:343797 发表于 2018-10-18 22:51 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助各位大神,我想用一个按键控制3个灯珠,按一下亮一个灯珠,再按一下亮第二个灯珠,按第第三下亮第三个灯珠,按第四下全部灯珠灭。在第二个灯珠亮起的时候继电器输出(在第三个灯珠,第一个灯珠亮的时候 及全部灯珠都不亮的时候继电器不输出) 求解啊,本人小白一个。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:343797 发表于 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. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表