Atmega8 pwm Dimmen über 5 Schalter

OP #2843236
Lesenswert?

Fakten

Atmega8
Bascom

Aloha!

Ich stell mich ein wenig doof an. Ich suche eine Möglichkeit, am PWM 
Ausgang des Atmega8 eine Dimmfunktion über 5 Schalter einzustellen. 
Sprich jeder Schalter hat einen anderen Dimmwert (Compare1a = 1 usw.)

Ich würde es gerne so machen, dass wenn ich keinen Schalter betätige, 
der PWM Ausgang auch null ist und nicht, wie jetzt mit diesem Programm, 
immer den letzten Wert anzeigt.

Hier mal das Programm:


$regfile = "m8def.dat"
$crystal = 1000000

Config Pind.0 = Input
Config Pind.1 = Input
Config Pind.2 = Input
Config Pind.3 = Input
Config Pind.4 = Input

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1

Portd.0 = 1
Portd.1 = 1
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1

Do

   If Pind.0 = 0 Then
      Compare1a = 1023
   Elseif Pind.1 = 0 Then
      Compare1a = 750
   Elseif Pind.2 = 0 Then
      Compare1a = 500
   Elseif Pind.3 = 0 Then
      Compare1a = 250
   Elseif Pind.4 = 0 Then
      Compare1a = 0
   Elseif Pinb.1 = 0 Then
   End If

Loop


End

Wie bekomme ich das nur hin?
#2843255
Lesenswert?

C. Wott schrieb:
> Ich würde es gerne so machen, dass wenn ich keinen Schalter betätige,
> der PWM Ausgang auch null ist und nicht, wie jetzt mit diesem Programm,
> immer den letzten Wert anzeigt.

D.h. der PWM-Wert ist nur so lange aktiv, solange der Taster gedrückt 
ist, ansonsten ist er 0.


C. Wott schrieb:
> If Pind.0 = 0 Then
>       Compare1a = 1023
>    Elseif Pind.1 = 0 Then
>       Compare1a = 750
>    Elseif Pind.2 = 0 Then
>       Compare1a = 500
>    Elseif Pind.3 = 0 Then
>       Compare1a = 250
>    Elseif Pind.4 = 0 Then
>       Compare1a = 0
>    Elseif Pinb.1 = 0 Then
>    End If


Ich würde das so machen:

If Pind.0 = 0 Then
      Compare1a = 1023
   Elseif Pind.1 = 0 Then
      Compare1a = 750
   Elseif Pind.2 = 0 Then
      Compare1a = 500
   Elseif Pind.3 = 0 Then
      Compare1a = 250
   Elseif Pind.4 = 0 Then
      Compare1a = 0
   Else
      Compare1a = 0
   End If


Sollte theoretisch funktionieren

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren