Code:
	.include"8535def.inc"
.def temp=r16
.def infor=r19
.def laenger=r20
.def kommando=r21
.equ quartz=2457600   ;Seite 60,64,XTAL->Baudrategenerator  
.equ baud=9600    
.equ start=65536-39060
.equ highvalue=high(start)
.equ lowvalue=low(start)
.org 0X000
    rjmp reset           ;reset handler
.org 0X008
    rjmp TIM1_OVF        ;time1 overflow handler
reset:                 
  ldi temp,low(RAMEND)
  out spl,temp             ;Seite 21
  ldi temp,high(RAMEND)    ;Stackpoint initialisieren
  out sph,temp
  
 
  ldi temp,1<<TXEN    ;Seite 63
  out UCR,temp        ;Seite 64
  ldi temp,quartz/(baud*16)-1 
  out UBRR,temp       ; UART initialisieren
  
  ldi temp,1<<TOIE1
  out TIMSK,temp      ;time1 interrupt ein , Seite 27
  ldi temp,0b00000101 ;Seite 38
  out TCCR1B,temp     ;bit2-0 define the Prescaling 
                      ;source of Timer/Counter1
  
  sei                 ;interrupts generelle aktivieren
 loop:   
       ldi temp,1
       mov r1,temp
       ldi temp,2
       mov r2,temp
       ldi temp,3
       mov r3,temp
       ldi temp,4
       mov r4,temp
       ldi temp,5
       mov r5,temp
       ldi temp,6
       mov r6,temp
       ldi temp,7
       mov r7,temp
       ldi temp,8 
       mov r8,temp    
    rjmp loop   
senden:
          mov temp,r1     
          rcall senden2   
          mov temp,r2
          rcall senden2
          
          mov temp,r3
          rcall senden2
   
          mov temp,r4
          rcall senden2
          
          mov temp,r5
          rcall senden2
          
          mov temp,r6
          rcall senden2
          
          mov temp,r7
          rcall senden2
          
          mov temp,r8
          rcall senden2
   
         ret
senden2:
       sbis USR,UDRE     ;skip if bit in I/O register set
       rjmp senden2      ;warten bis UDR fuer naechster Btyte 
       out UDR,temp      ;bereit ist,   Datenblatte  Seite 62
       ret   
TIM1_OVF:
                          
       ldi temp,highvalue
       out TCNT1H,temp    ;Datenblaette Seite 38 
       ldi temp,lowvalue  ;Startwert des Timers einstellen 
       out TCNT1L,temp    ;39060 Takt ist 5 Sekunde
        
                          ;nach 5 sekunde ist interrupt ausgeloest
       rcall senden       ;aufrufen Senden Funktion
                
       reti
 [/list]
						
Lesezeichen