//************************************************************ // Copyright (c) 深圳市赛元微电子有限公司 // 文件名称 : PWM // 作者 : // 模块功能 : PWM固件函数库使用示范:PWM0PWM3互补模式启动,设定死区时间,并在中断翻转IO P00 // 局部函数列表: // 最后更正日期: 2018/9/8 // 版本 : V1.0 //************************************************************* #include "sc92f8003_pwm.h" #include "sc92f8003_gpio.h" void PWM_INIT(void) { PWM_Init(PWM_PRESSEL_FOSC_D2, 599); //PWM时钟源2分频,周期为(599+1)*2/FOSC PWM_OutputStateConfig(PWM0, PWM_OUTPUTSTATE_ENABLE);//使能PWM0 PWM_OutputStateConfig(PWM3, PWM_OUTPUTSTATE_ENABLE);//使能PWM3 PWM_PolarityConfig(PWM0, PWM_POLARITY_NON_INVERT); //设置PWM0不反向 PWM_PolarityConfig(PWM3, PWM_POLARITY_INVERT); //设置PWM3反向 PWM_ComplementaryModeConfig(PWM0PWM3, 300); //PWM0PWM3互补设置,占空比设置300/600=1/2 PWM_DeadTimeConfig(15,15); //PWM0上升沿死区时间设置15*2/FOSC,PWM3下降沿死区时间设置15*2/FOSC PWM_Cmd(ENABLE); //打开PWM总开关 PWM_ITConfig(ENABLE, LOW); //打开PWM中断 } void main(void) { GPIO_Init(GPIO2,GPIO_PIN_0,GPIO_MODE_OUT_PP); //P20配置为强推挽模式 GPIO_WriteHigh(GPIO2,GPIO_PIN_0); //P20 = 1 PWM_INIT(); enableInterrupts(); //开总中断 while(1); }