飞思卡尔单片机DZ60---中央对齐PWM

该博客介绍了如何使用飞思卡尔单片机DZ60进行中央对齐PWM配置,通过实验设置使LED3和LED4闪烁周期为0.5秒,闪烁时长不同。首先初始化总线时钟,然后配置TPM1通道0和1,设置脉冲周期、占空比,并通过TPM1C0SC和TPM1C1SC控制高电平和低电平的有效电平,最后在main函数中实现PWM功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */

//中央对齐 PWM实验,TPM1通道0和1对应的管脚为PTD3,PTD4分别接LED3,LED4
//实验现象LED3,LED4闪烁的周期都为0.5秒,闪烁的时长不同。

/*************************************************************/
/*                  初始化总线时钟PEE模式                    */
/*              外部晶振频率为4MHz,总线频率16MHz            */
/*************************************************************/
void INIT_MCG(void) 
{
  MCGC2=0x36;        
  while(!MCGSC_OSCINIT);     
  MCGC1=0xb8;
  while(MCGSC_IREFST);
  while(MCGSC_CLKST!=0b10);
  MCGC2_LP = 1;
  MCGC1 = 0x90;
  MCGC3 = 0x48;     
  MCGC2_LP = 0;
  while(!MCGSC_PLLST);
  while(!MCGSC_LOCK);
  MCGC1 = 0x10;
  while(MCGSC_CLKST!=0b11);
} 


void INIT_TPM1CH0_TPM1CH1(void) 
{
   //初始化
   //第一步:写TPM1状态与控制寄存器。
   TPM1SC = 0X2F;//禁止中断,CPWMS=1选择中间对齐的PWM模式,选择系统时钟, 128分频,脉冲周期为0.8us
   TPM1CNT = 0;
   
   //第二步:设置TPM1计数器TPM1CNT,周期设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值