??? 02/13/08 18:44 Modified: 02/13/08 18:48 Read: times |
#150763 - what simple ISR? Responding to: ???'s previous message |
The minimum ISR that "does something" is: Timer1ISR: inc Timer1Count reti That's 5 cycles (including the "hardware call"), roughly 5.4us in your case, roughly 180kHz (leaving absolutely no room for anything reasonable to run). On the other hand, the "vanilla" 12-clocker '51 at 11.0592MHz are the specs of the original 8051, around 27 years ago; and this is hopefully obsolete by now. The minimum reasonable option is a sixclocker at twice that crystal, i.e. 4 times faster; and there are numerous options up to the 100MHz SiLabs singleclocker, providing roughly 70-times that power. JW PS. The minimalist 16-bit tick counter ISR is: Timer1ISR: djnz Timer1CountLo,Timer1ISREnd dec Timer1CountHi Timer1ISREnd: reti Figure out the cycle counts yourselves. Note that this still fits into the 8-byte slot between the ISR addresses. I bet two beers or other beverages of your choice that your 40us tickcounter ISR is some bloody C nonsense... :-) |
Topic | Author | Date |
Minimum ISR time | 01/01/70 00:00 | |
"bible" time? | 01/01/70 00:00 | |
details | 01/01/70 00:00 | |
re-expalin | 01/01/70 00:00 | |
Re: Minimum ISR time | 01/01/70 00:00 | |
what simple ISR? | 01/01/70 00:00 | |
You're right, it is bloody C | 01/01/70 00:00 | |
C and ISRs | 01/01/70 00:00 | |
Know thy tools | 01/01/70 00:00 | |
'using' can be counterproductive in SDCC | 01/01/70 00:00 | |
ISRs in C | 01/01/70 00:00 | |
Good point | 01/01/70 00:00 |