您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子元器件>发光二极管>

定时器中断程序 - 一种多功能LED台灯设计方案

2012年05月02日 10:45 本站整理 作者:秩名 用户评论(0
2.4 定时器中断程序

  为产生调节 LED 灯光亮度的PWM 信号,定时器T0 设置为工作方式0,即13 位计数器定时,最多装载数值为213=8192 个。因为系统晶振采用12MHz,赋值使TH0=(8192-400)/ 32 与 TL0=(8192-400)%32,即可实现400μ S 的定时中断。10 次中断(即4mS)作为一个周期,通过调节每个周期内单片机P1.1(该控制口名称定义为LED_PWM)输出的占空比来产生PWM 脉冲信号,以控制PT4115 恒流驱动芯片实现LED 灯的10 级亮度调节。

  程序设置对T0 中断次数(即定义为T0_num)进行计数,以便判断一个周期到否;同时判断比较高电平脉冲个数(即定义为scale 值,由调光键S6 按下次数设置)用于实现不同亮度等级的调节。在定时器T0 中断服务程序中,首先T0 重新装入定时为400μ S 的初值;定时器中断次数T0_num 加1,判断一个方波周期到否,若到达,令T0_num 归零,并将P1.1口输出电平置高(即LED_PWM=1);如果一个方波周期还没到,则与亮度等级scale 值作比较,判断高电平脉冲个数scale 到否,若到达,令P1.1 口输出电平置低(即LED_PWM=0),否则继续保持P1.1 口输出高电平(即LED_PWM=1);而后中断返回,等待下一次定时中断。

  这样,P1.1 口就产生了所需的PWM 调光信号。定时器生成PWM 流程图如图13所示。

  

图13 定时器生成PWM流程图

 

  图13 定时器生成PWM流程图

  3 实验结果

  根据以上设计方案,本文制作了该款基于PWM 调光的多功能LED 台灯。经调试后系统运行稳定可靠,基本可以满足家庭生活的使用要求。系统工作时,最低功率(即LED 熄灭状态)为0.28W;最大功率(即LED 最高亮度状态)约为1.52W;同时,液晶显示时间、日历与温度数据准确,闹钟功能稳定。实物照片如图14 所示。

  

 

  图 14 实物照片

非常好我支持^.^

(25) 92.6%

不好我反对

(2) 7.4%

( 发表人:diyfans )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!