Armins AVR-Buch - Programm_Dimmer_mit_einer_Taste

Zuletzt geändert am 09.12.2023, 17:23:38

Programm_Dimmer_mit_einem_Taster


(armin77, 02.01.2013, 16:00:54)

Hier ein Beispielprogramm für einen Dimmer mit nur einem Taster.
Wenn der Taster gedrückt und gehalten wird, wird die LED heller.
Wird der Taster erneut gedrückt und gehalten wird die LED dunkler.

Hier das Programm:

$regfile = "m8def.dat"
$Crystal=1000000
$hwstack=40
$swstack=16
$framesize = 32
Config Portb.1 = Output
Config Portb.0 = Input
Dim Flag As Bit
Dim Zahl As Byte
Portb.0 = 1

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

Do
Debounce Pinb.0 , 0 , Auswertung , Sub
If Pinb.0 = 0 And Flag = 1 And Zahl < 255 Then Incr Zahl
If Pinb.0 = 0 And Flag = 0 And Zahl > 0 Then Decr Zahl
Pwm1a = Zahl
Waitms 30

Loop

Auswertung:

Toggle Flag
Return

End


Hier der Schaltplan:

Bild dimmer.jpg

Den Reseteingang Pin C.6 sollte man zur Störungsvermeidung mit einem Widerstand
auf die +5V Versorgungsspannung legen.