static void TIMERInit(void) {<br /><br /> TIE = 0X0F; //启用中断<br /> TSCR2 = 0X02; //4分频得到2M时钟<br /> TIOS = 0X00; //设置输入通道<br /> TSCR1 = <font color=#FF0000>0X90</font>; //打开计时器, TFFCA=1<br /> TCTL4 = 0XFF; //0,1,2,3通道捕捉上升,下降沿<br /> T**1 = 0XFF; //清标志位<br /><br />}<br /><br />#pragma CODE_SEG __NEAR_SEG NON_BANKED <br />interrupt 8 void TIME0_ISR(void){<br /><br /> <font color=#0000FF>//T**1_C0F = 1; //清标志位<br /> //说了不能直接清中断标志,还是不听</font><br /><br /> <font color=#FF0000>TC0;</font> //读一次捕捉寄存器,自动清除对应中断标志<br /><br /> PORTB_BIT0 = !PORTB_BIT0; //PORTB口相应的位取反,上升下降沿均取反<br /> <br />}<br /><br />其他中断服务程序类似。<br />
|