;******************************************************* .include "4433def.inc" .def temp = r16 ;******************************************************* .equ CLOCK = 4194304 .equ BAUD = 19200 .equ UBRRVAL = CLOCK/(BAUD*16)-1 .org 0x000 rjmp RESET reti reti reti reti reti reti reti ;rjmp Urxc ;RX Complete reti reti ;rjmp TX_complete reti ;rjmp analog_komparator RESET: ldi r16, RAMEND out SPL, r16 ldi r16, 0xFF out DDRC, r16 out PORTC, r16 ;Baudrate einstellen ldi temp, LOW(UBRRVAL) out UBRRL, temp ldi temp, HIGH(UBRRVAL) out UBRRH, temp sbi UCSRB,TXEN ;TX aktivieren sbi UCSRB, RXEN ; RX (Empfang) aktivieren sei start: ldi temp, 0b11111110 <-- nur diese LED geht an !? out PORTC, temp ldi temp, 'A' rcall serout ldi temp, 'T' rcall serout ldi temp, 'D' rcall serout ldi temp, '0' rcall serout ldi temp, '1' rcall serout ldi temp, '2' rcall serout ldi temp, 10 rjmp serout ldi temp, 13 rjmp serout ldi temp, 0b11100000 <-- diese nicht mehr out PORTC, temp ende: rjmp ende serout: sbis UCSRA,UDRE ;Warten, bis UDR für das nächste Byte bereit ist rjmp serout out UDR, temp ret ;zurück zum Hauptprogramm