Hallo,
ich hab mir mal n bisschen was durchgelesen... und würde jetzt gerne wissen ob das so in ordnung ist:
Dort müsste doch jetzt eigentlich zu jeder vollen sekunde bei dem Label time (dort wo der Kommentar ist) das ausgeführt werden was ich gerne möchte oder?Code:.include "2313def.inc" .def temp=r16 .def int_per_sec=r17 initTimer: ldi temp,5 ;CPU-Takt/1024 out TCCR0,temp ldi temp,2 ;aktivieren des Interrups bei einem out TIMSK,temp ;Überlauf ldi int_per_sec,46 ;Anzahl der Interrupts pro Sekunde ;12MHz: 12.000.000/1024=11718,75 --> Bei jedem 11718,75ten Takt ;wird ein Interrupt eingeworfen ;=>11718,75/256(wegen 8Bit TCNT)=45,78 (ca. 46 Interrupts pro Sek.) sei ;Interrupts global erlauben endlos: ;Endlosschleife rjmp endlos time: ;Aufruf bei jedem Interrupt dec int_per_sec brne zurueck ;nach 46 Interrupts (int_per_sec=0) wird ;nicht nach "zurueck" gesprungen ;irgendwas zur vollen sekunde zurueck: reti ;rücksprung in die Endlosschleife







Zitieren

Lesezeichen