Hola Liminix:
Entonces lo que tienes que hacer es sacarle al programa las líneas que te mandan a reestablecer los valores máximos y mímimos.
Quedaría algo así, si es que entendí lo que querés hacer:
------------------------------------------------------------
J var byte
j=0
inicio:
if porta.3=0 then
j= j-25
endif
if j=1 then inicio
Cuando llega al mínimo, vuelve a "inicio" y se queda siempre en este lazo condicionante, hasta ver si pulsas de aumentar, antes pasaba al otro extremo, se "reiniciaba", como vós decís
if porta.2=0 then
j=j+25
endif
if j=255 then inicio
Cuando llega al máximo vuelve a "inicio" y se queda siempre en este lazo condicionante, hasta ver si pulsás de disminuir, antes pasaba al otro extremo, se "reiniciaba", como vós decís.
pwm portb.0,j,145
goto inicio
---------------------------------------------------------
Probá ese código a ver si te sirve, para lo que querés hacer.
Saludos
Mario