Gast
#127784
Hallo Leute, habe mir nen Counter erstellt doch dieser will nicht so ganz hat einer eine Idee wieso nicht hier mein Sourecode, ich hoffe ihr findet meinen Fehler, ich verzweifel! Auch so kleine Beschreibung wie es mal laufen sollte Taster wird 3 mal gedrückt bei falender Flanke löst ein Interrupt Port B aus (LED). Vielen Dank! .include "8515def.inc" .def temp = r16 .equ start = 256 - 3 rjmp reset ; Reset Handler reti ; IRQ0 Handler reti ; IRQ1 Handler reti ; Timer1 Capture Handler reti ; Timer1 compare Handler reti ; Timer1 Overflow Handler rjmp counter0 ; Timer0 Overflow Handler reti ; SPI Transfer Complete Handler reti ; UART RX Complete Handler : RXCIE reti ; UDR Empty Handler reti ; UART TX Complete Handler reti ; ADC Conversion Complete Interrupt Handler reti ; EEPROM Ready Handler reti ; Analog Comparator Handler reset: ldi temp, RAMEND out SPL, temp ; set stack pointer ldi temp, 0x00 out DDRD, temp ; PORTD configured for input ldi temp, 0xFF out DDRB, temp ; PORTB configured for output ldi temp, 0xFF out PORTB, temp ; LEDs ausschalten ldi temp, 1<<TOIE0 ; 0000 0010 out TIMSK, temp ; timer 0 interrupt ein ldi temp, start out TCNT0, temp ; Startwert des Counters ldi temp, 0b00000111 out TCCR0, temp ; Counter inkrementiert bei fallender Flanke an Pin T0 (Pin 4 von Port D) sei ; interrupts generell aktivieren main: loop: rjmp loop ;-------------------------------------------------- counter0: ldi temp, 0x00 out PORTB, temp ; wait ca. 1 seconds ldi r17, 0 ldi r18, 0 ldi r19, 35 delay: dec r17 brne delay dec r18 brne delay dec r19 brne delay ldi temp, 0xFF out PORTB, temp ldi temp, start out TCNT0, temp ; Startwert des Counters neu einstellen reti