呼吸灯的软件是系统设计的重点,其主要功能是要输出合适的PWM波形来驱动三极管开关以使得RCL电路上获得适当的电源,而输出PWM波形的重点是对于PIC单片机的定时计数器的控制。
呼吸灯需要输出的PWM波形应该是一个脉冲宽度逐步增加,然后逐步减小的脉冲序列,可以使用定时计数器来控制完成,其软件流程如图1.22所示。
图1.22 呼吸灯的软件流程图
呼吸灯的应用代码如例1.1所示。
【例1.1】 呼吸灯的应用代码。
应用代码定义了一个标志位ArrowFlg,使用其来判别计数方向,当到达输出波形的最大宽度或者最小宽度时,修改这个标志位,然后在进行相应的计数之前,对该标志位进行判断,以决定增加计数器upCounter和减小计数器downCounter的计数方向。