资源简介

STM8 定时器1CH3输出PWM,定时器1CH1,CH3输出PWM,定时器1CH1,CH1N输出互补PWM。定时器2输出3路PWM。定时器4定时中断。

资源截图

代码片段和文件信息

/**************************************************************************
 *  上大电机控制研究所
 * 描述  :定时器输出PWM
 * AUTHOR  :QIAO
 *
* DATE: 2018.08.07
 *************************************************************************/

#include “IOSTM8S103F3.h“
unsigned char i=0j=0k=0;

/**************************************************************************
 * 函数名:Clk_conf
 * 描述  :时钟配置函数
 * 输入  :无
 *
 * 输出  :无
 * 返回  :无 
 * 调用  :外部调用 
 *************************************************************************/
void Clk_conf(void)
{
  CLK_CKDIVR&= (unsigned char)(~0x18);/*使能内部时钟*/
  CLK_CKDIVR|= (unsigned char)0x00;/*设置时钟为内部16M高速时钟*/
  
}
/**************************************************************************
 * 函数名:Init_Timer4
 * 描述  :定时器4配置函数
 * 输入  :无
 *
 * 输出  :无
 * 返回  :无 
 * 调用  :外部调用 
 *************************************************************************/
void Init_Timer4(void)
{
    TIM4_CR1=0x01;//使能计数器
  //TIM4_IER=0x00;
    TIM4_IER=0x01;//更新中断使能
    TIM4_EGR=0x01;
    TIM4_CNTR=255;//计数器值
    TIM4_ARR=255;//自动重装的值
    TIM4_PSCR=0x07;//分频值

}
/**************************************************************************
 * 函数名:Init_GPIO
 * 描述  :IO配置函数PWM输出引脚定义为输出,推挽,低速
 * 输入  :无
 *
 * 输出  :无
 * 返回  :无 
 * 调用  :外部调用 
 *************************************************************************/
void Init_GPIO(void)
{
    PB_DDR|=0x20;
    PB_CR1|=0x20;
    PB_CR2|=0x00;
    
    PC_DDR|=0xff;//输出
    PC_CR1|=0xff;//推挽
    PC_CR2|=0xf0;//速度
   
    PD_DDR|=0x1f;
    PD_CR1|=0x1f;
    PD_CR2|=0x1F;
}

/**************************************************************************
 * 函数名:Init_Timer1_pwm_CH3
 * 描述  :定时器1通道3产生PWM CH3输出PWM,引脚C3不用复用
 * 输入  :无
 *
 * 输出  :无
 * 返回  :无 
 * 调用  :外部调用 
 *************************************************************************/
void Init_Timer1_pwm_CH3(void)
{
    CLK_PCKENR1 |= 0x80;//开启定时器1外设时钟
    
    TIM1_EGR = 0x01;   //重新初始化TIM1 
   
    TIM1_CR1 = 0x00;   //B7(0)可以直接写入 B65(00)边缘对齐模式B4(0)向上计数B3(0)计数器不停止发生更新事件
    TIM1_RCR = 0x00;  
    
      //设定预分频为16分频 16M
    TIM1_PSCRH =0x00;  //PWM的时钟 影响周期
    TIM1_PSCRL =0x08;  //PWM的时钟 影响周期
    
    TIM1_ARRH = 0x01;     //设定重装载值
    TIM1_ARRL = 0x40;  //PWM的周期 
    
    TIM1_CCER2 = 0x03; //CC2ER1开启12高电平有效
    
    TIM1_CCMR3 = 0x68; //PWM模式1CC1配置入输出
    
    
    
    TIM1_CCR3H = 0x00;
    TIM1_CCR3L = 0x40;  // 占空比值
    
    
     TIM1_OISR &= ~0x03;
   // TIM1_DTR = 0x50;        // Deadtime generator
    TIM1_BKR |= 0x80;       //刹车
    TIM1_CR1 |= 0x01; //使能TIM1计数器

}

/**************************************************************************
 * 函数名:Init_Timer1_pwm_CH1_3
 * 描述  :定时器1通道1和3产生PWM CH3输出PWM,引脚C3不用复用,
           CH1输出PWM,引脚C6要复用
 * 输入  :无
 *
 * 输出  :无
 * 返回  :无 
 * 调用  :外部调用 
 *************************************************************************/
void Init_Timer1_pwm_CH1_3(void)
{
    //CLK_PCKENR1 |= 0x80;//开启定时器1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-07 16:39  IARTimer - pwm\
     文件       10982  2013-06-26 22:07  IARTimer - pwm\Backup of timer.ewd
     文件       41796  2013-07-17 21:27  IARTimer - pwm\Backup of timer.ewp
     文件          39  2018-08-06 20:18  IARTimer - pwm\cspycomm.log
     目录           0  2018-08-06 17:04  IARTimer - pwm\Debug\
     目录           0  2018-08-07 19:19  IARTimer - pwm\Debug\Exe\
     文件        1624  2018-08-07 19:19  IARTimer - pwm\Debug\Exe\timer.hex
     文件       43412  2018-08-07 19:19  IARTimer - pwm\Debug\Exe\timer.out
     目录           0  2014-12-05 20:20  IARTimer - pwm\Debug\List\
     目录           0  2018-08-07 19:19  IARTimer - pwm\Debug\Obj\
     文件       56123  2018-08-07 19:19  IARTimer - pwm\Debug\Obj\main.o
     文件      199062  2018-08-07 16:39  IARTimer - pwm\Debug\Obj\main.pbi
     文件       10055  2018-08-07 16:39  IARTimer - pwm\Debug\Obj\main.pbi.cout
     文件      199062  2018-08-07 16:39  IARTimer - pwm\Debug\Obj\timer.pbd
     文件      199062  2018-08-07 16:39  IARTimer - pwm\Debug\Obj\timer.pbd.browse
     文件        7387  2018-08-07 16:39  IARTimer - pwm\main.c
     目录           0  2018-08-06 17:04  IARTimer - pwm\settings\
     文件        1473  2018-08-07 19:28  IARTimer - pwm\settings\timer.cspy.bat
     文件        7060  2018-08-07 19:36  IARTimer - pwm\settings\timer.dbgdt
     文件         978  2018-08-07 19:36  IARTimer - pwm\settings\timer.dni
     文件        3700  2018-08-07 19:36  IARTimer - pwm\settings\timer.wsdt
     文件        1994  2018-08-07 19:36  IARTimer - pwm\timer.dep
     文件       11274  2018-08-06 20:18  IARTimer - pwm\timer.ewd
     文件       43184  2018-08-06 17:14  IARTimer - pwm\timer.ewp
     文件         159  2013-06-26 21:41  IARTimer - pwm\timer.eww

评论

共有 条评论