Da das Ganze nicht zeitkrietisch zu sein scheint, sollte man überlegen besser in C oder auch Basic zu programmieren, da werden Rechenungen und vieles andere deutlich überschtlicher. Für I2C gibt es da vorgefertigte Libraries oder Funktionen. Rein in ASM ist I2C nicht gerade einfach, besonders wenn man Fehlerfälle mit berücksichtigen will.