pbdata.h文件中的程序- #ifndef _PBDATA_H//宏定义,定义文件名称
- #define _PBDATA_H
- #include "stm8s.h"//引入STM8的头文件
- #include "led.h" //引用LED头文件
- #include "tim1_pwm.h" //引用定时器头文件
- void delay_us(u16 nCount); //微秒延时程序
- void delay_ms(u16 nCount); //毫秒延时程序
- #endif //定义文件名称结束
tim1-pwm.c文件中的程序- #include "pbdata.h"
- /***************************************************************************
- * 函 数 名: Tim1_PWM_Init
- * 功能说明: 初始化高级定时器1
- * 形 参:无
- * 返 回 值: 无
- ***************************************************************************/
- void Tim1_PWM_Init(void)
- {
- TIM1_TimeBaseInit(15,TIM1_COUNTERMODE_UP,2000,0);//初始化定时器1
- TIM1_ARRPreloadConfig(ENABLE);//使能自动重装 TIM1_OC1Init(TIM1_OCMODE_PWM2,TIM1_OUTPUTSTATE_ENABLE,TIM1_OUTPUTNSTATE_ENABLE,1000,TIM1_OCPOLARITY_LOW,TIM1_OCNPOLARITY_LOW,TIM1_OCIDLESTATE_SET,TIM1_OCNIDLESTATE_SET);
- TIM1_Cmd(ENABLE);//开定时器
- TIM1_CtrlPWMOutputs(ENABLE);//使能PWM主输出
- }
- void Tim1_PWM_Demo1(void)
- {
- u8 i=0;
- for(i=1;i<20;i++)
- {
- TIM1_SetCompare1(i*100);//设置占空比
- delay_ms(1000);
- }
- }
|