单片机 timer

dragonchip 第五代芯片

 

void Timer1Mode3Init()
{
 TH1 = 0xF8;                                        //(65536 - 2000) / 256; set 2ms interrupt                       
   TL1 = 0x30;                                     //(65536 - 2000) % 256;

 ET1 = 1;                           //timer1 overflow interrupt
 TMOD |= 0x10 ;                                // timer1,mode 3
 TR1 = 1;                                           // timer 1 start 
 }
//==================================================================================
//
// name : Timer1 Interrupt
//
// function :
// -
//
//==================================================================================

void timer1(void) interrupt 3  //Timer1 interrupt 3

    ET1 = 0;
    TH1 = 0xF8;                                        //(65536 - 2000) / 256; set 2ms interrupt                        
    TL1 = 0x30;                                        //(65536 - 2000) % 256;    
    LEDCount++;
    ET1 = 1;
}

在中断里面没有重新设置装载TH1 TL1的值,在时间上进入的中断时间差33倍,为66ms,有点吓人。

posted @ 2014-09-12 11:27  笨笨,跳跳  阅读(175)  评论(0)    收藏  举报