在线时间0 小时
UID296022
注册时间2011-6-1
NXP金币0 
 
 
 
该用户从未签到 
新手上路 
  
 
	- 积分
 - 4
 
 
- 最后登录
 - 1970-1-1
  
 
 | 
 
 
发表于 2011-6-1 20:22:14
|
显示全部楼层
 
 
 
回复:MC9S12XEP100中TIM和ECT两种时钟中断
<div style="padding:5px;border:1px dashed #ccc;">回复第 1 楼 龙丘于2010-07-20 08:01:15发表: 
下面源代码已经在开发板上验证过,仅供参考: 实在是很需要这个,多谢啦 
  
/******************************************** 
龙丘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 |   
 
 
 
 |