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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.