.include "m8def.inc" .def A = r16 .def Richtung = r17 .def Steptime1 = r18 .def Stepcount1= r19 .def Stepsave1 = r20 .equ F_CPU = 16000000 ; Systemtakt in Hz .equ BAUD = 9600 ; Baudrate ; Berechnungen .equ UBRR_VAL = ((F_CPU+BAUD*8)/(BAUD*16)-1) ; clever runden .equ BAUD_REAL = (F_CPU/(16*(UBRR_VAL+1))) ; Reale Baudrate .equ BAUD_ERROR = ((BAUD_REAL*1000)/BAUD-1000) ; Fehler in Promille .if ((BAUD_ERROR>10) || (BAUD_ERROR<-10)) ; max. +/-10 Promille Fehler .error "Systematischer Fehler der Baudrate grösser 1 Prozent und damit zu hoch!" .endif .org 0x0000 rjmp Start .org 0x0004 rjmp Motor1 Start: ldi r16, HIGH(UBRR_VAL) out UBRRH, r16 ldi r16, LOW(UBRR_VAL) out UBRRL, r16 ldi r16, (1<