#include "sc92f742x_pwm.h"
#include "sc92f742x_gpio.h"
uint8_t code BrightAdjust[47]=
{
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,
3,3,3,3,3,3,3,3,3,3,3,
};
void PWM_INIT(void)
{
PWM_DeInit();
//PWM时钟源1分频,周期为(159+1)*2/FOSC
PWM_Init(PWM_PRESSEL_FSYS_D2, 159);
PWM_OutputStateConfig(PWM3, PWM_OUTPUTSTATE_ENABLE);//使能PWM3
PWM_IndependentModeConfig(PWM3, 0); //PWM3占空比设置为0
PWM_Cmd(ENABLE); //打开PWM总开关
}
void Delay_Some_Time(uint16_t Some_Time)
{
uint16_t i,j;
for(i=Some_Time;i>0;i--)
for(j=100;j>0;j--);
}
/**************************************************
*函数名称:void main(void)
*函数功能:呼吸灯
*入口参数:void
*出口参数:void
*功能说明:无
**************************************************/
void main(void)
{
uint8_t i = 0,Brightness = 0;
PWM_INIT();
while(1)
{
for(i=0;i<47;i++)
{
Brightness = Brightness + BrightAdjust[i];
PWM_IndependentModeConfig(PWM3, Brightness);
Delay_Some_Time(135);
}
Delay_Some_Time(300);
for(i=45;i>0;i--)
{
Brightness = Brightness - BrightAdjust[i];
PWM_IndependentModeConfig(PWM3, Brightness);
Delay_Some_Time(135);
}
PWM_IndependentModeConfig(PWM3, 0);
Brightness = 0;
Delay_Some_Time(3000);
}
}
使用赛元单片机“sc92f742x”实现LED灯的呼吸效果
最新推荐文章于 2024-06-19 18:23:33 发布