One of the problems you're going to have is the fact that you won't get an interrupt in the middle of a statement.
For instance,
Pause 3000...
The On Interrupt won't trigger for at least 3 seconds.
(However, instead of Pause 3000, you can use:
for x = 1 to 300 : pauseus 10 : next x...at least then the PIC will check for an interrupt every 10 microseconds)
Any LCDOUT command won't let an On Interrupt trigger during the execution of the LCDOUT command, which can take a few milliseconds, an eternity when dealing with fast signals.
In general, all interrupts are checked BEFORE or AFTER every statement (I don't remember which). So, if you're executing a single command, an ON INTERRUPT won't happen in the middle of it.
Either recode your program to keep anything in the main loop from holding up an interrupt or think about researching and switching over to DT's Instant Interrupts.
Bookmarks