Forum: PC-Programmierung S: 7 Segment lookup Table für Buchstaben


von AchimW (Gast)


Lesenswert?

Hallo,
ich schreibe gerade ein Programm (Java), das 7 Segment Anzeigen 
ansteuern soll. Zusätzlich zu den Ziffern will ich auch mal die 
Buchstaben vorhalten.
Ich suche eine Lookup Table für Buchstaben und Zeichen, am besten für 
alle 128 ASCII Zeichen.

Müsste es ja in einigen Programmen schon geben, habe aber keinen 
Sourcecode gefunden.

Kennt jemand so was ?

Achim

von Paul Baumann (Gast)


Lesenswert?

Alle Zeichen wirst Du nicht anzeigen können, da bei 7-Segmenten die
"Schrägstriche" fehlen.  Beispiel: "N" oder "Z"

MfG Paul

von AchimW (Gast)


Lesenswert?

Hallo Paul,
kennst Du so eine Tabelle?

Achim

von jz (Gast)


Lesenswert?

AchimW schrieb:
> alle 128 ASCII Zeichen

Dann stell dir mal vor, was der Unterschied zwischen B und 8, zwischen 
5, S und s und zwischen A und R usw. ist, wie du die verschiedenen 
Klammern darstellen und von I und l unterscheiden willst und 
schlussendlich wie Y,y,X,x,Q,q,p,<,>,%,",i,j,W,w,!, ,, ;, ., +, *, # 
usw. aussehen sollen.

von AchimW (Gast)


Lesenswert?

Ich suche so eine Tabelle. Am besten ein OpenSource Projekt, wo so eine 
verwendet wird.
Ich habe zwar ein Java-Projekt. Aber C würde wohl genauso gehen.

von Forumsfrustrierter (Gast)


Lesenswert?

AchimW schrieb:
> Ich suche so eine Tabelle. Am besten ein OpenSource Projekt, wo so

Du musst zuerst einmal erklären, warum du das überhaupt brauchst. Viel 
besser ist, du kaufst dir ein LCD oder OLED weil die kosten ja nicht die 
Welt.

Ausserdem warum programmierst du das in java, wie sollen wir dir helfen 
wenn wir nicht wissen ob die Sprache für das Projekt geeignet ist. Und 
ausserdem ist APL ohnehin viel besser.

Bist du sicher, dass du nicht statt ASCII viel besser EBCDIC nimmst aber 
das kann man ja nicht wissen wenn du nicht dazusagst, welche Schuhnummer 
der Projektleiter hat und ob du die Zuleitungen zu den LEDs so 
isolierst, das niemand gefährdet wird weil Strom das ist nur etwas für 
die wirklichen Elektrikermeister und der Laie kann so viel flasch 
machen.

Man könnte auch deine Frage einfach beantworten, aber das wäre dann 
nicht mikrocontroller.net, sondern nett:

http://examples.digi.com/lights-motors-more/7-segment-number-display/

http://www.josepino.com/microcontroller/7-segment-ascii

Es gab auch einmal in Zeiten von etwa TI59 einen Rechner, der Text auf 
diese Weise darstellen konnte. Ich kann mich aber nicht erinnern, von 
welcher Firma der war, ob der auch das "Sarg-Format" der TI* hatte oder 
eher microcomputerartig war. Habe den auch in der Suchmaschine nicht 
wiedergefunden.

von AchimW (Gast)


Lesenswert?

Hallo,
ja. die 2 Links kenne ich.
Ich suche aber die Tabelle dazu. Also eine Tabelle mit 128 Einträge von 
7 Bit breiten Werten.

Achim

von AchimW (Gast)


Lesenswert?

achso ... ganz vergessen:

45
ja

von ge-nka (Gast)


Angehängte Dateien:

Lesenswert?

Hier eine Tabelle ist zwar keine Java oder C sondern Excel, macht aber 
dein Problem deutlich. Ach ja ist natürlich Open Source und darf 
erweitert und weiter gegeben werden.

von AchimW (Gast)


Angehängte Dateien:

Lesenswert?

