Öhm, was soll denn das Ziel von dem Ganzen sein?

auserdem sehe ich, dass du deine Zeit zwar in Main3 dauernd incrementierst, aber nie wieder auf 0 zurücksetzt. Was ist der Zweck davon?

vlt hilft es, statt
Code:
Main2: 
Porta.0 = 1 
If Pina.2 = 0 Then 
Porta.0 = 0 
Goto Main3 
End If
das hier zu schreiben:
Code:
Main2: 
Porta.0 = 1 
If Pina.2 = 0 Then 
Porta.0 = 0 
Goto Main3 
Else
Goto Main1
End If

versuche doch mal, die Mains wegzulassen, also statt "Goto Main2" einfach die Main2-Funktionen hinschreiben.
das wäre evtl etwas einfacher, und du brauchst nicht so viel speicherplatz.


Du könntest übrigens auch statt der Do-Loop-Schleife einfach am ende deines Programmms "Goto Main1" schreiben. das hätte hier den selben effekt. (voher hattest du ja das problem, dass dein programm im Leeren endet, was damit genauso gelöst wäre)