在线时间2 小时
UID52696
注册时间2008-6-7
NXP金币0
该用户从未签到
高级会员

- 积分
- 799
- 最后登录
- 1970-1-1
|
下面源代码已经在开发板上验证过,仅供参考:
/********************************************
龙丘MC9S12XEP100多功能开发板
Designed by Chiu Sir
E-mail:chiusir@yahoo.cn
软件版本:V1.1
最后更新:2010年7月20日
相关信息参考下列地址:
------------------------------------
Code Warrior 5.0
Target : MC9S12XEP100
Crystal: 16.000Mhz
busclock:16.000MHz
pllclock:32.000MHz
-------------------------------------
说明:
分别演示ECT_TIMER和TIM_TIMER,
ECT_TIMER PB7指示 中断周期 80ms
TIM_TIMER PB6指示 中断周期 320ms
中断周期没有推敲,大家可以自己算算看。
============================================*/
#include
#include "derivative.h"
//产生?ms的定式中断
static void ECT_Timer_Init(void)
{
//ECT_TSCR1=0X80;//TIMER INT ENABLED
ECT_TSCR1=0x90;//计数器使能TEN|快速清零TFFCA
//TIM_TSCR1=0X00; //禁止TIM
ECT_TSCR2=0X85;//DIV 32->80ms
ECT_TCNT =0; //
ECT_PACTL=0X50; //PT7 PIN,PACN32 16BIT
}
static void TIM_Timer_Init(void)
{
//TIM_TSCR1=0X80;//TIMER INT ENABLED
TIM_TSCR1=0x90;//计数器使能TEN|快速清零TFFCA
//TIM_TSCR1=0X00; //禁止TIM
TIM_TSCR2=0X87;//DIV 128->320ms
TIM_TCNT =0; //
TIM_PACTL=0X50; //PT7 PIN,PACN32 16BIT
//ICPAR=0; //8BIT DISABLED
}
//-----------------------------------------------------
// PLL初始化子程序 BUS Clock=16M
void setbusclock(void)
{
CLKSEL=0X00; // disengage PLL to system
PLLCTL_PLLON=1; // turn on PLL
SYNR=0x00 | 0x01; // VCOFRQ[7:6];SYNDIV[5:0]
// fVCO= 2*fOSC*(SYNDIV + 1)/(REFDIV + 1)
// fPLL= fVCO/(2 × POSTDIV)
// fBUS= fPLL/2
// VCOCLK Frequency Ranges VCOFRQ[7:6]
// 32MHz
|
|