- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于C51單片机和PWM调光的LED台灯设计
摘 要
LED台灯作为LED绿色照明光源产品,作为国家绿色照明推广使用的产品LED台灯是典型的绿色照明光源产品,作为国家绿色照明推广使用的产品,可知,利用调整PWM不同的占空比就可以控制电流的大小。电流通断的变化用NMOS管K2717实现,三极管9014提供驱动K2717的电流,PWM由P2.0输出,低电平有效。如下图(图2.2)所示:
图2.2
2、手动控制
KEY4变化控制的方式,KEY4为自锁按键,按下为手动控制,弹起为自动控制。手动控制时可以分为三档,对应与KEY1~3三个按键。如下图(图2.3)所示:
图2.3
3、自动控制
1光敏电阻反馈部分
光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换。因此,不断采集光敏电阻对地的电压便可以获知台灯周边光强的变化。如下图(图2.4)所示:
图2.4
2ADC0809模数转换部分
ADC 0808和ADC 0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。
如下图(图2.4)所示,ADC0809的参考电压设置成5V,时钟信号通过单片机P3.3口利用定时器中断输出。光敏电阻的对地电压从IN3口输入, ADC0809将其转换成数字量后通过OUT1-7输出,以便单片机进一步处理。
图2.5
三、软件设计
1、总体框图
图3.1
2、主要程序
1按键扫描
不断扫描按键判断是手动控制和自动控制。程序代码:
void keyscan()
{
ad();
if(key==1) //key4松开,a恒为0 ,通过读c的值确定b的值
{
if(c0.40)
last=0;
else if((c=0.40)(c2.0))
last=2;
else if((c=2.0)(c3.0))
last=5;
else if((c=3.0)(c4.0))
last=7;
else
last=10;
}
if(key==0) //key4按下, 手动控制
{
if(key1==0)
{ delayms(10); //去抖
if(key1==0)
last=1;
}
if(key2==0)
{ delayms(10);
if(key2==0)
last=6;
}
if(key3==0)
{ delayms(10);
if(key3==0)
last=10;
}
}
}
2AD转换
定时器1产生CLK信号,定时时间为2us,亦即CLK周期为0.4us。程地址为011, 即IN3口输入。利用公式getdata*1.0/255*VREV+对数字量进行变化。程序代码如下:
void ad()
{
ST=0;//关闭转换
OE=0;//关闭输出
ST=1;//开启转换
ST=0;//关闭转换
P34=1;//选择通道0
P35=1;
P36=0;
while(EOC==0);//判断是否转换结束:是则执行以下语句,否则等待
OE=1;//开启数据输出允许
getdata=P0;//将数据取走,存放在变量getdata中
OE=0;//关闭输出
c=getdata*1.0/255*4.85;//电压值转换,5V作为参考电压,分成256
}
3PWM调节
定时器0控制PWM周期和占空比。程序代码如下:
void into(void) interrupt 1
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
count++;
if(countCIRCLE)
{
count=1;
}
if(count=last)
pwm=0; //占空比,使用反相器应为1
else
pwm=1;
四、总结
基于C51单片机和PWM调光的LED台灯以STC89C51作为主控芯片,设置了手动控制和自动控制。在手动控制时,分为三档,输出不同的PWM占空比实现了对光度的手动调节。在自动控制时,通过ADC
文档评论(0)