Hilfe bei Projekt gesucht

Gast #140666
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
Gast
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
Gast
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
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.