This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

high precision timer using AT89S8252

I am trying to implement a high precision timer using AT89S8252 using the following
code:

void configureTimer0(void)
{
EA = 0;
TMOD &= 0xf0;
TMOD |= 0x01;
ET0 =1;
TH0 = TH_VAL
TL0 = TL_VAL
TR0= 1;
EA = 1;
}

// timer 0 interrupt handle
void timer0 (void) interrupt 1
{
TH0 = TH_VAL;
TL0 = TL_VAL;
P2_1 = !P2_1;
switch(val)
{
case 1: // code
break;
case 2: // code
break;
}
}

void main(void)
{
configureTimer0();
while(1);
}

The problem occurs when I try to insert any code inside the Timer 0 interrupt handle, such as a blinking LED ar a simple switch
statement. The code inside interrupt handle was as simple as possible.
In order to keep a constant rate, I have to use a digital osciloscope to adjust TH_VAL and TL_VAL.

Is there any other way to implement this ? Do I have to constantly calibrate TH_VAL and TL_VAL after inserting any piece of code inside the timer interrupt handle ?


Best regards,

Andre

Parents
  • Erik:

    "If the timer interrupt is the only one at the highest priority, your statement above does not apply"

    I think that is pretty obvious from the first sentence:

    "Note that if an interrupt of higher priority level goes active..."

    And please note, that was a quotation from the manual, not my statement. The intention was to correct your inaccurate statement:

    "1) The interrupts (according to the manual) always execute the fitst instruction."

    Stefan

Reply
  • Erik:

    "If the timer interrupt is the only one at the highest priority, your statement above does not apply"

    I think that is pretty obvious from the first sentence:

    "Note that if an interrupt of higher priority level goes active..."

    And please note, that was a quotation from the manual, not my statement. The intention was to correct your inaccurate statement:

    "1) The interrupts (according to the manual) always execute the fitst instruction."

    Stefan

Children