呼吸灯的实现方法

本实验是基于STC8A8K64S4A12上的

呼吸灯,顾名思义就是灯的亮度像人的呼吸一样有节奏的由暗到亮,再又亮到暗,在现代手机中被广泛的应用。

一般来说现在的单片机都带有PWM所以直接用就好了,这里就不对这个做介绍了,这里我们是使用定时器来模拟实现的。

 PWM(脉冲宽度调制)对模拟信 电平进行数字编码的方法,计算机只能输出0或5V的数字电压值而不能输出模拟电压,而我们如果想获得一个模拟电压值,则需通过使用高分辨率计数器,改变方波的占空比来对一个模拟信 的电平进行编码。通过对连接和断开时间的控制,只要带宽足够,可以输出任意不大于最大电压值的模拟电压。

与之相对应的公式为:

                  输出电压=(接通时间/脉冲时间)*最大电压值

这样的话我们可以操作高低电平在相同的带宽内输出不同的电压,从而达到一个连续变化的电压(模拟量),这样就可以满足呼吸灯的效果了。

软件驱动

首先一些变量的声明和初始化一个定时器:

这里没有开中断,一会儿会在主循环里开,下面是中断的处理函数

主函数如下:

这样就OK了,希望对你们有帮助。

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月17日
下一篇 2020年1月17日

相关推荐