① 如何用单片机控制大功率led照明亮度
方法1:
用8050的三极管做开关电路,三极管的基极接P2.0,然后用集电极通过LED接5v电源,发射极通过220欧姆电阻接地。执行SETB P2.0 指令可以点亮led。
方法2:
用P1.0直接驱动led,应该让led另一端通过220欧姆电阻接5v电源,执行CLR P1.0 指令
会点亮led。
单片机简介:
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
② 怎样利用滑动变阻器改变灯泡的亮度
正确连接升蔽举滑动变阻器,即两个接头不能在一条水平吵碧线上,左右滑动变阻器,通过改变连入的电阻量改变电路中的电流大小并誉,改变灯泡的亮度!
③ 单片机控制led灯亮度原理
让单片机控制LED的引脚以较高频率(50HZ以上)输出方波,改变方波的占空比即可改变LED的平均电压,从而改变LED的亮度,也就是我们常说的PWM调节。
④ 求教如何用单片机控制LED灯的亮度
控制ked亮度不难,你硬件直接连连接好led灯,串个限流电阻。如果引脚一直给电平那么灯肯定最亮,那你如果改变给灯的时间灯就能调亮度了,如你用定时器或者延时多少个时间引脚电平取反一次。例如每间隔1毫秒电平取反一次就可以改变亮度。那你在用个变量值来给这个时间赋值。就能调亮度了啊,比如你接个电位器电位器值改变你程序你就让定时器时间也相应跟着变动
程序名称:一只按键控制两只LED灯十种亮度显示
编程人:xx
备注:此程序简单
#include<stc12c2052ad.h>
*** it d1=P1^7;、、 定义LED灯1
*** it d2=P1^6; 定义LED灯2
*** it key1=P3^0; 定义按键灯
void delay(unsigned int a){ 延时程序
unsigned int i;
while( a-- != 0){
for(i = 0; i < 100; i++);
}
}
void main(){
while(1){
unsigned int a,b,c,d;
if(key1==0)d++; 按键判断
switch(d) 按键信息比较
{
case 1: b=9;;a=1;break;
case 2: b=8;;a=2;break;
case 3: b=7;;a=3;break;
case 4: b=6;;a=4;break;
case 5: b=5;;a=5;break;
case 6: b=4;;a=6;break;
case 7: b=3;;a=7;break;
case 8: b=2;;a=8;break;
case 9: b=1;;a=9;break;
}
while(key1==0); 判判断按键是否松开
if(d==10)d=0; 按键9种亮度判断,是否是第9种,如果是,则d=0
for(c=0;c<2;c++){ 亮度模式循环显示
d1=0;
d2=1;
delay(a);
d1=1;
d2=0;
delay(b);
}
}
}
、2010.10.05 20;06修改
此程序是我写的简单程序,已做过实验,并且通过!
用pic的脉宽调制功能就可以了,只需要给单片机不同的占空比的值,单片机就可以产生不同占空比的信号,将这个信号用三极管放大驱动LED就行了。还有什么问题可以给我留言
第一,要理解中断在这里的作用是固定的“一小段”时间进入一次。 第二,PWM_ON在程序中的作用很大,它会由0------>CYCLE------>0并且一直循环下去。可以把它看成一个有规律的变化的量。 第三,每进入中断一次count++,满足条件count==PWM_ON或coun..
接好单片机的硬件电路,然后编写程序,再然后烧写程序,然后就可以程序了,没问题的话就可以按你的要求点亮了
# include<reg51.h>
void delay(unsigned int j)
{
unsigned int i;
for (;j>0;j--)
{
for(i=0;i<1000;i++)
;
}
}
void main()
{
while(1)
{
P1^0=0;
delay(100);
P1^0=1;
delay(100);具体数值根据你单片机晶振频率而定
}
}
原理是PWM波占空比不同,其功率亦不同,只要PWM频率很大,人眼分辨不出其闪烁,就可通过控制占空比(高电平时间和周期之比)的大小来控制其亮度。
才用PWM调制
LED灯不好控制亮度,在电流变化较大的范围中,亮度变化不明显
如果是电灯泡还可以的
控制LED灯的亮度 这个其实有难度的, 先练习声音控制开关灯,成功后再考虑控制亮度
LED亮度是通过的电流决定的,控制亮度其实就是控制电流.这一点至今没办法做到便宜又简单.
当然,也有种简易的办法是PWM控制亮关比,优点是容易,缺点是闪烁.
还有就是目前灯亮度有几种控制方式,连续变化的贵,高中低分档位的便宜些.
void main()
{
unsigned int temp,i;
temp=1;
while(1)
{
P1=temp&0x00ff; 取temp低8位
P2=(temp&0xff00)>>8; 取temp高8位
for(i=0;i<65535;i++)
{} 延时
if(temp!=0x8000)
temp<<=1; temp左移一位
else temp=1;
}
}
如果不需要控制转速,一个三极管一个继电器就可以控制马达了。
⑤ AT89c51单片机根据滑动变阻器电阻大小控制两灯变换亮的程序程序
呵呵
为你更正一下,应该是AT89c51单片机利用2个按键来控制两灯的亮灭或亮度悔纯。
原因:
1
机根据滑动变阻器电阻大小,就可以改变电压的大小,就可以控制两灯亮度了。
也没有必要再使用单片机了。
2
单片机的按键不但可以控制小灯的亮灭还可以控制亮度。
即由按键控制修改送给小灯的脉冲信磨前者号的脉冲宽度(占空比)
如果满意话瞎薯
请选择满意回答
⑥ 如何用滑动变阻器改变灯的亮度
这个实验一个定值电阻,和岩枯昌一个滑动变阻器(串联)电流表接总路,电压表测定值电阻电败锋压
实验步骤是:
1,按照设计的电路图连接电路;并使滑动变阻器阻值最大。
2,闭合开关S,分别用电压表测出定值电阻两端电压记录为u1,电流表测出通过定值电阻的电流为I1,记入表格中;
3,调粗扒节几次滑动变阻器,分别用电压表测出定值电阻两端电压记录为u2,电流表测出通过定值电阻的电流为I2,记入表格中。
4 重复步骤3,在改变4次滑动变阻器,分别记录为U3-U6 I3-I6
5 分析论证
⑦ 单片机控制led灯亮度原理
单片机控制LED亮度原理:控制单片机输出pwm信号的占空比,占空比越大,灯越亮。反之,越暗。
⑧ 如何用单片机控制LED灯的亮度,不要PWM波的程序
//程序羡笑滚名称:一只按键控制两只LED灯十种亮度显示
//编程人:xx
//备注:此程序简单
#include<stc12c2052ad.h>
sbit d1=P1^7;、、 //升盯定义LED灯1
sbit d2=P1^6; //定义LED灯2
sbit key1=P3^0; //定义按键灯
void delay(unsigned int a){ //延时程序
unsigned int i;
while( a-- != 0){
for(i = 0; i < 100; i++);
}
}
void main(){
while(1){
unsigned int a,b,c,d;
if(key1==0)d++; //按键判断
switch(d) //兄余按键信息比较
{
case 1: b=9;;a=1;break;
case 2: b=8;;a=2;break;
case 3: b=7;;a=3;break;
case 4: b=6;;a=4;break;
case 5: b=5;;a=5;break;
case 6: b=4;;a=6;break;
case 7: b=3;;a=7;break;
case 8: b=2;;a=8;break;
case 9: b=1;;a=9;break;
}
while(key1==0); 判//判断按键是否松开
if(d==10)d=0; //按键9种亮度判断,是否是第9种,如果是,则d=0
for(c=0;c<2;c++){ //亮度模式循环显示
d1=0;
d2=1;
delay(a);
d1=1;
d2=0;
delay(b);
}
}
}
、//2010.10.05 20;06修改
//此程序是我写的简单程序,已做过实验,并且通过!
⑨ 单片机PWM控制LED亮度
【1】任何一款单片机都能输出PWM波,即脉冲宽度调制器。用定时器即可输出占空比变化的方波。
【2】LED亮度调节,首先应当明确LED的伏安特性曲线。还要知道项目中有没有多基色要求、LED灯数量、它们的连接方式。
【3】用PWM控制,应该控制的实际LED驱动电路为恒压驱动方式。
【4】以最简单的单个LED亮度调节为例,一个PNP三极管和基极电阻就搞定了。先根据伏安特性,确定一个最大工作电压和电流点。用对应的电阻串接直流电流表代替LED做实验。产生的方波最小占空比为工作电压(如2.0V)除以电源电压(如5.0V)。控制方波,用示波器、电流表检验调节情况。最后用LED代换。为防止单片机方波失效烧坏LED,后期增加限流电路(如5mA恒流源)保护LED。
⑩ 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上
然后就可以做 串口通信了
每一片都可以发送数据,然后另一片在串口接收中断中处理数据