.def temp =r16 .def temp1 =r17 Auszug aus dem Haupprogramm (jede 6 ms tritt ein TimerInterrupt auf) ldi temp,0x00AA ;lade AA ldi temp1,01 ;lade Adresse 1 rcall eewrite3 ;und schreibe Datentripel ins EEPROM ;*************** Unterprogramm schreibt die Daten in temp ************** ;*************** als Tripel auf die Adresse in temp1, temp1 + 80 ******* ;*************** und temp1 +160 ************* eewrite3: rcall eewrite ;schreibe Daten in temp nach Adresse temp1 subi temp1,-80 ;erhöhe adresse um 80 rcall eewrite ;und schreibe gleiche Daten dorthin subi temp1,-80 ;Adresse nochmal um 80 erhöhen und rcall eewrite ;Daten nochmal dort ablegen ret ;fetig ;*************** Unterprogramm schreibt die Daten in temp ************** ;*************** auf die EEPROM Adresse von temp1 ************* eewrite: sbic EECR,EEWE ;wird momentan noch geschrieben ? rjmp eewrite ;dann warten out EEAR,temp1 ;sonst hole Adresse out EEDR,temp ;und Datem cli ;sperre Interrupts sbi EECR,EEMWE ;setze MasterWriteEnable sbi EECR,EEWE ;und strobe EEPROM sei ;Interrupts wieder freigeben ret ;fertig