中级会员
- 积分
- 424
- 威望
- 280
- 贡献
- 64
- 兑换币
- 0
- 注册时间
- 2011-9-28
- 在线时间
- 40 小时
|
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
int i=0;
void Init_PLL(void)
{
REFDV=1; // fVCO= 2*fOSC*(SYNDIV + 1)/(REFDIV + 1)
SYNR=2; // fPLL= fVCO/(2 × POSTDIV)
while(!(CRGFLG&0x08));
CLKSEL=0x80;
}
void Init_PIT(void)
{
PITCE_PCE0=1; //通道使能寄存器。给通道0使能
PITMUX=0x00; //PIT复用寄存器,通道0使用微计数器1
PITINTE=0x01; //中断使能寄存器,各路中断都被禁止
PITMTLD0=100-1; //PIT微计数器加载寄存器。
PITLD0=240-1; //PIT加载寄存器
PITCFLMT=0x80; //使能PIT
}
void main(void) {
Init_PLL();
DDRM=0xff;
Init_PIT();
EnableInterrupts;
PTM_PTM3=0;
for(;;) {
_FEED_COP(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt 66 void PIT0(void){
// PITCE_PCE0=0;
// PITCE_PCE0=1;
PTM_PTM3=~PTM_PTM3;
PITTF_PTF0=1;
// asm(MOVB #$01,PITTF);
}
我的程序为什么跳不出中断呢?求高手指点。 |
|