焊接资讯

您现在的位置是:首页 > led灯 > 正文

led灯

独立按键控制8个led灯移位亮灭程序(使用独立按键控制led灯亮灭)

工品易达2022-11-12led灯23

编程:利用单片机STC89C52RC设计4个独立按键控制8个LED的亮灭?

unsigned char num; sbit led1 = P1^0; sbit led2 = P1^1; sbit led3 = P1^2; sbit led4 = P1^3; sbit led5 = P1^4; sbit led6 = P1^5; sbit led7 = P1^6; sbit led8 = P1^7;   sbit key = P3^7;

if(key ==0) {num++;   }   if(num==0){led1 =0;//亮,发光二极管负极接IO}  //num是切换哪几个LED亮的或者哪几个LED灭的,

完整的就不写了,1是太多,浪费时间,2是对你自己比较好。

在51单片机中用c语言写程序实现用一个按键控制8个灯的亮和灭(按下按键灯亮,按下按键灯灭)

比如你的8个灯连在 P0口,如果是阴极的

你只要先定义

sbit P0^0=LED0;

.....一定定义下去

然后再定义一个按钮

比如P1.1

sbit P1^1=key;

代码里写

while(true)

{

if(key==1)

{

LED0=0;

LED1=0;

..//把你要亮的灯置0就行了。阳极的话置1

}

}

51c中只用一个开关控制8个LED轮流亮灭,按一下第一个亮,再按一下第二个亮第一个灭,怎么写程序?

#includereg51.h

#includeintrins.h

#define uint unsigned int

#define uchar unsigned char

sbit key=P1^0;

void Delay_ms(uint xms)              //延时程序,xms是形式参数

{

      uint i, j;

      for(i=xms;i0;i--)                 

              for(j=115;j0;j--);       

      }

void main(){

 uchar led_data=0xfe;

 while(1)

 {

    P2=led_data;//默认第一位亮

    if(key==0)

    Delay_ms(10);

    if(key==0)

    {

    while(!key);

    Delay_ms(500);                                    //延时0.5s

    led_data=_crol_(led_data,1);//移位函数,使led_date向左循环移动1位

  }

 }

}

向左转|向右转

已通过仿真,符合你的要求!

独立按键控制8个led灯移位亮灭程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于使用独立按键控制led灯亮灭、独立按键控制8个led灯移位亮灭程序的信息别忘了在本站进行查找喔。微信号:ymsc_2016

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~