hi nochmals!

Habe gerade mit dem Codewizard etwas rumprobiert, (hab ihn vorher nie benutzt) und folgendes ist bei rausgekommen:

Code:
;-------------------------------------------------------------------------
; Titel : Helligkeitssteuerung einer LED mit PWM
;-------------------------------------------------------------------------
; Funktion :
; Schaltung : PORTC0=Pot1, PORTB1=LED Rot
;-------------------------------------------------------------------------
; Prozessor : ATmega8
; Takt : 3686400 Hz
; Sprache : 
; Datum : 1.4.2007
; Version : 1.0
; Autor : 
; Programmer: 
; Port : 
;-------------------------------------------------------------------------
; created by myAVR-CodeWizard
;-------------------------------------------------------------------------
.include "avr.h"

begin: 	rjmp 	main 	; 1 POWER ON RESET
 	reti 	 	; 2 Int0-Interrupt
 	reti 	 	; 3 Int1-Interrupt
 	reti 	 	; 4 TC2 Compare Match
 	reti 	 	; 5 TC2 Overflow
 	reti 	 	; 6 TC1 Capture
 	reti 	 	; 7 TC1 Compare Match A
 	reti 	 	; 8 TC1 Compare Match B
 	reti 	 	; 9 TC1 Overflow
 	reti 	 	;10 TC0 Overflow
 	reti 	 	;11 SPI, STC Serial Transfer Complete
 	reti 	 	;12 UART Rx Complete
 	reti 	 	;13 UART Data Register Empty
 	reti 	 	;14 UART Tx Complete
 	rjmp 	onADC 	;15 ADC Wandlung komplett
 	reti 	 	;16 EEPROM Ready
 	reti 	 	;17 Analog Comparator
 	reti 	 	;18 TWI (I²C) Serial Interface
 	reti 	 	;19 Store Program Memory Ready

;------------------------------------------------------------------------
; Initialisierungen
;------------------------------------------------------------------------
main:
 	;--- Stack Initialisierung ---
 	ldi r16,hi8(RAMEND)
 	out SPH,r16
 	ldi r16,lo8(RAMEND)
 	out SPL,r16
 	; Ports initialisieren
 	sbi 	DDRB,1 	; PORTB1 auf Ausgang
 	;--- Timer 1 initialisieren ---
 	ldi 	r16,0b00000010 	; Teiler 1/8
 	ori 	r16,0b00001000 	; Modus: Zählen bis Vergleichswert (WGM12=1)
 	out 	TCCR1B,r16 	; Teiler+Modus schreiben (soll 50Hz sein)
 	ldi 	r16,lo8(9216) 	; Vergleichswert speichern
 	ldi 	r17,hi8(9216)
 	out 	OCR1AH,r17
 	out 	OCR1AL,r16
 	ldi 	r16,0b01100000 	; Port, Referenzspannung und Auflösung
 	out 	ADMUX,r16
 	ldi 	r16,0b11101101 	; Modus, Interrupt und Start
 	out 	ADCSRA,r16
 	;--- Interrupts erlauben ---
 	sei
;------------------------------------------------------------------------
; Hauptprogramm-Schleife
;------------------------------------------------------------------------
mainloop: 	wdr 	 	
 	; ...
 	rjmp 	mainloop 	; Sprung zum Beginn der Hauptprogrammschleife
 	
;--------------------------------------------------------------------
; onADC - Interrupt bei ADC Wandlung komplett
;--------------------------------------------------------------------
onADC:
 	push 	r16 	; Register retten
 	push 	r17
 	push 	r18
 	push 	r19
 	in 	r16,SREG 	; Statusregister retten
 	push 	r16
 	; Beginn der Ereignisbehandlung
 	in 	r16,ADCH 	; Einlesen des Analogwertes
 	
 	;.....??
 	
 	pop 	r16 	; Statusregister wiederherstellen
 	out 	SREG,r16 	
 	pop 	r19 	; Register wiederherstellen
 	pop 	r18
 	pop 	r17
 	pop 	r16
 	reti 	 	;Rücksprung
Ich habe mir beide Programme genau angeschaut, aber ich versteh einfach nicht wie ich das jetzt zusammen bekommen soll
Meine Gedanken dazu bis jetzt wären wie folgt: Unter Mainloop würd ich jetzt ein "rcall initpwm" und dann unten dran


Code:
initPWM:	push	r16
	sbi	PORTB,1
	ldi	r16,0b10000001
	out	TCCR1A,r16
	ldi	r16,0b00000010
	out	TCCR1B,r16
	pop	r16
	ret
wenn das schonmal stimmt, dann frag ich mich aber wo ich denn den Analogwert, den ich ja umgewandelt (?) hab, hin muss????? Ich versteh wirklich nur Bahnhof im moment...

*verwirrt*