RTI,是ORG时钟和复位发生模块中的一个功能,一般用它来3秒后启动车子。初始化它,需要两个寄存器:CRGINT和RTICTL。CRGINT的第8位:RTIE是RTI的中断使能位,为1使能。下面来重点说说:而RTICTL的设置。它的第8位:RTR[8],没用,不管。6到4位:RTR[6:4],预分频选择位。3到0位:RTR[3:0],分频系数选择位。另外,它的分频时钟是外部时钟频率,XS128是16M,与使用PLL与否无关。
公式:T=(RTR[3:0]+1)*2E(RTR[6:4]+9)/osc clock
void RTI_int()
{
RTICTL=0x77;//(7+1)*2E(7+9)/16=32.75ms
CRGINT=0x80;//RTI使能
}
void interrupt 7 RTI_ISR(void)
{
CRGFLG|=0x80;//Write 1 to clear RTIF bit
m++;
if(m>=60)
{
start=1;
CRGINT=0x00;
}
}