MC9S12XEP100-PWM设置

单通道

void init_pwm(void) 
 {
  
  PWMCTL_CON01= 1;   //联结通道0,1为16位的PWM
  PWMPOL_PPOL1= 1;   //通道01的极性为高电平有效
  PWMPRCLK = 0x55;   //A时钟和B时钟的分频系数为32,频率为1MHz
  PWMSCLA  =   25;   //SA时钟频率为20KHz
  PWMCLK =0x02;  //通道01用SA时钟作为时钟源   
  PWMPER01  = 20;   //通道01的周期为100Hz 
  PWMDTY01  = 0; //通道01的占空比为0%  
  PWME_PWME1 = 1;//使能通道01
 }

多通道

 void Init_Pwm(void) 
 {
  PWMCTL_CON01= 0;   //联结通道0,1为8位的PWM
  PWMCTL_CON23= 0;   //联结通道0,1为8位的PWM
  PWMCTL_CON45= 0;   //联结通道0,1为8位的PWM
  
  PWMPOL_PPOL0= 1;   //通道01的极性为高电平有效 
  PWMPOL_PPOL1= 1;   //通道01的极性为高电平有效 
  PWMPOL_PPOL2= 1;   //通道01的极性为高电平有效   
  PWMPOL_PPOL3= 1;   //通道01的极性为高电平有效 
  PWMPOL_PPOL4= 1;   //通道01的极性为高电平有效
  /*
   Clock A=16MHz :PWMPRCLK=00 
   Clock SA = Clock A / (2 * PWMSCLA)
   PWMx Period = Channel Clock Period * (2 * PWMPERx)
  */ 

  PWMPRCLK = 0x44;   //A时钟和B时钟的分频系数为16,频率为1MHz   00 16MHz
  PWMSCLA  =   25;   //SA时钟频率为20KHz   10080KHz
  PWMSCLB  =   25;   //SB时钟频率为20KHz   10080KHz
  
  PWMCLK_PCLK0 =1;  //通道0用SA时钟作为时钟源
  PWMCLK_PCLK1 =1;  //通道1用SA时钟作为时钟源
  PWMCLK_PCLK2 =1;  //通道2用SB时钟作为时钟源
  PWMCLK_PCLK3 =1;  //通道3用SB时钟作为时钟源
  PWMCLK_PCLK4 =1;  //通道4用SA时钟作为时钟源  
  
  
  PWMPER0  = 200;   //通道0的周期为50Hz200 200Hz
  PWMPER1  = 200;   //通道1的周期为50Hz 
  PWMPER2  = 200;   //通道2的周期为50Hz
  PWMPER3  = 200;   //通道3的周期为50Hz  
  PWMPER4  = 200;   //通道4的周期为50Hz   
  
  PWMDTY0  = 0; //通道2的占空比为0%  
  PWMDTY1  = 0; //通道2的占空比为0%  
  PWMDTY2  = 0; //通道2的占空比为0%
  PWMDTY3  = 0; //通道2的占空比为0%  
  PWMDTY4  = 0; //通道2的占空比为0%  
 
  PWME_PWME0 = 1;//使能通道0 K-C
  PWME_PWME1 = 1;//使能通道1 FAN
  PWME_PWME2 = 1;//使能通道2 KP2
  PWME_PWME3 = 1;//使能通道3 KP1
  PWME_PWME4 = 1;//使能通道4 PTC
 }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值