====== 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 {{tag>BASCOM}}