你好,目前用PWM控制光度的技术革新了,如果你还用光耦双向可控硅调压电路就很过时了,白炽灯可用LED的光源,电路用PWM调光的可恒流的电源如果对成本上升一些不介意,我可给你样品可联系我多谢
#include <reg52h >
#define uchar unsigned char
#define uint unsigned int
sbit s2=P3^7;
sbit s3=P3^6;
sbit fm=P2^3;
uchar pwm,num;
void delay(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void keyscan()
{
if(s2==0)
{
delay(80);
if(s2==0)
{
if(pwm<32)
{
pwm++;
delay(150);
}
else //如果大于32 蜂鸣器想
{
bee( );
}
}
}
if(s3==0)
{
delay(80);
if(s3==0)
{
if(pwm>1)
{
pwm--;
delay(50);
}
else //如果小于1 蜂鸣器想
{
bee( );
}
}
}
}
void init_t0( )
{
TMOD=0x01;
TH0=(65536-500)/256; //500ms
TL0=(65536-500)%256;
EA=1;
ET0=1;
TR0=1;
}
void t0( ) interrupt 1
{
TR0=0; //关计时器
TH0=(65536-500)/256;
TL0=(65536-500)%256;
num++;
if(num>32)
{
num=0;
}
if(num<=pwm )
{
P1=0xff;
}
else
{
P1=0x00;
}
TR0=1;
}
void main( )
{
init_t0( );
num=0;
pwm=0;
while(1)
{
keyscan();
}
}
#include<reg52h>
//端口定义
sbit RED = P2^0;//红光控制端,0点亮
sbit GREEN = P2^1;//绿光控制端,0点亮
sbit BLUE = P2^2;//蓝光控制端,0点亮
//函数声明
void Delay(unsigned int t);
void RGB(unsigned char R ,unsigned char G ,unsigned char B);
//主函数
void main (void)
{
RED = 1 ; GREEN = 1 ; BLUE = 1 ;
//开始时先关闭LED,当然由于单片机上电就输出 1 ,所以可不写
while (1) //主循环
{
//7色光依次逐渐变亮
//改变调用顺序可以改变颜色先后次序
RGB(1,1,0);
RGB(1,0,1);
RGB(1,0,0);
RGB(0,1,1);
RGB(0,1,0);
RGB(0,0,1);
RGB(0,0,0);
}
}
void Delay(unsigned int t)
{
while(--t);
}
//7色光依次逐渐变亮
RGB(unsigned char R ,unsigned char G ,unsigned char B)
{
unsigned int pwm , set = 500 ;
for(pwm=1;pwm<set;pwm++)
{
RED = 1; //熄灭LED
GREEN = 1;
BLUE = 1;
Delay(set-pwm);//延时长度,500次循环中从599减至1
RED = R;
GREEN = G;
BLUE = B;
Delay(pwm);//延时长度,500次循环中从1加至599
}
}
//改变set可以改变变化快慢
//同理你可以写出7色逐渐变暗的程序
这里的程序只是提供一个思路,你如果直接复制粘贴的话会出现格式错误
把每两行中间的空行删掉一般就可消除格式错误
如果再有什么小问题根据编译信息提示稍作修改就行
串电阻的话一般这样算:
R = [ U - U(LED) ] / I
U是LED和电阻总的电压,U(LED)是LED工作电压,I 是LED工作电流,一般10--20mA
电流大小取的适中就行了,再计算要串联的电阻值
以上就是关于单片机接收DMX信号输出PWM控制一路白炽灯亮度变化,接的是光耦双向可控硅调压电路,现需一份C程序。全部的内容,包括:单片机接收DMX信号输出PWM控制一路白炽灯亮度变化,接的是光耦双向可控硅调压电路,现需一份C程序。、想向大神求一个用pwm控制电机转速的程序,程序最好简单点,O(∩_∩)O谢谢、求助,51单片机用PWM的RGB呼吸灯程序怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)