PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Laufschrift eigenbau - brauche etwas Starthilfe



sutter.michi
28.11.2010, 21:55
Hallo erstmal!

Ich möchte mir gerne eine Laufschrift bauen. Das ganze mit 8x8 LED Dot-Matrix Anzeigen. Ich habe dazu auch schon im Internet recherchiert, und herausgefunden, dass ich am besten das Schieberegister 74HC595 verwende. Dazu habe ich auch einen Schaltplan gefunden (im Anhang).
Ich möchte das ganze mit einem ATmega8 aufbauen.

Nun aber zu meiner eigentliche Frage. Im Moment habe ich nur eine 8x8 Matrix angeschlossen und möchte einfach nur ein stehendes M anzeigen. Dazu habe ich folgenden Bascom Code geschrieben:

'Text LED Dot-Matrix Anzeige


$regfile = "M8def.dat"

Config Portb = Output
Config Portd = Output

Daten Alias Portb.0
Schieben Alias Portb.1
Speichern Alias Portb.2

$crystal = 1000000


'************************************************* ******************************

Do

Portd = 0
Daten = 1
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Daten = 0
Waitms 2

Portd = &B01111111
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2

Portd = &B00000010
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2

Portd = &B00000100
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2

Portd = &B00000100
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2

Portd = &B00000010
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2

Portd = &B01111111
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2

Portd = 0
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2

Portd = 0
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2

Loop

Nun ist es aber so dass auf der Anzeige das M angezeigt wird aber gleichzeitig um eine Stelle nach vorne verschoben ein schwach leuchtendes zweites M dargestellt wird (auf dem Foto sieht man es gereade noch, ich habe leider nur meine Handykamera da).
Weiss jemand was ich da Falsch mache??

Gruss und vielen Dank im Vorraus!

Michi

Jaecko
28.11.2010, 22:38
Das ist nach deinem Code "normal". Du setzt die neuen Daten ja schon, bevor du weitershiftest. Dieser kurze Moment bis weitergeschiftet wird, reicht schon, um die LEDs zum Glimmen zu bringen.
Normalerweise wird dieses Output Enable/Update/Speichern/wie es auch immer genannt wird vor dem Zuweisen deaktiviert wird. Sind alle Daten geschrieben, wird wieder an der Leitung gezupft und alle Daten werden übernommen.

Jetzt machst du's ja so:


Portd = neuer Wert
Toggle Schieben
Toggle Schieben
Toggle Speichern
Toggle Speichern
Waitms 2


Probiers mal so:


Toggle Speichern
Portd = Wert zuweisen
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2


Dann müsste das Geisterbild theoretisch verschwinden (wenns denn diese Ursache war)

sutter.michi
28.11.2010, 23:56
Das habe ich nun versucht:


'Text LED Dot-Matrix Anzeige


$regfile = "M8def.dat"

Config Portb = Output
Config Portd = Output

Daten Alias Portb.0
Schieben Alias Portb.1
Speichern Alias Portb.2

$crystal = 1000000


'************************************************* ******************************

Do
Daten = 1
Toggle Speichern
Portd = 0
Toggle Schieben
Toggle Schieben
Toggle Speichern
Daten = 0
Waitms 2

Toggle Speichern
Portd = &B01111111
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2

Toggle Speichern
Portd = &B00000010
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2

Toggle Speichern
Portd = &B00000100
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2

Toggle Speichern
Portd = &B00000100
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2

Toggle Speichern
Portd = &B00000010
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2

Toggle Speichern
Portd = &B01111111
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2

Toggle Speichern
Portd = 0
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2

Toggle Speichern
Portd = 0
Toggle Schieben
Toggle Schieben
Toggle Speichern
Waitms 2

Loop

Man sieht jedoch immernoch ein zweites M nur ist es dieses Mal nach hinten verschoben.
Ich habe jedoch das Gefühl, dass die Led's von zweiten M ein wenig schwächer leuchten.