.include "8515def.inc" .org 0x000 ; Programm kommt ganz an den Anfang des Speichers .def temp = r16 ; Register für Zwischenspeicherung ist R 16 rjmp init ; Reset Handler reti ; IRQ0 Handler reti ; IRQ1 Handler reti ; Timer1 Capture Handler reti ; Timer1 compare Handler reti ; Timer1 Overflow Handler rjmp Timer ; Timer0 Overflow Handler reti ; SPI Transfer Complete Handler reti ; UART RX Complete Handler reti ; UDR Empty Handler reti ; UART TX Complete Handler reti ; ADC Conversion Complete Interrupt Handler reti ; EEPROM Ready Handler reti ; Analog Comparator Handler Init: ldi temp, 0b11111111 out DDRB, temp ;Port B als Ausgang ldi temp, 0b00000100 ;Timer 0 auf CK 1024 einstellen out TCCR0, temp ldi temp, 61 ;Timer 0 auf 195 einstellen out TCNT0, temp ldi temp, 0b00000010 ;Timer 0 Interrupt initialisieren out TIMSK, temp sei ;Interrupts allgemein aktivieren MAIN: nop ldi r16, 0xff ; LEDS aus out PORTB, r16 rjmp MAIN ; im Hauptprogramm bleiben Timer: ldi temp, 61 ; Timer nachladen out TCNT0, temp ldi r16, 0x00 ; LEDS an out PORTB, r16 reti ; zurück