0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PWM工作原理之调光灯案例

jf_78858299 来源: MCU学习笔记 作者: 少年不懂编程 2023-05-10 14:29 次阅读

本项目通过单片机I/O口输出一个PWM脉宽调制信号来控制输送到LED灯的电压变化,从而实现控制发光二极管亮度的效果。通过两个按键控制灯的亮度。系统上电时,灯在最暗状态,按住其中一个键,灯的亮度逐渐增强,增到最亮时,再回到最暗;按住另外一个键,灯的亮度逐渐减弱,减到最暗时,再回到最亮。

1、PWM信号

PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,也就是一种周期一定而高低电平可调的方波信号,在一个信号周期中,高电平持续时间的为T1,低电平持续时间的为T2 。

占空比:在一个信号周期中,高电平持续时间与信号周期的比值,即T1/Time。比如,Time=40,T1=20,则占空比=20/40=50%,即方波信号的占空比就是50%.

图片

当输出脉冲的频率(周期的倒数)一定时,输出脉冲的占空比越大,其高电平持续的时间越长,只要改变T1和T2的值,即改变波形的占空比,达到PWM脉宽调制的目的。

**2、如何实现PWM信号输出

**

实现PWM信号输出有两种方式可实现:一是可以直接通过芯片内部模块输出PWM信号,前提是这个I/O口要有集成模块,只需要配置好频率和占空比,简单几步就好了。这种自带有PWM输出的功能模块在程序设计更简便,同时数据更精确。如下图所示,引脚标明PWM的表示硬件支持;

图片

二是通过软件模拟实现PWM输出。如果对PWM频率要求不是很高的话,可以利用I/O口设置一些参数来输出PWM信号。因为PWM信号其实就是一高一低的一系列电平组合在一起。具体方法是通过定时器控制I/O的高低电平,对于你要求输出的PWM信号频率与你的定时器一致,用定时器中断来计数,通过调整计数值来改变占空比,当然如果要求不高也可以通过软件延时来实现。

3、PWM信号应用--调光灯案例

交流调光电路,高电平占多一点,也就是占空比大一点亮度就亮一点,占空比小一点亮度就减弱,前提是PWM的频率要大于我们人眼识别频率,要不然会出现闪烁现象。下面用单片机控制LED亮度,模拟调光灯效果。调光灯电路原理图如下所示,通过S2和S3调整LED的亮度。

图片

软件流程图:单片机上电,首先初始高电平、低电平延时初始值T1=0,T2=500。然后点亮LED,通过软件实现延时时间T1;然后熄灭LED,延时时间T2。由于此时T1=0,占空比最小,此时灯在最暗状态。

图片

全部实现代码如下:

#include

//定义三个位变量,分别对应按键S2、S3

sbit key_plus=P3^2;//LED——count+1

sbit key_minus=P3^3;//LED——count-1

sbit LED=P1^3;

//延时函数

void delay(unsigned int i)

