#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,周期设置
飞思卡尔单片机DZ60---中央对齐PWM
最新推荐文章于 2025-06-03 21:35:58 发布