Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Projekt gesucht


von Daniel (Gast)


Lesenswert?

Hallo,
brauche dringend hilfe bei meinem Laufschrift Projekt komm einfach
nicht mehr weiter. Die Hardware ist fertig mein Problem liegt an der
Software!
Hier erstmal ein paar Daten zu meinem Projekt:

Hardware:
Ich benutze 10 mal 5x7 Dotmatrix Bausteine
Die Spalten werden durch 7 kaskadierte 8 Bit Schieberegister
angesteuert. Die Zeilen jeweiles mit einem Pin des Mikrocontrollers.
Dazu kommt noch einen PS/2 Tastaur Anschluss um spaeter den Text
einzugeben.
Das ganze moechte ich Multiplexen!

Software:
Ich habe schon ein Programm geschrieben was aber leider noch nicht
richtig funktioniert.
Koennt ihr mir nun ein paar Vorschlaege schrieben wie ich mein Programm
in etwa aufbauen muss.

Das ganze moechte ich in etwa so aufbauen das ich mit der Tastatur den
Text eingebe und wenn ich Enter druecke es auf der Laufschrift
erscheint.
Einen Zeichensatz habe ich schon.
Mein Problem ist nun wie ich das alles Verbinden muss mit einlesen der
tastatur die daten aus dem zeichensatz holen und dann ausgeben.

Also ich habe schon erfahrung mit Multiplexen, Schieberegister ...

Danke schon im vorraus

MfG
Daniel

von Sebastian (Gast)


Lesenswert?

Hallo,

ich glaube du hast vergessen dein Programm an zu hängen.
Welche Frage hast du konkret?
Hast du nur vergessen Widerstände, Treiber bzw. Transistoren vergessen
zu erwähnen, sonst wird die Anzeige wohl dunkel bleiben.

Ansonsten brauch man doch nur die Zeichen von der Tastatur einlesen, in
deinen Zeichensatz dekodieren und in den RAM schreiben. Im
Timerinterrupt wird dann jeweils das passende rausgeschoben.

Kannst ja mal im Forum nach Propeller Clock und Laufschrift suchen.

Seb

von Daniel (Gast)


Lesenswert?

Meine Hardware stimmt also ich hab es auch schon auf einem anderen Weg
geschaft ein Wort durchlaufen zu lassen. Das ich im Programm aber fest
definiert habe jetzt moechte ich das ganze ja variabel machen.

Ein von meinen Problemen ist das meine Buchstaben 6 Bit lang sind also
6 spalten 5 fuer den buchstaben 1 als leerzeichen. Da ich mit dem
Shiftout Befehl von Bascom aber imnmer nur eine byte variable
rausshiften kann haben die Buchstaben einen zu grossen abstand

von peter dannegger (Gast)


Lesenswert?

Sind das Anzeigen mit internen Treiberstufen und Stromquellen ?

Ansonsten wirst Du große Schwierigkeiten haben, eine konstante
Leuchstärke zu erzielen, bzw. überhaupt erstmal die nötigen 10  5 
20mA = 1A bereitzustellen.

20mA sollten es bei 7-er Multiplex schon sein (= 3mA effektiv).
Das sind dann 10 * 5 Widerstände a 150 Ohm.


Vor dem Schieben must Du natürlich Byteweise umsortieren, also 5 Bit
vom ersten Zeichen + 1 Leerbit + 2 Bit vom 2. Zeichen in ein Byte und
raus damit usw.

In C sieht das dann so aus:

SPDR = (BYTE1 << 3) + 0 + (BYTE2 >> 3);
while(!(SPSR & (1<<SPIF)));
SPDR = (BYTE2 << 5) + 0 + (BYTE3 >> 1);
while(!(SPSR & (1<<SPIF)));

usw.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.