{

unsigned int k;

for(k=0;k
}

void main()

{

//定义一个记录LED亮灯个数变量

int T1,T2;

T1=0;//低电平持续时间
T2=500;//高电平持续时间

//循环处理按键,控制LED亮度
while(1)
{
   LED=0;//点亮LED
     delay(T1);//亮灯延时时间
     LED=1;//熄灭LED
     delay(T2);//熄灭延时时间
    
//判断按键S2的状态,占空比增加
   if(0==key_plus)
     {
         delay(100);//10ms消抖
         if(0==key_plus)//再次检测按键是否按下
         {
             T1++;
             T2--;
                
             if(0==T2)//如果LED灯已经最亮,使其变为最暗
             {
                     T1=0;//低电平持续时间
            T2=500;//高电平持续时间
             }
            
         }
    
     }

//判断按键S3的状态,占空比减小
 if(0==key_minus)
     {
         delay(100);//10ms消抖
         if(0==key_minus)//再次检测按键是否按下
         {
                
             T1--;
             T2++;
                
             if(0==T1)//如果LED灯已经最亮,使其变为最暗
             {
                     T1=500;//低电平持续时间
            T2=0;//高电平持续时间
             }
         }
    
     }
    
}

}

收录于合集 **#**单片机

47

上一篇PWM工作原理----调光灯案例下一篇实用:牛人总结的单片机三种应用程序架构!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5138

    浏览量

    213337
  • 发光二极管
    +关注

    关注

    13

    文章

    1193

    浏览量

    66190
  • 电平
    +关注

    关注

    5

    文章

    358

    浏览量

    39843
  • 脉宽调制
    +关注

    关注

    3

    文章

    215

    浏览量

    38278
收藏 人收藏

    评论

    相关推荐

    led调光ic PWM调光 RGB调光芯片FP7122 无频闪调光芯片

    应用范围:RGB调光调色,DMX512调光,高辉调光,0-10V调光PWM调光
    发表于 10-31 16:37

    LED帕驱动IC共阳高辉PWM调光调色方案H5119L

    调光深度可达0.1% 支持 PWM/模拟/分段调光 可做多路共阳极输出,抗干扰强【惠海半导体H5119L应用】强光手电筒,警示 、电瓶车照明,汽车照明 LCD 背光驱动及洗墙
    发表于 09-23 16:07

    使用NE555的pwm调光电路图

      以下分享的是一种使用定时器IC NE555的简单高效的PWM调光器。过去基于线性稳压器的调光器只能达到 50% 的最大效率,与基于 PWM
    发表于 08-01 16:43

    幸福版调光台灯电路工作原理及维修

    幸福版调光台灯电路工作原理及维修
    发表于 02-01 13:15 1626次阅读
    幸福版<b class='flag-5'>调光</b>台灯电路<b class='flag-5'>工作原理</b>及维修

    自动调光台灯电路工作原理

    自动调光台灯电路工作原理 本文介绍了一种自动调光台灯,它有一只光电探头放在书本附近,可使书本上的照度自动调到合适的数值,既可减少手动调光的麻烦,
    发表于 12-24 18:41 1.2w次阅读
    自动<b class='flag-5'>调光</b>台灯电路<b class='flag-5'>工作原理</b>

    照相机闪光工作原理

    照相机闪光工作原理 照明机闪光分为两种,一种是普通型闪光,另一种是自动调光式闪光。现
    发表于 11-18 09:34 2.3w次阅读

    光照控制自动调光台灯工作原理及制作

    光照控制自动调光台灯工作原理及制作   工作原理 :该电路见图1。当开关S拨向位置2时,它是一个普通调光台灯。RP、C和氖泡N组成张弛
    发表于 12-25 11:41 6058次阅读
    光照控制自动<b class='flag-5'>调光</b>台灯<b class='flag-5'>工作原理</b>及制作

    PWM调光原理与技术及手机蓝牙控制LED的设计

    2.脉冲宽制(PWM调光技术 PWM 调光是一种利用简单的数字脉冲,反复开关LED 驱动器的调光技术。应用者的系统5 需要提供宽、窄不同的
    发表于 10-18 16:58 57次下载

    DIY一个PWM调光的小夜灯

    经常夜里用电脑,或写作、或上网,要是开着没有调光功能的工作台灯,40W的白炽似乎有点明亮了,总会感觉有点防碍了思考,但是关了又会感觉周围暗暗的,连键盘都没法看清。于是自己DIY了一
    的头像 发表于 02-07 05:30 1.5w次阅读
    DIY一个<b class='flag-5'>PWM</b><b class='flag-5'>调光</b>的小夜灯

    基于51单片机白炽PWM调光过零检测不闪设计

    基于51单片机白炽PWM调光过零检测不闪设计
    发表于 11-20 15:21 48次下载
    基于51单片机白炽<b class='flag-5'>灯</b><b class='flag-5'>PWM</b><b class='flag-5'>调光</b>过零检测不闪设计

    使用按钮的PWM调光

    电子发烧友网站提供《使用按钮的PWM调光.zip》资料免费下载
    发表于 07-06 10:22 0次下载
    使用按钮的<b class='flag-5'>PWM</b><b class='flag-5'>调光</b><b class='flag-5'>灯</b>

    模拟调光怎么做 模拟调光电路工作原理

    调光电路是用来控制灯光亮度的电路。它基于调节电流或电压的原理来改变灯光的亮度。 常见的调光电路有两种类型:调节电流的电路和调节电压的电路。
    的头像 发表于 07-31 15:34 2146次阅读

    LED摄影补光无极调光调色芯片 PWM调光深度1%无频闪无抖动方案

    LED摄影补光无极调光调色芯片 PWM调光深度1%无频闪无抖动方案
    的头像 发表于 10-18 10:43 1861次阅读
    LED摄影补光<b class='flag-5'>灯</b>无极<b class='flag-5'>调光</b>调色芯片 <b class='flag-5'>PWM</b><b class='flag-5'>调光</b>深度1%无频闪无抖动方案

    #摄影补光调光芯片#PWM内部转模拟调光,无频闪不抖动,无需MCU

    提供升降压恒流高恒流精度调光IC,调光无频闪,输出支持共阳,调光过程中无任何抖动现象,抗干扰能力强,调光无噪音,支持PWM
    的头像 发表于 10-18 10:02 1844次阅读
    #摄影补光<b class='flag-5'>灯</b><b class='flag-5'>调光</b>芯片#<b class='flag-5'>PWM</b>内部转模拟<b class='flag-5'>调光</b>,无频闪不抖动,无需MCU

    PWM调光器电路图分享

    PWM调光器是一种利用脉冲宽度调制(PWM)技术来调节灯光亮度的设备。其工作原理是通过快速开关灯具的电源,来改变灯具的输入电流的脉冲宽度,
    的头像 发表于 02-07 15:47 3297次阅读
    <b class='flag-5'>PWM</b><b class='flag-5'>灯</b><b class='flag-5'>调光</b>器电路图分享