PWM控制LED亮度变化的原理

通过ARR寄存器来设定预装载值,以确定循环频率和周期,计数器寄存器CNT从0开始计数,设定一个CCR寄存器的值,来跟CNT的计数值进行比较,当CNT的值小于CCR寄存器,输出低电平,当CNT大于CCR的值,小于ARR(还在这一个周期之内),就输出高电平。

特别注意:这种比较结果是对于PWM2的向上计数而言的,对于PWM1而言是相反的,应该要特别注意!!!!!!!!!
PWM输出模式有两个如下
配置相关的寄存器的位是不同的!

当然我们知道,LED得到低电平发光,高电平不发光!
占空比我们已经知道了,就是高电平的时间占整个周期的比值,占空比越高,LED就越暗,所以我们要控制占空比来控制LED亮暗变化!

来看看正点原子的一段代码

 while(1){delay_ms(10);   if(dir)led0pwmval++;else led0pwmval--;if(led0pwmval>300)dir=0;if(led0pwmval==0)dir=1;          TIM_SetCompare2(TIM3,led0pwmval);         }

怎么来控制呢?看到程序里面用设置led0pwmval的值来设定占空比,追根溯源它的那个函数我们看到,它是把led0pwmval(参数为如图Compeare2)的值给了CCR,所以我们看到当led0pwmval值不断从0-300增大时,CCR也不断增大,这也就意味着,低电平占的时间越来越多,所以亮度由暗一直到亮,当然这一个脉冲周期可是很短很短的,所以我们只能看到LED的这种亮度变化了。

以上就是PWM控制LED亮度变化的详细介绍,后续陆续更新,敬请关注!

PWM控制LED亮度变化的原理(超详解)相关推荐

  1. 图解强化学习 原理 超详解 (一)

    强化学习 一.背景 机器学习是人工智能的一个分支,在近30多年已发展为一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.计算复杂性理论等的学科.强化学习(RL)作为机器学习的一个子领域,其灵感来 ...

  2. 图解 生成对抗网络GAN 原理 超详解

    生成对抗网络 一.背景 一般而言,深度学习模型可以分为判别式模型与生成式模型.由于反向传播(Back propagation, BP).Dropout等算法的发明,判别式模型得到了迅速发展.然而,由于 ...

  3. 《深度学习》之 循环神经网络 原理 超详解

    循环神经网络 一.研究背景 1933年,西班牙神经生物学家Rafael Lorente de Nó发现大脑皮层(cerebral cortex)的解剖结构允许刺激在神经回路中循环传递,并由此提出反响回 ...

  4. STM32使用PWM实现led亮度变化

    原理及代码讲解 1.序言 2.频率 3.占空比 4.控制led亮度变化原理 5.代码实例 5.1 初始化引脚 5.2 配置定时器1 5.3配置输出PWM 6.结语 1.序言 这里我以stm32F103 ...

  5. 基于XLINX的PWM控制LED模块设计

    1.原理: PWM脉冲宽度调制,即调节脉冲的占空比.当输出的脉冲频率一定时,输出的脉冲占空比越大,相当于输出的有效电平越大,这样实现由FPGA来控制模拟量. 2.代码实现 PWM控制模块 module ...

  6. 计算机网络原理超详解说

    计算机网络原理超详解说 前言 大家好,我是泰斗贤若如,一个专注于用大白话讲解技术的号主,这次给大家分享计算机网络原理的相关知识,我自认为文章内容已经很通俗易懂了,祝您阅读愉快! 一.计算机网络概述 时 ...

  7. 控制led亮度C语言程序,单片机pwm控制led亮度原理图

    单片机pwm控制led亮度原理图 用51产生PWM去控制LED,首先要确定PWM的周期T和占空比D,确定了这些以后,可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D ...

  8. python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...

    简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑 ...

  9. 计算机网络原理超详解说,你看懂了吗?

    计算机网络原理超详解说 前言 大家好,我是泰斗贤若如,一个专注于用大白话讲解技术的号主,这次给大家分享计算机网络原理的相关知识,我自认为文章内容已经很通俗易懂了,祝您阅读愉快! 一.计算机网络概述 时 ...

最新文章

  1. (转)Mac下MySql安装经历(含安装错误排查、卸载多种折腾)
  2. 清华「计图」迎来重大更新:支持热门的可微渲染,多项CV任务速度超越PyTorch...
  3. linux 内核日志等级,Linux系统中日志级别详情
  4. 查看python版本和安装路径
  5. 高考能否决定一个人的命运?抱歉,真的可以!
  6. 【Elasticsearch】Elasticsearch 理解mapping中的store属性
  7. IOCP模型TCP服务器
  8. Unity5 Roll A Ball项目笔记
  9. 从C#开发人员到Windows Phone 7高级开发人员只需3周 – 序
  10. jquery学习笔记一之window.onload与$(document).ready()区别
  11. eclips 创建 maven项目
  12. android 代码实现back键功能
  13. linux版Nacos安装、集群配置
  14. 开计算机课的积极消极影响,多媒体课件的负面影响及建议
  15. Linux——文件管理(文件系统、目录管理、文件操作)
  16. 为什么要设置HashMap的初始化容量
  17. 直面大数据撞击这个时代——畅享网成功举办大数据应用沙龙
  18. Python订票系统这才是看电影选座的正确方法,原来我们都上当了
  19. 推荐一个强大的工作流自动化工具...
  20. [英语语法]句法之there be结构与强调句

热门文章

  1. 电脑故障(一)台式电脑看网络直播屏幕黑屏
  2. 【计算机网络】学习笔记
  3. 2022年装饰行业市场分析
  4. 岛用海水淡化设备拯救日常用水难
  5. 【汽车制造业】“新三化+新能源”蓝海,加速车企数字化转型进入“深水区”
  6. 分享一个自动刷抖音的代码
  7. linux具有写保护权限的文件,细说Linux权限
  8. python遥控汽车玩具_分享 | 撞坏遥控车后,有个技术大牛爸爸是种怎样的体验
  9. 如何自动删除您的YouTube历史记录
  10. FFmpeg入门详解之83:流媒体与直播技术