#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
//输出比较试验
//定时计数器寄存器(TPMxCNTH:TPMxCNTL)中的值与通道寄存器(TPMxCnVH:TPMxCnVH)相匹配时,会产生一个中断标志位
//并且会在管理管脚强制执行所选的输出操作。输出比较可以选择用于强制将管脚设置为0或1,翻转管脚电平(本试验采用?
//或忽略。本试验使能了TPM1中通道0(对应管理管脚为PTD2 ,led3
// TPM1中通道1 (对应管理管脚为PTD3?,led4
// 通道0中断函数中闪烁led1。led3与led1同频率闪烁。
// 通道1中断函数中闪烁led2。led4与led2同频率闪烁。
#define LED1 PTDD_PTDD0
#define LED2 PTDD_PTDD1
#define LED1_dir PTDDD_PTDDD0
#define LED2_dir PTDDD_PTDDD1
/*************************************************************/
/* 初始化总线时钟PEE模式 */
/* 外部晶振频率为4MHz,总线频率16MHz */
/*************************************************************/
void INIT_MCG(void)
{
MCGC2=0x36;
while(!MCGSC_OSCINIT);
MCGC1=0xb8;
while(MCGSC_IREFS
飞思卡尔单片机DZ60---TPM1输出比较
最新推荐文章于 2024-01-16 17:07:20 发布
该博客详细介绍了如何在飞思卡尔单片机DZ60上配置TPM1进行输出比较实验。通过初始化TPM1的通道0和1,设置中断功能,实现LED1和LED2的交替闪烁,不同频率对应不同的通道中断处理。文章包括了初始化总线时钟、LED、TPM1通道0和1的具体步骤以及中断服务函数。
摘要由CSDN通过智能技术生成