粉丝856获赞2429

本期视频将介绍使用 pwm 定时器实现呼吸灯的效果,以及更新中断的使用。什么是呼吸灯?呼吸灯就是 led 由暗到亮,再由亮到暗的这种变化效果。 点亮 led 很简单, io 口给低电瓶就可以点亮,给高电瓶就熄灭。那怎么才能控制它的亮度呢?当然,如果减少 led 的电压或电流,都可以改变它的亮度。 还有一种办法就是相同的时间内减少 led 点亮的时间,比如一秒内如果 led 常亮的话,就是这种亮度, 那假如一秒内 led 亮灭一百次,那么一秒内 led 点亮了一百次,熄灭了一百次,每次亮和灭都是五毫秒,那么 led 实际点亮的时间就只有零点五秒,这个时候他的亮度是 这样的,比常亮状态要暗一些。再假如一秒内 led 还是亮灭一百次,每次点亮三毫秒,熄灭七毫秒,那么 led 实际点亮的时间就是零点三秒, led 就会更暗一些。 同理,如果每次点亮一毫秒,熄灭九毫秒, led 就会更暗。下面分析一下这几个状态的波形。首先,一秒内亮灭一百次,那么亮灭一次的时间就是十毫秒,也就是波形周期等于十毫秒, 每次亮灭都是五毫秒,低电瓶和高电瓶各五毫秒,高电瓶占空比百分之五十,每次亮三毫秒,灭七毫秒,高电瓶占空比百分之七十,亮一毫秒灭九毫秒,高电瓶占空比百分之九十。也就是说高电瓶占空比越大, led 越暗,高电屏占空笔越小, led 越亮,那么就可以使用 pwm 输出一路波形,让占空笔从一百慢慢减小到零, led 就会从暗到亮, 再让占空笔从零慢慢增加到一百, led 就会由亮变暗。下面看下代码,系统时钟十二兆,对系统时钟一百二十分频周期十毫秒,对应的计数值就是一千。设置一个变量丢体来控制占空笔, 因为开发版的 led 是在 pr 口这里使用 ps 计算器将 pwm ep 银角切换到 pr 点零,使用 pscr 计存器对系统失踪分屏 清零。 c c e r 计算器关闭通道,设置补货比较通道。 c c e 为输出 p w m 模式一使能 c c e 通道, 用 c c r 计算器设置初始占空比一百 l e d 熄灭,用 a r r 计算器设置周期十毫秒,使能 p w m e p 引角输出,使能主输出,使能更新中断并启动 p w m 电视器。计数器默认是向上技术。 pw 中段函数,中段号二十六,使用 sr 计算器判断更新中段标志位是否之一之一的话,说明发生更新中段清零,更新中段标志。呼吸灯由暗到亮和由亮到暗两个状态,设置一个状态标志,标志为零,就是由暗到亮的过程。 占空笔每次减十标志为一,就是由亮到暗的过程。占空笔每次加十,从十加到一千也就需要一百次,每次十毫秒,也就是一秒。 led 一个呼吸效果总时间就是两秒。代码可以在 s t c 官方论坛下载,搜索布丁局长找到对应的代码即可下载。

今天我写了一个简易的呼吸灯程序,我们看一下效果,大家记住了,这个呼吸的速度啊,我们待会改一下这个程序,速度快一点,看一看效果, 我们改一下这个值啊,从十调整到五,速度快一倍,我们编一下 没有问题,打开下载软件下载, 这时候我们要把这个电源断开,重新上电。 好,接下来我们再看一下这个速度啊,已经快了。



