飞思卡尔单片机 DG128 Timer模块应用实例

飞思卡尔单片机 DG128 Timer模块应用实例

Timer模块应用实例

输入捕捉(IC)编程步骤:

初始化函数

TIOS---选择工作方式为IC

TCTLx---设置对应位输入捕捉的方式(x=3、4,高位是3,低位是4)

TSCRx---控制寄存器设置,包括工作使能、确定工作方式(x=1)、中断允

许、预分频

TIE---中断使能

中断函数

清除标志位---TFLG1

处理函数

【例程3】

//---------------------------------------------------------------------------//

//功能说明:利用PP3通道产生40Hz,占空比为50%的方波

// 利用PT0采集方波的个数,并在PB口显示

//程序设计:电子设计吧

//设计时间:2010.01.13

//---------------------------------------------------------------------------//

#include <hidef.h> /* common defines and macros */

#include <mc9s12dg128.h> /* derivative information */

#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

unsigned int Input_Num;

//----------------------时钟初始化------------------------------//

void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)

{ //锁相环时钟=2*16*(2+1)/(1+1)=48MHz

REFDV=1; //总线时钟=48/2=24MHz

SYNR=2;

while(!(CRGFLG&0x08));

CLKSEL=0x80;

}

//--------------------通道0输入捕捉初始化-------------------//

void ECT0_Init(void)

{

TSCR2=0x06; //禁止溢出中断,分频系数64(24/64MHz)

TIOS_IOS0=0; //通道0为输入捕捉

TCTL4=0x01; //捕捉上升沿

TIE_C0I=1; //通道0输入捕捉中断允许

TSCR1=0x80; //使能定时器

}

你可能喜欢

  • 飞思卡尔程序
  • 实验指导书
  • 飞思卡尔智能车
  • 工程电路
  • 单片机编程
  • CAN总线详细教程
  • AVR单片机

飞思卡尔单片机 DG128 Timer模块应用实例相关文档

最新文档

返回顶部