Gast
#65694
Hallo, meiner Meinung nach, müsste der Timer sofort nachdem das Programm gestartet wurde, die 2 LEDs an PORTB wieder ausschalten, aber sie bleiben komischerweise an. Vielleicht hat jemand einen Hinweis, was ich falsch gemacht habe. Vielen Dank im voraus! Gruß Philipp .include "m8def.inc" .def temp = r16 ;----------------- ;Interrupt-Tabelle ;----------------- .org 0x000 rjmp reset .org 0x009 rjmp timer0 ;----------------- timer0: ldi temp, 0b11111111 out PORTB, temp reti reset: ;---------------------- ;Interrupts ausschalten ;---------------------- cli ;---------------------- ;-------------- ;Stack anlgegen ;-------------- ldi temp, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp ldi temp, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp ;-------------- ;---------------------- ;Interrupts einschalten ;---------------------- sei ;---------------------- ;----------------- ;PortB als Ausgabe ;----------------- ldi temp, 0xFF out DDRB, temp ;----------------- ;--------------------- ;beide LEDs anschalten ;--------------------- ldi temp, 0b11111100 out PORTB, temp ;-------------------- ;---------- ;Timer-Init ;---------- in temp, TIMSK sbr temp, 0b00000001 out TIMSK, temp ldi temp, 0 out TCNT0, temp ; Startwert des Timers ldi temp, 0b00000101 out TCCR0, temp ; Timer starten mit Vorteiler 1024 ;---------- main: rjmp main