O man, das ist jetzt echt lustig hier...
Assembler...
zuerst machen wir uns einen "Merker"
Code:
.equ LED2 = 0
.def Merkerregister = R17
..
..
..
clr Merkerregister
jetzt ein Interrupt, der sagenwirmal alle 25 mS aufgeführt wird.
Code:
interrupt:
...
...
...
sbrc Merkerregister,LED2
rjmp led2sollleuchten
sbr Merkerregister,(1<<LED2)
rjmp zweiteled
led2sollleuchten:
cbr Merkerregister,(1<<LED2)
sbic PORTB,PB2
rjmp led2sollleuchten_
sbi PORTB,PB2
rjmp zweiteled
led2sollleuchten_:
cbi PORTB,PB2
zweiteled:
sbic PORTB,PB1
rjmp zweiteled_
sbi PORTB,PB1
rjmp fertig
zweiteled_:
cbi PORTB,PB1
fertig_:
...
...
reti
So in etwa PB2 wird nur jeden zweiten durchgang getoggelt, alle 50 mS und PB1 wird bei jedem Durchgang umgeschaltet...
Bedenke daß es nur ein Pseudocode ist.
Gruß Sebastian
Lesezeichen