焊接资讯

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

led灯

单片机按键控制led灯闪烁10次(单片机8个led灯交替闪烁程序)

工品易达2022-11-06led灯29

单片机亮灯程序怎么让8盏灯亮10次然后不亮?

用51单片机来简单说明一下:

用8只LED代表8盏灯(D1~D8),限流电阻用一个9脚排阻RP1,原理图如下:

为了视觉观察观察方便,用一个500ms,也就是0.5秒的延时程序来间隔灯的亮灭变化。当然这个时间是可以自由修改的,修改成1秒的话也可以,只是LED亮灭变化快慢不同而已。

下面是延时程序:

void delay500ms(void) //@12.000MHz

{

unsigned char i, j, k;

_nop_();

_nop_();

i = 23;

j = 205;

k = 120;

do

{

do

{

while (--k);

} while (--j);

} while (--i);

}

//----------------------------

前面原理图采用P1端口驱动LED,定义LED端口为P1:

#define   IO_LED   P1

//---------------------------

当端口为0时灯亮,为1时熄灭,为了理解方便,用宏定义来定义LED亮灭,增加可读性,也便于理解,如下:

#define DATA_LED_OFF 0xff

#define DATA_LED_ON 0x00

(程序中写“DATA_LED_OFF”,在编译时编译器会自动编译“0xff”。)

//----------------------------

用for循环语句实现LED点亮和熄灭10次:

for(i = 0; i 10; i++)

{

IO_LED = DATA_LED_ON;  //点亮LED

delay500ms();

IO_LED = DATA_LED_OFF;  //熄灭LED

delay500ms();

}

//----------------------------------

完整的c源程序如下图:

以上仅供参考。

通过控制AT-89C51单片机P1口,控制LED灯的亮灭,

你好:

采用0.5s定时中断一次;

希望我的回答能帮助到你。

单片机控制8个LED灯,完成奇数灯亮偶数灯灭,然后偶数灯亮奇数灯灭,10次,用C语言编程

#includereg51.h

#includeintrins.h

#define uchar unsigned char

void delay(uchar a)

{

uchar i;

while(a--)for(i=0;i120;i++);

}

main()

{

uchar i,j;

for(i=0;i10;i++)

{

P0=0xaa;

delay(200);

P0=0x55;

delay(200);

}

for(i=0;i10;i++)

    P0=0xfe;

    {

    for(j=0;j8;j++){P0=_crol_(P0,1);delay(200);}

    }

while(1);

}

通过控制AT-89C 51单片机P1口,控制LED灯的亮与灭。每个LED闪烁10次,再移向下一个LED同样10次循环不止编

#includereg51.h

#define uchar unsigned char

#include intrins.h

void delay10ms()

{

int a,b;

for (a=300;a0;a--)

for (b=110;b0;b--);

}

void main()

{

uchar x;

uchar k=~0x01;

P1=0xff;

while(1)

{

for(x=0;x10;x++ )

{

P1=k;

delay10ms();

P1=0xff;

delay10ms();

}

k=_cror_(k,1);

if(x==9)

x=0;

}

}

单片机按键控制led灯闪烁10次的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于单片机8个led灯交替闪烁程序、单片机按键控制led灯闪烁10次的信息别忘了在本站进行查找喔。微信号:ymsc_2016

发表评论

评论列表

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