.include "m64def.inc" ; bzw. 2333def.inc .equ CLOCK = 2000000 .equ BAUD = 9600 .equ UBRRVAL = CLOCK/(BAUD*16)-1 .DEF mp = R16 .def cnt=R18 .DEF sek = R17 .DEF z1 = R0 .DEF ri = R1 .def rel = r19 .org 0x00 rjmp main .org 0x0024 rjmp usart_rx usart_rx: sbi PORTC, 4 push mp ;mp Speichern in mp, UDR0 ;USART auslesen cpi mp, '1' ;mit 1 vergleiche brne rx_1 ;wenn nicht 1 dann weiter sbi PORTC, 0 ;wenn 1 dann relaise 1 Schalten rx_1: cpi mp, '2' ;mit 2 vergleiche brne rx_2 ;wenn nicht 2 dann weiter sbi PORTC, 1 ;wenn 2 dann relaise 2 Schalten rx_2: cpi mp, '3' ;mit 3 vergleiche brne rx_3 ;wenn nicht 3 dann weiter sbi PORTC, 2 ;wenn 3 dann relaise 3 Schalten rx_3: cpi mp, '4' ;mit 4 vergleiche brne rx_4 ;wenn nicht 4 dann weiter sbi PORTC, 3 ;wenn 4 dann relaise 4 Schalten rx_4: cpi mp, '5' ;mit 5 vergleiche brne rx_end ;wenn nicht 5 dann weiter sbi PORTC, 4 ;wenn 5 dann relaise 5 Schalten rx_end: ldi mp ,0x00 out PORTC, mp ; Alle Relais zurückstellen pop mp ;mp Lesen reti main: ldi mp, LOW(RAMEND) out SPL, mp ldi mp, HIGH(RAMEND) out SPH, mp ldi mp, 0xFF ; Port C = Ausgang out DDRC, mp ldi mp, 0x00; sts UBRR0H, mp ldi mp ,UBRRVAL ; Baud einstellen sts UBRR0L, mp ldi mp, (1<