Hallo Leute!

Ich fange gerade an meine ersten Sachen zu programmieren, allerdings kommt das STK500 das ich bestellt habe erst in einer Woche. Da ich allerdings trotzdem schon mal ein Programm schreiben will (bissi einlesen) habe ich gleich einmal mit LEDs angefangen. Was sicher jeder schon kennt is das ein und ausschalten. Ich habe allerdings noch eine kleine Erweiterung dazu, ich will das LED auch dimmen. Dazu verwende ich eine Hardware PWM. Da ich allerdings noch nie etwas damit gemacht habe, kenn ich mich quasi 0 aus.

Derzeit kann ich (glaube ich) nur eine bestimmte LED dimmen. Ich will das aber auch auf einen anderen eingang machen.
Wie kann man einstellen das man nicht den OCR0 Port als Ausgang für den Timer haben will, sondern PortB, 0?

Hier ist mein Assembler Code:
Code:
.include "m16def.inc"

.def temp = r16

.org 0x000               ; kommt ganz an den Anfang des Speichers
	rjmp main            ; Interruptvektoren überspringen
                         ; und zum Hauptprogramm
	rjmp EXT_INT0        ; IRQ0 Handler
	rjmp EXT_INT1        ; IRQ1 Handler
	reti ;TIM2_COMP
	reti ;TIM2_OVF
	reti ;TIM1_CAPT       ; Timer1 Capture Handler
	reti ;TIM1_COMPA      ; Timer1 CompareA Handler
	reti ;TIM1_COMPB      ; Timer1 CompareB Handler
	reti ;TIM1_OVF        ; Timer1 Overflow Handler
	rjmp TIM0_OVF        ; Timer0 Overflow Handler
	reti ;SPI_STC         ; SPI Transfer Complete Handler
	reti ;USART_RXC       ; USART RX Complete Handler
	reti ;USART_DRE       ; UDR Empty Handler
	reti ;USART_TXC       ; USART TX Complete Handler
	reti ;ADC             ; ADC Conversion Complete Interrupt Handler
	reti ;EE_RDY          ; EEPROM Ready Handler
	reti ;ANA_COMP        ; Analog Comparator Handler
	reti ;TWSI            ; Two-wire Serial Interface Handler
	reti ;SPM_RDY         ; Store Program Memory Ready Handler

main:
;Stackpointer
	ldi temp, LOW(RAMEND)
	out SPL, temp
	ldi temp, HIGH(RAMEND)
	out SPH, temp
;Aus/Eingänge
	ldi temp, 0x00
	out DDRD, temp			;Eingang

	ldi temp, 0xFF
	out DDRB, temp			;Ausgang
;Interrupteingänge
	ldi temp, 0b00001001	;INT0 und INT1 konfigurieren
	out MCUCR, temp

	ldi temp, 0b11000000	;INT0 und INT1 aktivieren
	out GIMSK, temp
;PWM
	ldi temp, 0b01110010	;Einstellungen siehe Seite 81-83
	out TCCR0, temp

	ldi temp, 0b11111111
	out OCR0, temp			;Stellt die Einschaltzeit ein (Alles gesetzte --> immer ein, alles aus --> immer aus)
;Interrupts freigeben
	sei						;Interrupts allgemein aktivieren
	
Ende:
	jmp ende

	
EXT_INT0:
	sbi PortB, 0
	reti

EXT_INT1:
	cbi PortB, 0
	reti

TIM0_OVF:
	reti
Ich weiß allerdings nicht warum ich für die PWM den Time0_OVF brauche, kann ich den auch weglassen?

mfg Gerko