.include "4433def.inc" ;bzw. 2333def.inc .org 0x000 ; Programm kommt an Anfang von PROM .def temp = r16 ; temporäres Register definieren .def cntrl = r17 ; 16BIT Counter defineren .def cntrh = r18 .def flanke = r19 ; Flag für Signalflanke .def flag = r20 ; Steuer-Flag defineren .def servoout = r21 ; Wert der an Servo ausgegeben wird .def temp1 = r22 ; noch ein temp initint: rjmp init ; RESET reti ; IRQ0 reti ; IRQ1 rjmp timer ; T1 Capture reti ; T1 Compare rjmp overflow ; T1 Overflow rjmp pulse ; T0 Overflow reti ; SPI Transfer complete reti ; UART RX Complete reti ; UDR Empty reti ; UART TX Complete reti ; ADC complete reti ; EEPROM Ready reti ; Analog Comparator init: ldi temp, RAMEND out SPL, temp ;Stackpointer initialisieren ldi temp, 0b00000000 out DDRB, temp ; Port B als Eingang ldi temp, 0b11111111 out DDRD, temp ; Port D als Ausgang ldi temp, 0b11111111 out PORTD, temp ; '1' an Port D sbi UCSRB, TXEN ldi temp, 4000000 /(9600*16)-1 out UBRR,temp ; 9600 BAUD bei 4 MhZ ldi temp, 0b11000001 out TCCR1B, temp ; Timer 1 auf kein Teiler stellen ; setzt ICES1-Bit und ICNC1-Bit ldi flanke,1 ; Flag für steigende Flanke setzen ldi temp, 1<