Du kannst z.Bsp. eine Verzögerung einbauen:

1.AD-Wandlung machen
2.Ausgeben
3.Verzögerungzeit abwarten
4.Wieder zu 1.

Einen Timer programmieren und in der ISR ein globales Flag setzen
(z.Bsp. alle 100 mSek). Nur wenn dieses Flag gesetzt ist die Wandlung
machen, Daten ausgeben und sofort das Flag wieder löschen.

Du kannst auch z.Bsp. ein Array[10] machen.
Dann schreibst Du den Messwert in das Array rein:
Arrayname[i] = deinMesswert i=Zähler 0..9
Dann bildest Du immer den Mittelwert über diesen 10 Werten.