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

Knight Rider Lauflicht mit Dimm-Effekt

'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
  • elektronik/knight-rider-lauflicht-mit-dimm-effekt.txt
  • Zuletzt geändert: 05.07.2023 12:34
  • (Externe Bearbeitung)