PWM-DAC调节LED灯

2019-03-24 17:00发布

通过AD转化读取电位器的值,根据电位器的值调节占空比,进而调节输出的直流电压,调节LED的亮度,通俗地说电位器是台灯旋钮,LED是台灯
主函数:
main()
{
temp1=Read_AD_Data(0x94)//转换电位器值
if(counts>100)
{
  counts=0;
if(DIR==1)//控制变量value的增加或减少
value++;
if(DIR==0)
value--;
}
if(value==1000)
DIR=0;
if(value==0)
DIR=1;
if(temp1<value)
PWM=1;
else
PWM=0;
}
定时器1:
void Timer(void) interrupt 3
{
THI=0XFF;
TL1=0XFf;
  counts++;
}
为什么LED会闪,不能实现亮度的调节
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
万年落第生
2019-03-25 12:25
看不太明白你写的程序,我以前做过单片机LED的调光,把家里的台灯都改了,用到现在也没问题。不过是用按钮调节的。有些MCU带有PWM功能这种最简单了,直接配置就好了。另外我也做过用定时器的,我使用了两个定时器,一个控制频率,一个控制占空比。调节效果非常好,

一周热门 更多>