材料说明:
单片机是stc15f104e
led灯是360-370nm的紫光灯
两颗amc7135并联驱动
四路无线遥控
思路:
用单片机输出频率20khz的pwm波形来驱动amc7135达到调光的作用,用思路无线遥控的其中一路来控制单片机输出三种(100% 70% 30%)占空比的pwm信号。
单片机最小系统
四路无线遥控器
amc7135驱动
紫光led,最大驱动电流500ma
组装起来
30%亮度
70%亮度
100%亮度
对应的电流
130ma
330ma
530ma
重点来了
看看下面的电路图,很简单的原理
这个单片机是用内部晶振的12mhz
下面看看程序
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led=P3^3;
sbit kong=P3^2;
uchar num,num1=0,gao=3,di=7,flag=1;
void kongkey();
void pwm();
void kongkey()
{
if(kong==1)
{
num1++; //收到遥控的一次信号加1
if(num1==3) //到第三档再跳回第一档
num1=0;
while(kong); //等待信号接收完毕
}
switch(num1)
{
case 0:
gao=3;
di=7; //最低亮度
break;
case 1:
gao=7;
di=3;
break;
case 2:
gao=10;
di=0; //最高亮度
break;
}
}
void main()
{
TMOD=0X02; //设置定时器0为工作方式2(0000 0010)
TH0=251; //装初值
TL0=251;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //启动定时器0
led=1;
while(1)
{
kongkey();
}
}
void T0_time() interrupt 1
{
num++; //5us中断一次
if(flag==1) //高电平标识判断
{
led=1;
if(num==gao)
{
num=0;
if(gao==10)
{
flag=1;
}
else
{
flag=0;
}
}
}
if(flag==0) //低电平标识判断
{
led=0;
if(num==di)
{
num=0;
flag=1;
}
}
}这个电路可以把无线遥控换成开关,就是手电筒的驱动电路了。谢谢大家看完贴子,哪里有错误或可以修改的,希望大家积极指出,互相学习,谢谢大家!
我自己在单片机和自己熟悉的行业上做了快10年了,不说自己的水平怎么样。说牛不牛,说不牛也牛,该骄傲的时候还是要骄傲的,那是对自己的肯定。该谦虚的时候也要谦虚学习,毕竟单片机是一个系统工程,方方面面的东西不是自己都能熟悉和精确把握的。要想自己混的不错,还是那句话——“和自己所处的行业结合,那才是王道。”
来自:http://www.geekfans.com/thread-77982-1-1.html
点击"阅读原文"进入.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >