开关控制led灯亮灭

2019-07-16 04:58发布

各位大侠,求助,我是新手,关于一个开关控制led灯亮灭的问题,就是我按一下开关,第一个led灯亮,松开,再次按下开关第二个led灯亮,以此类推。。。。感激不尽。。。用c语言。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
dxr360428
1楼-- · 2019-07-16 07:54
你好
lstcspring
2楼-- · 2019-07-16 12:47
你用的什么单片机,这个很简单,自己做嘛,有问题再来问
lstcspring
3楼-- · 2019-07-16 15:29
 精彩回答 2  元偷偷看……
minDragon
4楼-- · 2019-07-16 18:36
lstcspring 发表于 2012-8-4 09:45
正好这有一个,你看一下!
#include
void delay(unsigned char x)      //延时

这位仁兄也太坑爹了吧。。http://bbs.elecfans.com/jishu_256763_1_1.html 这个明明是我刚发的求助帖子吧。。程序改改也好啊。。直接照搬上来,而且我这个程序不是按一下第一个亮 第二下第二个亮。。。。晕。。。copy我的程序至少也要把人家的问题看清楚 再看看那回答吧。。。
mzfootball
5楼-- · 2019-07-16 22:09
lstcspring 发表于 2012-8-4 09:28
你用的什么单片机,这个很简单,自己做嘛,有问题再来问

我用的是at89c2051,程序我也写了,就是有时候可以,有时候又不行,不稳定,请问是不是电路有问题。
mzfootball
6楼-- · 2019-07-17 04:03
lstcspring 发表于 2012-8-4 09:28
你用的什么单片机,这个很简单,自己做嘛,有问题再来问

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar jiashu;
sbit p10=P1^0;   /*按键*/
sbit p01=P0^1;   /*LED1*/
sbit p02=P0^2;   /*LED2*/
sbit p03=P0^3;   /*LED3*/


void delay(uint ms)//延时子涵数
{
uint k,j;
for(k=ms;k>0;k--)
for(j=1;j>0;j--);
}

void main()
{
     while(1)
    {
        if(p10==0)
        {
           delay(10);
           if(p10==0)
          {           
             jiashu++;
       if(jiashu==4)
       {
        jiashu=0;
       }
             while(p10==0);                 
           }
       }
         if(jiashu==0)
        {
           p01=1;
           p02=1;
           p03=1;
        }
         if(num==1)
        {
           p01=0;
           p02=1;
           p03=1;
        }               
         if(jiashu==2)
        {
         p01=0;
         p02=0;
         p03=1;
         }
        if(jiashu==3)
        {
         p01=0;
         p02=0;
         p03=0;
         }

    }
}

一周热门 更多>