Ich hab es jetzt mal so gemacht wie teslanikola vorgeschlagen hat und hab dem Timer die Werte nocheinmal übergeben. Aber es hat sich leider nicht geändert, die Sekunde ist immer noch zu lang.
Code:.include"m16def.inc" .def isreg = r15 .def wr0 = r16 .def iwr0 = r17 .def prescaler = r18 .def second = r19 .list rjmp init .org OC1Aaddr rjmp Timerinterrupt Timerinterrupt: ldi wr0, 1<<WGM12^1<<CS12 ; Festlegen des Teilers 265 out TCCR1B, wr0 ldi wr0, high( 34286 ) ;Festlegen des Timervorgabewertes out ocr1ah, wr0 ldi wr0, low( 34286 ) ;Festlegen des Timervorgabewertes out ocr1al, wr0 out tcnt1l, wr0 inc second reti init: ldi wr0, 0xFF out ddrb, wr0 ldi wr0, high( ramend ) out sph, wr0 ldi wr0, low( ramend ) out spl, wr0 ldi wr0, 1<<WGM12^1<<CS12 ; Festlegen des Teilers 265 out TCCR1B, wr0 ldi wr0, high( 34286 ) ;Festlegen des Timervorgabewertes out ocr1ah, wr0 ldi wr0, low( 34286 ) ;Festlegen des Timervorgabewertes out ocr1al, wr0 out tcnt1l, wr0 ldi wr0, 1<<OCIE1A out TIMSK, wr0 sei main: ldi second, 0 _mai1: cpi second, 60 breq main out PORTB, second rjmp _mai1
@Michael
Mit dem was du geschrieben hast, kann ich leider nichts anfangen. Kannst du mir erklären was du meinst?






Zitieren

Lesezeichen