elektronik:knight-rider-lauflicht-mit-dimm-effekt

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

elektronik:knight-rider-lauflicht-mit-dimm-effekt [08.12.2024 21:53] – angelegt Martin Fitzelelektronik:knight-rider-lauflicht-mit-dimm-effekt [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 +====== Knight Rider Lauflicht mit Dimm-Effekt ======
  
 +<code bascomavr [enable_line_numbers="true"]>
 +'Lauflicht mit Knight-Rider-Effekt.
 +'LEDs werden per Software-PWM über Timer1 ausgedimmt.
 +'http://www.youtube.com/watch?v=yFvASu5q8dU
 +'für STK500
 +'Dieser Quelltext steht unter der CC-Lizenz
 +'http://creativecommons.org/licenses/by-nc-sa/3.0/de/
 +'Namensnennung-Keine kommerzielle Nutzung-Weitergabe unter gleichen Bedingungen
 +'Michael Kinz
 +$regfile = "m16def.dat"
 +$crystal = 8000000
 +$hwstack = 32
 +$swstack = 24
 +$framesize = 16
 +Ddrc = 255
 +Portc = 255
 +Dim A As Byte
 +Dim B As Byte
 +Dim Z As Byte
 +Dim X As Byte
 +Dim Zeit As Word
 +Dim Richtung As Bit
 +Dim Led(8) As Byte
 +Config Timer0 = Timer , Prescale = 64
 +Enable Timer0
 +Enable Interrupts
 +On Timer0 Timer0_interrupt
 +A = 1
 +Portc = 0
 +Waitms 200
 +Do
 +'nächste LED alle 0,1 sec
 +If Zeit > 50 Then
 + Led(a) = 255                                               'LED "aufladen"
 + If Richtung = 0 Then
 +  A = A + 1
 +  If A = 8 Then
 +   Richtung = 1
 +  End If
 + Else
 +  A = A - 1
 +  If A = 1 Then
 +   Richtung = 0
 +  End If
 + End If
 + Zeit = 1
 +End If
 +Z = Z + 1
 +'Soft PWM
 +'Vergleich zwischen frei laufendem Zähler Z und LED()-Wert
 +For B = 1 To 8
 + If Led(b) > Z Then
 +  B = B - 1
 +  Portc.b = 0
 + Else
 +  B = B - 1
 +  Portc.b = 1
 + End If
 + B = B + 1
 +Next
 +Loop
 +End
 +'----------------
 +Timer0_interrupt:
 +Timer0 = 6
 +' Prescale = 64 + Timer0 = 6 = 500Hz
 +' Bei LED-Startwert von 255 ist nach 0,51 Sekunden ausgedimmt
 +Zeit = Zeit + 1
 +For X = 1 To 8
 + If Led(x) > 0 Then
 +  Led(x) = Led(x) - 1                                       'LEDs "entladen"
 + End If
 +Next
 +Return
 +</code>
 +
 +
 +{{tag>BASCOM}}