❶ 单片机可以用可控硅调光吗,相比pwm调光缺点是什么
1、现在很多单片机都有PWM输出口。
2、可控硅也是可以用于PWM控制的。
3、PWM是脉宽开关调制,没有PWM接口的单片机也是可以用软件模拟的。
4、估计你的意思是单片机控制模拟电压线性调光,这个功能单片机是可以实现的。
5、线性电压调光没有频闪,保护眼睛;
缺点是电路复杂、成本高。
6、PWM调光有频闪,危害眼睛。
❷ 设计一个STC51单片机控制的RGB三基色LED灯光模式控制系统。
你最起码要做一个恒流源,给LED供电。D/A转换模块。控制电流的大小。然后调节个个灯的电流变化就可以了,应该有那种调光IC卖的,让单片机直接控制调光IC就可以了。
调光IC自带恒流输出,这样就省事了。
❸ 有谁知道,怎么用电位器连接单片机控制调光的
这种电位器是模拟信号,需要转化为数字编码,所以需要AD采样。单片机内部集成AD即可。
对于调光来说一般是用PWM控制,外面需要接一个功率开关比如可控硅什么的器件
❹ 51单片机pwm调光电路
51单片机pwm调光电路参考源程序:
int potpin=0;//定义模拟接口0
int ledpin=11;//定义数字接口11(PWM 输出)
int val=0;// 暂存来自传感器的变量数值
void setup()
{
pinMode(ledpin,OUTPUT);//定义数字接口11 为输出
Serial.begin(9600);//设置波特率为9600
//注意:模拟接口自动设置为输入
}
void loop()
{
val=analogRead(potpin);// 读取传感器的模拟值并赋值给val
Serial.println(val);//显示val 变量
analogWrite(ledpin,val/4);// 打开LED 并设置亮度(PWM 输__________出最大值255)
delay(10);//延时0.01 秒
}
原理图:
PWM简介:
Pulse Width Molation 就是通常所说的PWM,译为脉冲宽度调制,简称脉宽调制。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,由于计算机不能输出模拟电压,只能输出0 或5V 的的数字电压值,我们就通过使用高分辨率计数器,利用方波的占空比被调制的方法来对一个具体模拟信号的电平进行编码。
❺ 51单片机 PWM LED 调光程序,请高人帮忙讲一下执行过程,重点是CYCLE、PWM_ON是怎样的变化的。
CYCLE=10;在初始化中,在程序中不会改变;pwm周期
PWM_ON只在主循环来改变;延时程序很长delay(1000); 中断函数执行很多次,第一次count=0时,就把led灭了,当PWM_ON=2时,有了亮度,此亮度保持到,PWM_ON=2,加亮,直到PWM_ON=10,最亮,开始执行变暗程序。
❻ 单片机可控硅调光,网上找了好久都没有详细解答
啊呀,你可以很简单的处理:R3你取2.4K,然后R4取330可以,但是你这大唯个电路可以打开,是关不断的,所以,不论你怎么PWM波形升吵,都是打开状态,你需要重新设计一个电路。将R4串在可控硅的G极与MOC3021的4脚之间,而不是滚笑培现在这样的跨接。
另外,你要调节的是占空比,所以,你最好直接使用自己弄的零点采样电路,使用LM358来弄,然后根据50hz周期,在0-10ms延时打开导通角。
❼ 51单片机怎样控制LED的光亮度
pwm,用定时器T1溢出做pwm周期,在每次T1开始计数时触发输出,软件边增1计数边检查溢出标志。如果软件计数满则清输出,否则直到溢出清输出、清软件计数满值。改变软件计数满值就能改变亮度。
频率50HZ,周期是20ms
看你调节的精度 如定时器定时1ms,高电平宽度一次变化是5%
如果想要调节精度高,定时器定时时间小,就要频繁地发生中断,会影响主程序的运行
如 要求占空比每步调节为1%,则定时器就要定时200us,对于CpU的影响就比较大了
这时自动重装模式可以缩短中断程序占用时间,但如果再提高PWM的频率,自动重装模式也十分吃力,因此许多增强型51单片机有硬件PWM功能
LED是电流控制器件, 而不能说成电压控制,调节电压的大小也能控制啊(电压越大亮度超高),
1、PWM是脉冲宽度调制信号,注意其中的“宽度”,就是脉冲的高电平的时间。PWM信号调节LED亮度时,信号频率是不变的,改变的是脉冲的高电平的时间,即LED的导通时间。这种信号调节亮度相当于调节LED的平均电流,所以电流会变化。
2、从LED的V-I特性可知,其曲线是非线性的,0.1V的电压可造成100~200mA的If的变化,不易控制;另外,LED具有负温度系数特性,所以,一般将LED说成是电流控制型器件。至于你将LED串接在电源模块上,当输出电压恒定时,是恒压源驱动LED吧,这样调节LED亮度时,需要对输出电压进行分压,以降低LED的压降才能改变其亮度,恒压源的电流是有一个最大输出值的,不能调节的,不知你用什么方法调节其输出电流的?
3、用MCU比较方便,成本是稍高,也可以用模拟电子线路产生相应的PWM信号。
用PWM控制有几点好处.
1 ): 可以自动适应输入电压范围.即使输入电压低于LED的点亮电压.LED仍然正常发光.
2 ):恒流.LED是半导体器件.对温度很敏感.普通限流电路在其温度变化时无法及时控制LED负载的电流.当温度上升到一定程度.LED会被烧毁. 而PWM电路大多集成恒流源.使其电流始终保持在你设置的范围内.
是求程序还是求啥?邮箱也没有
可以用移位命令来实现,比如说LED接口为P0
那么共阴极就是 P0=(P0>>1)||0X80;
移位函数来实现是最简单的就是 intrinis
可通过按钮的动作改变输出LED连接脚的脉宽来控制led灯的渐亮
单片机只能产生两个电平的信号,因此要控制LED亮度要靠LED点亮的频率,频率越高亮度越亮。如果你愿意取得更好的效果的话还可以使用DA芯片,当然需要更多的知识。
那就要看这100个LED是想同时亮,还是一个一个地亮了。
要同时亮,就串联或并联都行,就相当于控制一个。
要是一个一个地亮,那就得有100个控制点了。这得需要扩展I/O接口了,简单可行的,用13片74HC595,每个595带8个LED。
再要看这100个LED是怎么排列的,要是能排列成矩阵,就可以节省I/O接口了,就可以少用几片74HC595了。
用C语言中产生随机数的方法每次产生一个0~255间的一个随机数,然后赋值给P0口
第一片单片机的TXD连接到第二片单片机的RXD上
第一片单片机的RXD连接到第二片单片机的TXD上
然后就可以做 串口通信了
每一片都可以发送数据,然后另一片在串口接收中断中处理数据
❽ 怎样用8051单片机实现LED灯光亮度的10级调节,每按一次,LED亮度增大一级。(PWM调光)请附上程序,谢谢
咱空比调节. 首先确定你的控制周槐蠢世期.比档源如1s,按照10级别可调,分为1-10 .1级的意铅肢思是
亮100ms 暗900ms,(1s也就是1000ms),也就是占空比为10%,
2级,20%,亮200ms,暗800ms,
......
同理9级, 亮900ms,暗100ms;
10级,亮1000ms,暗0ms;
写出程序很简单,
点亮程序
while(1)
{
LED = ON;
_delay_ms( ON_ms);
LED = OFF;
_delay_ms(OFF_MS);
}
设置程序;
#define ADD 0
#define DEC 1
void tune_led( u08 add_or_dec )
{
if( add_or_dec == ADD )
{
ON_MS + = 100;//每加一次递进100ms,最高1000ms
if( ON_MS >=1000)
ON_MS =1000;
OFF_MS = 1000- ON_MS;
}
else
{
if( ON_MS >=100 )
{
ON_MS = ON_MS -100;
}
OFF_MS =1000-ON_MS;
}
,需要调节时,可以把此函数在按键处理或其他事件处理中调用.
1000ms的周期只是一种举例,根据实际需要可以调节 根据显示的现实性,可以改到50-20ms左右,
防止产生闪烁,
如果改用单片机的硬件pwm 那就更加简单了
❾ 如何用单片机控制LED 想让LED发出不同颜色的光 怎么用单片机进行控制
听你的问题应该是刚入门不久的,如果可以的话,用三基色LED做,用PWM调光,实现全彩色显示。
❿ 单片机PWM调光原理
1.PWM
脉冲宽度调制(PWM),是英文“Pulse Width Molation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
2.单片机中的PWM
指的是此单片机有部分I/O口具有输出PWM信号的功能。
比如说部分单片机的I/O口可以输出时钟信号,时钟信号的脉宽和占空皮可调,可以根据实际需要调整寄存器位来设定。
3.基本思想就是利用单片机具有的PWM端口,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电流。以此来调整亮度