so .. hab's inzwischen von Hand gemacht:
1
  private final static byte[] table ={
2
      0b0111111, // 0
3
      0b0000110, // 1
4
      0b1011011, // 2
5
      0b1001111, // 3
6
      0b1100110, // 4
7
      0b1101101, // 5
8
      0b1111101, // 6
9
      0b0000111, // 7
10
      0b1111111, // 8
11
      0b1101111, // 9
12
      0b0000000, // 10
13
      0b0000000, // 11
14
      0b0000000, // 12
15
      0b0000000, // 13
16
      0b0000000, // 14
17
      0b0000000, // 15
18
      0b0000000, // 16
19
      0b0000000, // 17
20
      0b0000000, // 18
21
      0b0000000, // 19
22
      0b0000000, // 20
23
      0b0000000, // 21
24
      0b0000000, // 22
25
      0b0000000, // 23
26
      0b0000000, // 24
27
      0b0000000, // 25
28
      0b0000000, // 26
29
      0b0000000, // 27
30
      0b0000000, // 28
31
      0b0000000, // 29
32
      0b0000000, // 30
33
      0b0000000, // 31
34
      0b0000000, // Space
35
      0b0000110, // !
36
      0b0100010, // "
37
      0b1100011, // #
38
      0b1101101, // $
39
      0b0101101, // %
40
      0b1110000, // &
41
      0b0000010, // '
42
      0b0111001, // (
43
      0b0001111, // )
44
      0b1011100, // *
45
      0b1110000, // +
46
      0b0001100, // ,
47
      0b1000000, // -
48
      0b0000100, // .
49
      0b1010010, // /
50
      0b0111111, // 0
51
      0b0000110, // 1
52
      0b1011011, // 2
53
      0b1001111, // 3
54
      0b1100110, // 4
55
      0b1101101, // 5
56
      0b1111101, // 6
57
      0b0000111, // 7
58
      0b1111111, // 8
59
      0b1101111, // 9
60
      0b0001001, // :
61
      0b0001101, // ;
62
      0b0011000, // <
63
      0b1001000, // =
64
      0b0000011, // >
65
      0b1010011, // ?
66
      0b0000000, // @
67
      0b1110111, // A
68
      0b1111100, // B
69
      0b0111001, // C
70
      0b1011110, // D
71
      0b1111001, // E
72
      0b1110001, // F
73
      0b0111101, // G
74
      0b1110110, // H
75
      0b0110000, // I
76
      0b0011110, // J
77
      0b1110101, // K
78
      0b0111000, // L
79
      0b0110111, // M
80
      0b1010100, // N
81
      0b0111111, // O
82
      0b1110011, // P
83
      0b1100111, // Q
84
      0b1010000, // R
85
      0b1101101, // S
86
      0b1111000, // T
87
      0b0111110, // U
88
      0b0011000, // V
89
      0b1111110, // W
90
      0b1110110, // X
91
      0b1101110, // Y
92
      0b1011011, // Z
93
      0b0111001, // [
94
      0b1100100, // Backslash
95
      0b0001111, // ]
96
      0b0100001, // ^
97
      0b0001000, // _
98
      0b0000010, // `
99
      0b1011111, // a
100
      0b1111100, // b
101
      0b1011000, // c
102
      0b1011110, // d
103
      0b1111011, // e
104
      0b1110001, // f
105
      0b1101111, // g
106
      0b1110100, // h
107
      0b0010000, // i
108
      0b0001100, // j
109
      0b1110101, // k
110
      0b0110000, // l
111
      0b0110111, // m
112
      0b1010100, // n
113
      0b1011100, // o
114
      0b1110011, // p
115
      0b1100111, // q
116
      0b1010000, // r
117
      0b1101101, // s
118
      0b1111000, // t
119
      0b0111110, // u
120
      0b0011000, // v
121
      0b1111110, // w
122
      0b1110110, // x
123
      0b1101110, // y
124
      0b1011011, // z
125
      0b0111001, // {
126
      0b0000110, // |
127
      0b0001111, // }
128
      0b1000000, // ~
129
      0b0000000, // DEL
130
  };

von Georg (Gast)


Angehängte Dateien:

Lesenswert?

AchimW schrieb:
> so .. hab's inzwischen von Hand gemacht

Hab ich auch mal, vor langer Zeit, dazu einen Font für die 
Dokumentation, siehe Anlage.

Georg

von Yalu X. (yalu) (Moderator)


Lesenswert?

Du kannst auch für jedes Zeichen den ASCII-Code als zeitlich
nacheinander aufleuchtende 2 Hex- oder 3 Dezimalziffern darstellen.

Das ist ist im Gegensatz zu deiner Lösung wenigstens eindeutig und eher
leichter zu lesen ;-)

Zudem kann das Prinzip auf sämtliche Unicode-Zeichen erweitert werden.

von Georg (Gast)


Angehängte Dateien:

Lesenswert?

Yalu X. schrieb:
> Das ist ist im Gegensatz zu deiner Lösung wenigstens eindeutig und eher
> leichter zu lesen ;-)

Das ist ein Missverständnis: es geht nicht darum, EBooks auf 7 Segment 
zu lesen. Aber man kann durchaus die Bedienbarkeit von Geräten mit 7 
Segment-Anzeigen sehr verbessern.

Dazu eine Seite aus einem Bedienungshandbuch meiner Analysenautomaten. 
Ich bin der Meinung, mit der gezeigten Textanzeige ist das sehr viel 
angenehmer zu bedienen als mit den Zahlen 1..16 (und dem Handbuch 
daneben). Oder bist du da anderer Meinung? Vielleicht bist du ja als 
Linux-Fan ein Anhänger gewollter Kryptik.

Georg

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich halte das trotzdem für nicht mehr zeitgemäß und vollkommen unnötig 
kryptisch. Wenn es schon unbedingt LED sein müssen, dann würde ich 
wenigstens 7x5-Matrixanzeigen nehmen, ist WESENTLICH besser lesbar ...

http://www.mikrocontroller.net/attachment/35584/chartable.png

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

Georg schrieb:
> Das ist ein Missverständnis:

Der Vorschlag von oben war ja auch nicht ganz ernst gemeint :)

Georg schrieb:
> Dazu eine Seite aus einem Bedienungshandbuch meiner Analysenautomaten.

Manche der Meldungen darin sind ganz gut zu lesen, bei anderen musste
ich schon eine Weile überlegen. Die Lesbarkeit könnte IMHO noch etwas
gesteigert werden, wenn man die Symbole für N und M vertauschen würde
(s. Anhang). Denn das kleinere von beiden sieht für mich ganz klar wie
ein kleines n und überhaupt nicht wie ein m aus, während das größere
wenigstens ein Bisschen mehr einem M als einem N gleicht.

von Georg (Gast)


Lesenswert?

Frank Esselbach schrieb:
> Wenn es schon unbedingt LED sein müssen, dann würde ich
> wenigstens 7x5-Matrixanzeigen nehmen

Viel zu aufwendig wegen der Ansteuerung, ich würde heute eine 2 zeilige 
LCD-Anzeige nehmen (ist auch schon realisiert). Das beschriebene Konzept 
ist 25 Jahre alt, die Anwender waren aber viele Jahre lang durchaus 
zufrieden damit (vielleicht weil das Akademiker mit Niveau waren...).

Ich glaube nicht, dass jedes Laborgerät unbedingt einen farbigen 
Touchscreen mit Wischgesten braucht, aber da bin ich wohl hoffnunglos 
altmodisch. Bei meinen Analysegeräten gibt es weder Bildschirmschoner 
mit bunten Fischen noch Ballerspiele.

Georg

von Georg (Gast)


Lesenswert?

Hallo,

noch eine grundsätzliche Ergänzung: das menschliche Gehirn ist sehr gut 
in der kontextabhängigen Interpretation. In einem Menü zur Auswahl von 
Testroutinen für ein Prozessorsystem gelingt es den meisten Menschen 
mühelos, das gezeigte als RAMTest zu lesen - und nicht als Test einer 
Sportsendung im Privatfernsehen. Deshalb funktioniert das Ganze 
überhaupt, obwohl 7 Segmente natürlich nicht ausreichen, auch nur alle 
ASCII-Zeiechen eindeutig darzustellen. Aber über Doppeldeutigkeiten 
liest man einfach hinweg, wennn der Bezug klar ist.

Georg

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.