.include "m8def.inc" .def flag_register = r24 .def counter_reg = r3 .def speicher = r4 .def temp1 = r16 .def temp2 = r17 .def temp3 = R18 .def zahl1 = r19 .def zahl2 = r20 .def zahl3 = r21 .equ t1compare=15776/4 ;=1s .equ t1comparehigh=high(t1compare) .equ t1comparelow=low(t1compare) .equ AVRTakt=1 .equ CLOCK = 1000000 .equ BAUD = 4800 .equ UBRRVAL = CLOCK/(BAUD*16)-1 ;Anschlussbelegung: ; Datenleitungen -> Port D ; RS -> PB 0 ; RW -> GND ; E -> PB2 ; CS -> GND ; Reset -> Vcc rjmp RESET ; Reset Handler reti ;rjmp EXT_INT0 ; IRQ0 Handler reti ;rjmp EXT_INT1 ; IRQ1 Handler reti ;rjmp TIM2_COMP ; Timer2 Compare Handler reti ;rjmp TIM2_OVF ; Timer2 Overflow Handler reti ;rjmp TIM1_CAPT ; Timer1 Capture Handler rjmp TIM1_COMPA ; Timer1 CompareA Handler reti ;rjmp TIM1_COMPB ; Timer1 CompareB Handler reti ;rjmp TIM1_OVF ; Timer1 Overflow Handler reti ;rjmp TIM0_OVF ; Timer0 Overflow Handler reti ;rjmp SPI_STC ; SPI Transfer Complete Handler reti ;rjmp USART_RXC ; USART RX Complete Handler reti ;rjmp USART_UDRE ; UDR Empty Handler reti ;rjmp USART_TXC ; USART TX Complete Handler reti ; rjmp ADC ; ADC Conversion Complete Handler reti ;rjmp EE_RDY ; EEPROM Ready Handler reti ;rjmp ANA_COMP ; Analog Comparator Handler reti ;rjmp TWSI ; Two-wire Serial Interface reset: ldi temp1, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp1 ;Stack-Pointer setzen ldi temp1, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp1 clr temp2 ldi temp1, 0xFF ;Port B+D = Ausgang out DDRB, temp1 out DDRD, temp1 ; Baudrate einstellen ; ldi temp1, LOW(UBRRVAL) ; out UBRRL, temp1 ; ldi temp1, HIGH(UBRRVAL) ; out UBRRH, temp1 ; Frame-Format: 8 Bit ; ldi temp1, (1<