LED灯带的左循环闪烁如何实现?
这是一个简单的震荡电路,由散件组成,可以使两个LED交替闪烁。即用两个电容1、电容2进行轮流充电和放电,这是循环的核心。
一、灯1导通时电容1放电,灯1亮。此时电容2充电。
二、灯2导通时电容2放电,灯2亮。此时电容1充电。
电路会轮流重复1、2两个过程。
觉得有用点个赞吧
可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。
具体实现方法可以参考如下程序:<pre t="code" l="cpp">#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint a);
void main()
{
P1=0xfe;
while(1)
{
// 向左循环点亮LED
for(i=0; i<7; i++)
{
P1=_crol_(P1,1); // 左移一位,点亮下一位LED
delay(55);
}
// 向右循环点亮LED
for(i=0; i<7; i++)
{
P1=_cror_(P1,1); // 右移一位,,点亮上一位LED
delay(55);
}
}
}
// 延时函数,延时a毫秒
void delay(uint a)
{
uint x,y;
for(x=a;x>0;x--)
for(y=110;y>0;y--);
}