It might work once you fix a bunch of errors. Look through your code slowly, line by line.
if volt>cvolt then gosub Load. This calls Load, but Load doesn't RETURN. It lands on a
GOTO Main.
if volt If volt T1CON = %00000111 ' start timer1 ? I'm not sure what this does, but it looks
pretty odd...;o}
volt=adval ' volt is a byte. adval is a word?
Your Main routine has a RETURN instead of a GOTO Main. This, along with the GOSUB Load
with no RETURN is going to screw up the stack.
Go through it all slowly. There may be more potential show-stoppers....;o}
Bookmarks