- das SREG sichern,
haste gemacht...
- den PWM-Treppenzähler erhöhen,
Das ist ein Register, welches du als PWM-Referenz hochzählen musst.
Ich nenne das meistens pwz
.def pwz=r20
- bei Erreichen des Endwertes löschen und LEDs einschalten,
Wenn PWZ den gewünschten Maximalwert (die Anzahl der Helligkeitsstufen
oder Drehzahlstufen bei Motoren) erreicht hat, dann wird PWZ auf 0
gesetzt und der Verbraucher eingeschaltet. Es ist also nicht
erforderlich, bis 255 zu zählen, wenn 20...50 Stufen reichen.
inc pwz ;Zähler hoch
cpi pwz,pwmax ;PWMAX als Konstante definieren (.equ pwmax=20)
brne label1 ;Endwert nicht erreicht, weg hier...
clr pwz ;Zähler löschen,
sbi portb,rot ;LED ein
sbi portb,grün
sbi portb,blau
label1:
- bei Erreichen eines Helligkeitswertes betreffende LED ausschalten,
cp pwz,r2 ;Vergleich mit Helligkeitswert rot
brne label2 ;bei Ungleichheit weg hier...
cbi portb,rot ;rot aus
label2:
cp pwz,r3 ;Vergleich mit Helligkeitswert grün
und so weiter...
- das für alle 3 LEDs bzw Farben der Farb-LED...
wie oben...
- das SREG wiederherstellen
...HanneS...