mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 5x7 LED - ASCII Charset


Autor: Ebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

Ich versuche mittels 8 Stück 5x7 LED-Matrizen eine Anzeige aufzubauen 
die anhand von Tastatureingabe eben jene Zeichen (Buchstaben+Zahlen) 
darstellt. Das ganze sollte wohl so funktionieren, dass ich über einen 
.db-Befehl einen kompletten Zeichensatz in den SRAM speichere und dann 
über den Z-Pointer bei Bedarf hereinlade und dann darstelle?

Nur habe ich Zeichensätze für 5x8 bis 7x12 gefunden - nur keine solchen. 
Hat da wer evtl so einen Zeichensatz?

Und zweitens - bin mit Pointern nicht so bewandert - aber sieht das dann 
so in etwa aus?

Und drittens - ich habe das ganze so standardmäßig mit Zeilen 
multiplexen und Spalten Schieberegister aufgebaut (ATMega16, 74HC595, 
74HC259) wie setz ich so ein Zeichen in so einem Zeichensatz überhaupt 
ein?

Danke für die Hilfe

Greetz Ebi

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ebi wrote:

> Nur habe ich Zeichensätze für 5x8 bis 7x12 gefunden - nur keine solchen.

Kannst 5*8 nehmen, es müssen nur ein paar Kleinbuchstaben hochgesetzt 
werden (g,p,q,ß,y).

Der Zeichensatz wird direkt aus dem Flash ausgegeben (LPM), SRAM ist 
Unsinn.


Peter

Autor: Ebi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Okay - ja klar Flash - da hab ich mich vertan in aller Eile...danke für 
die Antwort.

Ja gut da hab ich dann diese Charsets - die sind im Anhang.

Und wie füg ich die dann in meinem Programm ein bzw. wie stelle ich die 
Kleinbuchstaben die du gesagt hast hoch?

Autor: Peremptor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mal unabhängig von Programmiersprachen (und dem inzwischen 5 Jahre alten 
Thread) wüsste ich doch mal ganz gerne, wie das nun funktioniert...

Wie kommt man von

0x7E, 0x11, 0x11, 0x11, 0x7E  (hex)
126   17    17    17    126   (dez)
1111110 0010001 0010001 0010001 1111110 (bin)

auf das "A" (5x7), welches in Hex dargestellt doch 0x41 ist?!
(oder aus der obigen RAR-Datei: 0x00,0x04,0x0A,0x0A,0x1F,0x11,0x00,0x00)


Irgendwelche Freaks wissen die Antwort und stellen uns überall passende 
Charsets zur Verfügung 
(http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=12...), 
vielleicht könnte mal einer von denen seine Gedankengänge für Newbies 
erklären?

Ich wäre sehr dankbar (und alle anderen, die wegen dieses Problems 
jemals Google betätigt haben, wahrscheinlich auch).

LG

Peremptor

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist halt ein ziemlich eckiges "A". Der Trick an der Sache: Die Bits sind 
im Beispiel senkrecht angeordnet, und zudem von unten nach oben. Das A 
sieht also folgendermaßen aus:

0 x x x 0
x 0 0 0 x
x 0 0 0 x
x 0 0 0 x
x x x x x
x 0 0 0 x
x 0 0 0 x

Damit man die Form besser erkennt, sind die 1en als "x" dargestellt.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peremptor schrieb:

> Wie kommt man von
>
> 0x7E, 0x11, 0x11, 0x11, 0x7E  (hex)
> 126   17    17    17    126   (dez)
> 1111110 0010001 0010001 0010001 1111110 (bin)
>
> auf das "A" (5x7), welches in Hex dargestellt doch 0x41 ist?!

0x41 ist der Index in die Tabelle.
Mit dem Wert gehst du also in die Tabelle, kriegst (hier) 5 Bytes raus 
und die 1 Bit in diesen 5 Bytes sagen dir, welche LED einzuschalten sind 
damit dein Hirn aus dem Muster der leuchtenden LED ein 'A' macht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.