通过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会闪,不能实现亮度的调节
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>