it's easier than this.  Let's look at the setup SUB :
	Code:
	
setup: ; entra en la configuracion de la circunferencia
     disable
     if portb.2 = 0 then 
          return ; HERE IS THE PROBLEM IT TAKES 20 SECONDS TO RETURN
          enable
     endif 
     x = circunferencia
     for demora = 1 to 20
          gosub display
     next
     if portb.3 = 0 then
          circunferencia = circunferencia + 1
          if circunferencia = 216 then circunferencia = 0
     endif
     goto setup
 yes you enter to your setup sub but- 1. where is the return when PORTB.2=1 ??? Not really sure but, Now your looping maybe too much.... using a WHILE loop can maybe solve something
 
 2. IF PORTB.2=0 ... must be ENABLE before RETURN
try this
[code]
	Code:
	
setup: ; entra en la configuracion de la circunferencia
     disable
     WHILE portb.2 
          x = circunferencia
          for demora = 1 to 20
               gosub display
          next
          if portb.3 = 0 then
               circunferencia = circunferencia + 1
               if circunferencia = 216 then circunferencia = 0
          endif
     WEND
     enable
     return
 also i don't believe if it's a good practice to use those :
	Code:
	goto start
on interrupt goto tiempo
start:
 remove the goto start line can maybe do something too.
This one is funny
Why ?!?
Alain
	
		
			
			
				Hi, 260
I feel a little strange the 2 last lines of your code ...
it never re-enables interrupts after the interrupt stubb
doesn't sound good to me ... enable should be BEFORE resume.
			
		
 
	 
 Look into the PBP 2.45 page 106
				
			
Bookmarks