Hallo Malte0815,
ich hatte nicht gesehen, dass du mich schon einmal direkt gefragt hattest.
If A = 3 Then A = 1
Portd = X(stelle(a))


A ist die Stelle, die aktuell eingeschaltet ist, in Stelle(A) steht der aktuelle Wert, der ausgegeben werden soll.
In X(Stelle(A)) steht der entsprechende Segment-Wert für diese Ziffer.

Wenn du jetzt 3 Stellen hast, dann musst du A bis 4 laufen lassen, bevor es wieder auf ein gesetzt wird. Also
If A = 4 Then A = 1

Das Gradzeichen würde ich am Anfang einmal fest in Stelle(3) schreiben, dann brauchst du sonst nichts mehr zu ändern. Also hinter
For I = 1 To 10
Read X(i)
Next I


einfach noch
Read Stelle(3) oder direkt
Stelle(3) = &H63

Hier mal alles zusammen (mit noch etwas Kosmetik):

Code:
$regfile = "M8def.dat"
$crystal = 4000000

'--------Segmente---------------
Config Portd = Output
Portd = 0                                                   'anfangs alles aus

'----------Anode Display---------
Config Portb = Output
Digit1 Alias Portb.1
Digit2 Alias Portb.2
Digit3 Alias Portb.3
Portb = 0                                                   'auch hier alles aus

'---------AD-Wandler Config-------------
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

'--------Timer Config----------------
Dim Stelle As Byte                                          'Umschaltung zehner/einer/grad_zeichen
Stelle = 1                                                  'start mit Zehner

Config Timer0 = Timer , Prescale = 64
On Timer0 Timer_routine                                     'wird 4.000.000/64/256 ~ 244 mal pro Sekunde aufgerufen
Enable Timer0
Enable Interrupts

Dim Messung As Word
Dim Wert_stelle(3) As Byte
Dim I As Byte
Dim Temp As Word
Dim Segmente(11) As Byte

Restore Segment_daten

For I = 1 To 10
   Read Segmente(i)
Next I
Wert_stelle(3) = &H63                                       '°fest auf Stelle 3

Do
   Messung = Getadc(0) * 64
   Messung = Messung / 101
   Messung = Messung - 151
   Messung = Messung
   Temp = Messung / 10                                      'ganzahlige Division, also 47 / 10 = 4
   Wert_stelle(1) = Temp + 1
   Temp = Messung Mod 10                                    'Mod ergibt den Rest der Division, also bei 47 / 10 ist Mod = 7
   Wert_stelle(2) = Temp + 1
   Waitms 100                                               'hier vielleicht noch eine kleine Pause
Loop


End


Timer_routine:
   Portb.stelle = 0                                         'Vorherige Stelle ausschalten
   Portd = 0                                                'zusätzlich alle Segmente aus
   Incr Stelle                                              'auf nächste Stelle umschalten
   If Stelle = 4 Then Stelle = 1                            'am Ende wieder zurück zur ersten Stelle
   Portd = Segmente(wert_stelle(stelle))                    'Neue Segmente ausgeben
   Portb.stelle = 1                                         'neue Stelle einschalten
Return

Segment_daten:
'gemeinsame Anode:
'      0      1       2      3        4      5        6      7     8      9
'Data &H3F , &H6 , &H05B , &H04F , &H066 , &H06D , &H07D , &H7 , &H7F , &H6F
'gemeinsame kathode:
'      0      1       2      3      4      5     6      7     8      9      Grad
Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10       ', &H63