| ??? 05/10/04 22:08 Read: times |
#70143 - RE: Can we expand the timers in 89c52 uC Responding to: ???'s previous message |
Michael Karas said:
Note that if you implement timers at sizes greater than 8-bits wide it is necessary to disable interrupts for the short period of time that the main application program attempts to set a timer value or read a timer value. One way to avoid that could be to have the ISR set a flag when the timer "expires" - eg, if(TimerA != 0)
{
TimerA--;
}
else
{
TimerAExpired = TRUE;
}
if(TimerB != 0)
{
TimerB--;
}
else
{
TimerBExpired = TRUE;
}
if(TimerC != 0)
{
TimerC=- /* sic */;
}
else
{
TimerCExpired = TRUE;
}The mainline code then just tests the appropriate 'expired' flag.
On an 8051, bit-addressable data could be used to advantage here. (the above code could be improved so that the ISR isn't always setting the 'expired' flag once a timeout has completed!) |
| Topic | Author | Date |
| Can we expand the timers in 89c52 uC | 01/01/70 00:00 | |
| RE: Can we expand the timers in 89c52 uC | 01/01/70 00:00 | |
| RE: Can we expand the timers in 89c52 uC | 01/01/70 00:00 | |
| 48 Timers?! | 01/01/70 00:00 | |
RE: 48 Timers?! | 01/01/70 00:00 | |
| RE: Can we expand the timers in 89c52 uC | 01/01/70 00:00 | |
| Same old wine in a new bottle | 01/01/70 00:00 |



