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

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

3天内不再提示

LED调光的基本原理

CHANBAEK 来源:科创追梦者 作者:谢士金 2023-11-02 15:20 次阅读

在我们的现在生活中,LED灯照明已经在到处都能看到。LED灯具有节能、耐用、可调光等特点,取代了过去落后的白炽灯。那么,为什么LED的灯光可调呢?

下面我就向大家介绍LED调光的基本原理-脉宽调制,也就PWM。

在我们的本节内容中,我还是利用之前的电路来展示PWM的基本工作原理

一、STC15W408AS控制LED灯电路

在电路中,LED指示灯接在单片机的P3.2口上。

图片

二、脉宽调制(PWM)基本原理

所谓脉宽调制,就是利用电路中的开关器件的通断来进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或者所需要的波形。

从下图中,我们可以看出,这里有三种不同的波形。这些波形具有重复性,也就是我们通常所说的周期。在专业术语中,一个周期所占用的时间,就叫做一个脉宽。其中,高电平所占整个脉宽的比例,就叫做占宽比。下图中,就是占空比分别为75%、50%和20%的波形。

图片

三、利用定时器来生成PWM波形的方法

我们在了解了PWM波形的基本概念后,就可以利用单片机的定时器来生成PWM波形。

如果要利用定时器来生成PWM,则首先要确定PWM波形的脉冲宽度(比如10MS),然后确定在这个脉冲中,高电平所占的时间宽度(比如2MS),则剩下的时间就是低电平时间(比如8MS),也就是占空比为20%,如上图中的第三种波形。

现在假设我们使用的定时器是1MS中断一次,那么要得到10MS的脉冲宽度,就需要计数10次,也就中断10次。基中高电平计数4次,低电平计数6次。

也就是开始计数时让输出为高电平,当计数到4次后,再让输出变为低电平,直到计数到10次,再重复这个过程。

这样,我们就得到了一系列宽度为10MS,占空比是是40%的脉冲。

四、利用定时器生成PWM波形相关代码

int mPulseCnt=0;

// 1ms

void Timer0_ISR (void) interrupt 1

{

        mPulseCnt=mPulseCnt+1;

        if(mPulseCnt<=4)

        {

                PinLed_High();

        }else{

                PinLed_Low();

        }

        if(mPulseCnt==10)

        {

                mPulseCnt=0;

        }

}

五、利用定时器来生成PWM波形的完整代码

#define FOSC 11059200L

#define T1MS (65536-FOSC/1000)      // 1 T模式

#define BIT0 0x01

#define BIT1 0x02

#define BIT2 0x04

#define BIT3 0x08

#define BIT4 0x10

#define BIT5 0x20

#define BIT6 0x40

#define BIT7 0x80

#define TRUE 1

#define FALSE 0

#define Pin_LED P32

#define Pin_LED_M1 P3M1

#define Pin_LED_M0 P3M0

#define Pin_LED_BIT BIT2

#define PinLed_High() Pin_LED=1

#define PinLed_Low() Pin_LED=0

#define BOOL unsigned char

#define UINT unsigned int



UINT mTimer500ms=0;

void PinLED_DirOut(void);

void Timer0_Init(void);



BOOL bLedon=FALSE;

int mPulseCnt=0;

void main(void)

{

        PinLED_DirOut();

        PinLed_High();

        Timer0_Init();

        while(TRUE)

        {

        }     

}

void PinLED_DirOut(void)

{

        Pin_LED_M1 &=~Pin_LED_BIT;

        Pin_LED_M0 |=Pin_LED_BIT;

}

void Timer0_Init(void)

{

        AUXR |= 0x80;                   //定时器0为1T模式

        TMOD = 0x00;                    //设置定时器为模式0(16位自动重装载)

        TL0 = T1MS;                     //初始化计时值

        TH0 = T1MS > > 8;

        TR0 = 1;                        //定时器0开始计时

        ET0 = 1;                        //使能定时器0中断

        EA = 1;

}

// 1ms

void Timer0_ISR (void) interrupt 1

{

        mPulseCnt=mPulseCnt+1;

        if(mPulseCnt<=4)

        {

                PinLed_High();                   

        }else{

                PinLed_Low();             

        }



        if(mPulseCnt==10)

        {

                mPulseCnt=0;

        }

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

    关注

    6001

    文章

    43973

    浏览量

    620847
  • led灯
    +关注

    关注

    22

    文章

    1554

    浏览量

    107031
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4900

    浏览量

    209906
  • 脉宽调制
    +关注

    关注

    3

    文章

    204

    浏览量

    38048
  • LED调光
    +关注

    关注

    0

    文章

    56

    浏览量

    16187
收藏 人收藏

    评论

    相关推荐

    步进电机基本原理

    本帖最后由 eehome 于 2013-1-5 09:48 编辑 步进电机基本原理
    发表于 08-16 16:17

    串联谐振逆变器的基本原理

    串联谐振通常伴有逆变器。该组合称为串联谐振逆变器。什么是基本原理?让我简要介绍串联谐振逆变器的一些基本原理。]首先给你看一张图片:
    发表于 11-07 10:21

    IC测试基本原理是什么?

    IC测试基本原理是什么?ATE测试向量是什么?
    发表于 05-07 06:43

    IC测试的基本原理是什么?

    本文详细介绍了芯片开发和生产过程中的IC测试基本原理
    发表于 05-08 07:33

    TSP控制的基本原理是什么?

    TSP控制的基本原理是什么?
    发表于 05-11 06:39

    电机转动的基本原理是什么?

    电机转动的基本原理是什么?电机运动的基本原则有哪些?
    发表于 07-21 07:59

    线性电源的基本原理是什么

    多路线性电源 AC-DC稳压电源 低纹波电源 可调线性电源 原理图PCB目录多路线性电源 AC-DC稳压电源 低纹波电源 可调线性电源 原理图PCB基本原理芯片选型原理图&3D-PCB具体
    发表于 07-30 07:47

    无线充电的基本原理是什么

    一 、无线充电基本原理无线充电的基本原理就是我们平时常用的开关电源原理,区别在于没有磁介质耦合,那么我们需要利用磁共振的方式提高耦合效率,具体方法是在发送端和接收端线圈串并联电容,是发送线圈处理谐振
    发表于 09-15 06:01

    RAID技术的基本原理是什么

    RAID技术的基本原理是什么?RAID技术有哪几个优势?
    发表于 10-14 12:01

    PIC16F15323单片机的基本原理

    PIC16F15323单片机 (ADC)1 基本原理1.1 寄存器介绍1.2 寄存器汇总1.3 ADC采集实现框图2 实现代码1 基本原理1.1 寄存器介绍1.2 寄存器汇总1.3 ADC采集实现
    发表于 11-24 07:05

    IIC的基本原理是什么?

    IIC的基本原理是什么?
    发表于 11-25 08:46

    串口通信基本原理是什么?

    串口通信基本原理是什么?串行通信的分类有哪些?
    发表于 12-03 06:08

    EXTI的使用方法及基本原理

    介绍EXTI的使用方法及基本原理并且包括实验通过按键中断控制led灯的亮灭
    发表于 12-06 07:57

    串口通信的基本原理是什么?

    同步通信和异步通信的区别是什么?串口通信的基本原理是什么?
    发表于 12-13 06:46

    步进马达基本原理

    步进马达基本原理步进马达基本原理步进马达基本原理
    发表于 11-30 11:55 8次下载