主题 : 关于计时器中断问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 7761
精华: 0
发帖: 11
金钱: 60 两
威望: 15 点
综合积分: 22 分
注册时间: 2009-07-27
最后登录: 2015-08-03
楼主  发表于: 2010-11-29 12:18

 关于计时器中断问题


请问一下,我要用2440的tim0去做计时中断每1秒中断一次程序码如下好像无法做到1秒
void  __irq Timer0_ISR(void)  
{  
   rSRCPND=1<<rINTOFFSET;
    rINTPND = rINTPND;  
    
}  


void TimeInit(void)  
{  
      
    
        rTCFG0 =249;        // prescaler等于249

            
          rTCFG1 =0x02;     //
           rTCNTB0 = 25000;  //
        
       rTCMPB0 = 0; // 50%  即占空比
      
            
           rTCON |=(1<<1);//        
                          rTCON =0x09 ;  //
    

}  

void irq_init()  //中断初始化
{
  
  
  
    rINTMSK = ~(0x1<<10);
       rINTMOD=0;

}

void main()


{

MMU_Init();//

TimeInit();
irq_init();
pISR_TIMER0 = (unsigned int) Timer0_ISR;//    


}