Um mit den 550mAh ein Jahr auszukommen, musst du auf 0.063mA, im Mittel, runter.

Am einfachsten ist es schon, alles in Interrupts zu packen. Nach der Initialisierung besteht dann dein Programm nur noch aus:
while (1) SLEEP();

Allerdings musst du auch alle Peripherie ausschalten die nicht benötigt wird.

Weiter sollte man den Takt so weit runterschrauben wie möglich.
Bei CMOS besteht de3r Stromverbrauch aus einem konstanten Anteil, welcher sich aus eckströmen und dem Strom für PullUps zusammensetzt.
Der andere Anteil ist direkt proportional zur Frequenz. Also wenn sich die Frequenz verdoppelt, verdoppelt sich auch der Strom. Dies beruht vor allem im Umladen der Kapazitäten.
Deshalb spart es auch Strom, wenn man nicht benutzte Peripherie vom Takt trennt.

Den Stromverbrauch zu minimieren ist eine hübsche Aufgabe und du wirst dabei viel über den Prozessor lernen.
Ein Oszilloskop brauchst du eigentlich gar nicht, es genügt ein langsames DVM, welches über die Messzeit den Mittelwert bildet. Ein DVM mit Dual- bzw. Quad Slope macht so 2-4 Messungen/s und ist dafür schon ganz gut geeignet.

MfG Peter(TOO)