172|0

1125

帖子

0

资源

纯净的硅(中级)

微控制器MCU处理LED亮度控制原理 [复制链接]

     微控制器MCU通常被认为是数字器件。在缺省情况下,其输出电压电平要么是高,要么就是低,不会是一个不高不低值。为了实现LED亮度控制这一要求,首先浮现在脑海中的方法就是使用一个标准的数模转换器或者设计一个受控的电阻网络。值得庆幸的是,大多数现代MCU都具有内置的脉冲宽度调制(PWM)单元,这是解决该问题的最容易和成本最低的方法。
根据我们的项目要求,两个LED的亮度必须在几秒钟的时间内以相反的顺序逐渐从最暗调整到最亮,再从最亮逐渐调整到最暗。在"匀变1"时间内,针对LED 1的PWM信号的脉冲宽度逐渐增大,而针对LED 2的PWM信号的脉冲宽度逐渐减小。例如,假设匀变时间等于2秒并由128个向上/向下步长组成。因此,每个步长持续大约16ms。请注意,脉冲宽度应当在一个PWM周期内仅改变一次。因此,PWM周期也应该等于16ms。
     我们使用了低端8位摩托罗拉MC68HC908-QT2 Flash MCU,该器件内嵌有振荡器。其振荡频率为12.8MHz,并且预分频器的分频比在程序中设定为1:64,定时器时钟周期为0.02 ms。那么,为了生成周期为16ms的PWM,要载入定时器/计数器方式寄存器(Tmod)的时钟数应等于16/0.02 = 800(等于十六进制的$0320)。

      最大脉冲宽度(PWmax)可以小于或等于PWM周期。考虑PWmax大约等于15ms的情况。对于128个步长的情况,要从零获得此最大值,每个步长值应为15/128 = 0.117ms,舍入之后为0.12ms。由此我们可以得出PWmax = 15.36 ms,相当于PWM周期的96%。因此在每一步长中,PW应以0.12ms(等于0.12/0.02 = 6个定时器时钟)的增量向上/向下匀变。

     任何一种带有PWM的MCU和任何一种定时考虑方法可用来实现这一技术。应根据使用的LED来选择电阻R1 和 R2。管脚pA2 =1时用来激活亮度控制,管脚pA2 =0时用来关闭亮度控制。


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/4 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表