如何利用ATS51单片机控制一个LED灯的亮度

发布网友

我来回答

3个回答

热心网友

首先把频率定下来,最好定到大于100Hz,否则会有闪烁感。反正如果是感到有闪烁感,你就再把频率定高一点就没事了。然后就是调I/O口的占空比了。比如把亮的时间定为80% 灭的时间定为20% 这种效果是比较亮的。 而反过来把亮的时间定为20% 灭的时间定为80% 这种效果就比较暗了。

单片机高手团为你解答。

热心网友

# include<reg51.h>
void delay(unsigned int j)
{
unsigned int i;
for (;j>0;j--)
{
for(i=0;i<1000;i++)
;
}
}

void main()
{
while(1)
{
P1^0=0;
delay(100);
P1^0=1;
delay(100);//具体数值根据你单片机晶振频率而定
}
}
原理是PWM波占空比不同,其功率亦不同,只要PWM频率很大,人眼分辨不出其闪烁,就可通过控制占空比(高电平时间和周期之比)的大小来控制其亮度。

热心网友

你发现好答案了么

热心网友

首先把频率定下来,最好定到大于100Hz,否则会有闪烁感。反正如果是感到有闪烁感,你就再把频率定高一点就没事了。然后就是调I/O口的占空比了。比如把亮的时间定为80% 灭的时间定为20% 这种效果是比较亮的。 而反过来把亮的时间定为20% 灭的时间定为80% 这种效果就比较暗了。

单片机高手团为你解答。

热心网友

# include<reg51.h>
void delay(unsigned int j)
{
unsigned int i;
for (;j>0;j--)
{
for(i=0;i<1000;i++)
;
}
}

void main()
{
while(1)
{
P1^0=0;
delay(100);
P1^0=1;
delay(100);//具体数值根据你单片机晶振频率而定
}
}
原理是PWM波占空比不同,其功率亦不同,只要PWM频率很大,人眼分辨不出其闪烁,就可通过控制占空比(高电平时间和周期之比)的大小来控制其亮度。

热心网友

你发现好答案了么

热心网友

首先把频率定下来,最好定到大于100Hz,否则会有闪烁感。反正如果是感到有闪烁感,你就再把频率定高一点就没事了。然后就是调I/O口的占空比了。比如把亮的时间定为80% 灭的时间定为20% 这种效果是比较亮的。 而反过来把亮的时间定为20% 灭的时间定为80% 这种效果就比较暗了。

单片机高手团为你解答。

热心网友

# include<reg51.h>
void delay(unsigned int j)
{
unsigned int i;
for (;j>0;j--)
{
for(i=0;i<1000;i++)
;
}
}

void main()
{
while(1)
{
P1^0=0;
delay(100);
P1^0=1;
delay(100);//具体数值根据你单片机晶振频率而定
}
}
原理是PWM波占空比不同,其功率亦不同,只要PWM频率很大,人眼分辨不出其闪烁,就可通过控制占空比(高电平时间和周期之比)的大小来控制其亮度。

热心网友

你发现好答案了么

热心网友

首先把频率定下来,最好定到大于100Hz,否则会有闪烁感。反正如果是感到有闪烁感,你就再把频率定高一点就没事了。然后就是调I/O口的占空比了。比如把亮的时间定为80% 灭的时间定为20% 这种效果是比较亮的。 而反过来把亮的时间定为20% 灭的时间定为80% 这种效果就比较暗了。

单片机高手团为你解答。

热心网友

# include<reg51.h>
void delay(unsigned int j)
{
unsigned int i;
for (;j>0;j--)
{
for(i=0;i<1000;i++)
;
}
}

void main()
{
while(1)
{
P1^0=0;
delay(100);
P1^0=1;
delay(100);//具体数值根据你单片机晶振频率而定
}
}
原理是PWM波占空比不同,其功率亦不同,只要PWM频率很大,人眼分辨不出其闪烁,就可通过控制占空比(高电平时间和周期之比)的大小来控制其亮度。

热心网友

你发现好答案了么

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com