//Time1定时器中断
void Timer1Init(void)
{
_asm("sim"); // 关全局中断
TIM1_PSCRH=0x3e;
TIM1_PSCRL=0x7f; //(fCK_CNT)等于fCK_PSC/( PSCR[15:0]+1)。
TIM1_ARRH=0x00;
TIM1_ARRL=0x14;//20
TIM1_CNTRH=0x00;
TIM1_CNTRL=0x00;//自动装载寄存器的值
TIM1_IER=0x01;//允许更新中断
//TIM1_RCR=20;//重复计数寄存器值
TIM1_CR1=0x05;//打开自动装载,打开计数器
_asm("rim"); // 开全局中断
}
@far @interrupt void TIM1_IT (void)
{
//int it=0;
//it++;
//Moto_PwmRflash(500,it,500,50);
TIM1_SR1=0x00;//清除中断标志
}
一用中断就没有PWM输出了,而且还一直在中断出不来。明明有清除中断标志的。。
|