Dave,

Thanks for the info. Unfortunately, I've discovered I'm stuck at step one here. I can't get the INT1 to work. I know the PIC is going low when I push the switch on RB1 to go low, but the PIC seems to ignore it. Any ideas what I'm missing? Here's the sample code I'm working with:


************************************************** *****
trisb = %00000111
portb = %00000000

B2 var byte
i var word
time var word

time = 250


On Interrupt goto Reset

intcon = %10010000 ' Enable GIE and INT0


Main:

for i = 1 to 100
portb.3 = 1
pause time
portb.3 = 0
pause time
button portb.2, 0, 255, 0, B2, 1, Switch
next

goto Main

Switch:

'On Interrupt goto Reset ' Tried this, no luck
intcon3.3 = 1 ' Enable interrupt on RB1


for i = 1 to 20
portb.4 = 1
pause 250
portb.4 = 0
pause 250
next
intcon3.3 = 0 '%00000000 ' Disable INT1
goto Main



Disable
Reset:

portb = %00000000
intcon.1 = 0 ' Clear INT0 flag
intcon3.0 = 0 ' Clear INT1 flag
Resume Over_Here
Enable



Over_Here:
intcon3 = %00000000 ' Turn off INT1 interrupt
button portb.2, 0, 255, 0, B2, 1, Main
pause 10


goto Over_Here
************************************************** ******

INT0 works great.

I've tried adding another On Interrupt (as shown above) linked to the same
handler. I've also tried turning on the INT1 right after the INT0, then turning it off in the Main Routine then back on during the Switch Routine (then off before returning to the Main Routine. I feel I'm missing something fundamental. I'm going to try just turning on INT1 while INT0 is off, but I suspect I'll have the same problem. Any suggestions? Gracias!