使用赛元单片机“sc92f742x”实现LED灯的呼吸效果
生活随笔
收集整理的這篇文章主要介紹了
使用赛元单片机“sc92f742x”实现LED灯的呼吸效果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#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/FOSCPWM_Init(PWM_PRESSEL_FSYS_D2, 159); PWM_OutputStateConfig(PWM3, PWM_OUTPUTSTATE_ENABLE);//使能PWM3PWM_IndependentModeConfig(PWM3, 0); //PWM3占空比設置為0PWM_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灯的呼吸效果的全部內容,希望文章能夠幫你解決所遇到的問題。