014137-D Laufschrift

Transcription

014137-D Laufschrift
COMPUTER
Punktmatrixanzeige
für PCs
Ein kleines Benutzerinterface
Von Bernd Oehlerking und Peter Cohrs
Wenn ein PC ausschließlich für eine Spezialaufgabe eingesetzt wird,
reichen als „Benutzerinterface“ oft ein paar Tasten und ein kleines
alphanumerisches Display aus.
Immer häufiger werden PCs oder PC-Boards
für Aufgaben eingesetzt, die nicht zum klassischen Einsatzgebiet als Desktop-Rechner
zählen, so zum Beispiel als WohnzimmerMP3-Player oder in industriellen Steuerungen. In allen diesen Anwendungen gibt es
nur vergleichsweise geringe Anforderungen an die HIDs (Human Interface Devices). Ein paar Tasten und
einige Leuchtdioden reichen oft aus,
um den Zustand solcher Systeme
anzuzeigen und zu beeinflussen, und
+5V
+5V
R4
10k
LD1
1
12
WR
+5V
4
BL
selbst gängige CRTs oder LCDPanels sind oft überdimensioniert
und fast immer zu teuer.
Als Alternative bieten sich kleine
alphanumerische Displays an. Sie
sind platzsparend, kostengünstig
13
LD2
14
CLR
1
12
WR
4
BL
13
14
CLR
T1
R1
K1
TXD
9
1
7
8
9
IC2
3
8
4
5
6
10 11 12 13
1
R
2
74LS164
9
3
SLY2016
IC3
8
1D
&
1
C1/
&
2
3
4
5
6
10 11 12 13
SRG8
C1/
1D
10 11
A0
6
A1
5
SLY2016
SRG8
C1/
R
3
D6
10 11 12 13
2
D5
6
D3
5
D4
4
SRG8
D2
3
IC1
10 11
D1
9
D0
8
A0
7
A1
D3
D4
6
D6
D2
5
D5
D1
BC547
D0
33k
R
2
74LS164
9
8
1D
&
1
2
74LS164
6
2
7
3
RTS
(CLOCK)
8
4
9
DTR
(DATA)
R2
1k
IC4
+5V
R3
1k
D1
5
D2
GND
4V7
+5V
+8V...15V
14
14
14
IC1
IC2
IC3
7
7
7
4V7
+5V
7805
C1
C2
C3
470µ
100n
100n
014137 - 11
Bild 1. Die Ansteuerelektronik für eine Laufschrift besteht aus drei Schieberegistern.
34
Elektor
11/2001
COMPUTER
0 1 0 0 0 0 1
"B" POS 0
0 0
1 1 0 0 0 0 1
"C" POS 1
A2
POS 0
A1
POS 1
D6
D4
D3
POS 2
D2
D1
POS 3
D0
A2
POS 0
A1
D6
POS 1
D5
D4
D3
POS 2
D2
D1
D0
POS 3
Display 1
D5
Display 2
0 1
014137 - 14
Bild 2. Prinzip der Displayansteuerung.
und können überall eingesetzt werden. Sie sind ideal für Anwendungen
wie:
– Parameter-Einstellung im Embedded-Bereich.
– Ausgabe von PC-Betriebsdaten
(Taktfrequenz, Temperatur, CPU-
Last) bei laufenden Systemen
mit ausgeschaltetem Monitor
– Datenausgabe (Messwerte,
Zählerstände, Datum/Zeit, Weckfunktionen)
Die Ansteuerung wird von einem
gängigen Entwicklungstool (Visual
Bild 3. Schnittstelleneinstellung im Startmodul
Basic) durchgeführt, der Aufwand zum
Anschluss an den PC ist gering. Die Punktmatrix-Anzeige wird an der seriellen COMSchnittstelle angeschlossen. Ein Eingriff in
den PC ist nicht erforderlich, es sei denn, man
baut die Anzeige in eine Kunststoff-Frontblende ein.
Die Hardware
Die Informationen werden in ein oder zwei
vierstelligen 7x5-Matrixdisplays (SLx2016 von
Siemens), also acht Digits dargestellt. Die
Bausteine sind horizontal und vertikal anreihbar. Um auch mit wenigen Zeichen sinnvoll
Text darzustellen, kann die Anzeige auch als
Laufschrift in verschiedenen Geschwindigkeiten programmiert werden (wie in dieser
Applikation geschehen). Der SLx2016 ist in
vier verschiedenen Farben erhältlich. Technische Daten und weitere interessante Hinweise sind im Kasten zu finden.
In Bild 1 ist die Hardware der (hier als Laufschrift realisierten) Anzeige zu sehen. Die
Spannungsversorgung erfolgt über einen
7805-Regler, alle Bausteine sollten mit Kondensatoren (0,1 µF) gepuffert sein. Im Bild ist
die Schaltung für zwei Displays, also acht Zeichen ausgelegt. Die Displays sind in den Farben Rot, Superrot, Grün und Bernstein erhältlich und sind auch in helleren Umgebungen
aus zwei Metern und von der Seite gut zu
erkennen.
Das Display SLx2016 verfügt über einen internen Zeichengenerator, zwei Adressleitungen
für die Zeichenposition und eine Leitung, die
das ausgewählte Zeichen zur Anzeige bringt.
Liegt an den Datenleitungen D0...D6 eine Bitkombination 0...127 an, so wird dadurch ein
Zeichen aus einem speziellen internen ASCIIZeichensatz ausgewählt. Der Zustand der
Leitungen A1...A0 bestimmt, an welcher der
vier möglichen Positionen das Zeichen
erscheinen soll. Ein kurzer Impuls an der
Schreibleitung WR sorgt dafür, dass das Zeichen im Display erscheint. Es bleibt dort so
lange stehen, bis es überschrieben wird.
Die Laufschriftsteuerung erfolgt über die serielle Schnittstelle des PCs. Zwei Schieberegister 74LS164 mit seriellem Eingang setzen
die Daten in parallele Form um. Für zwei vierstellige Anzeigen werden drei Schieberegister benötigt. Die Steuerinformationen für die
Displays werden Bit für Bit seriell in die
Schieberegister getaktet.
Ein Beispiel
Bild 4. Modul zum Test der Schnittstelle
11/2001
Elektor
Es soll ein großes B als 5. Buchstabe von
rechts wie in Bild 2 auf der Anzeige erscheinen, ein schon vorhandenes C an zweiter
Stelle unverändert bleiben. Das C steht also
35
COMPUTER
an Position 1 des Displays 1, das B an Position 0 des Displays 2. Die Schieberegister
müssen mit der unten angezeigten Bitkombination geladen werden. Dazu wird eine in die
Schieberegisterkette zu schiebende 1 als
Highpotential an die Dataleitung (DTR)
gelegt. Mit einem High/Low- Signal an RTS
(Clock) wird ein Takt erzeugt, und die 1 wandert um eine Stelle in den Schieberegistern
weiter. Nach 2⋅7 und 2⋅2, also insgesamt 18
Taktimpulsen, steht die gesamte Information
für je ein Zeichen pro Display in den Schieberegistern. Jetzt erfolgt nur noch ein kurzer
Low-Impuls an der WR-Leitung (TxD) und
beide Zeichen werden in die Displays übernommen.
Die Software
Die Software wurde unter Visual Basic 5.0
geschrieben, sie läuft auch unter VB 6.0. Sie
wurde unter den Betriebssystemen WIN98
und NT 4.0 getestet. Es wurden 4 Module
vorgesehen:
Punktmatrixanzeige SLx2016
Der SLR/SLO/SLG/SLY2016 ist eine 4-Digit Punktmatrixanzeige mit integrierter
CMOS-Schaltung. Es ist in vertikaler und horizontaler Richtung anreihbar, enthält
einen ASCII-Decoder mit 128 Zeichen, einen Multiplexer und Treiber zur
Ansteuerung der LEDs. Die einzelnen Stellen sind von rechts nach links mit Digit
0...3 bezeichnet. Der Baustein verfügt über 14 Anschlüsse.
Jedes Digit kann einzeln adressiert werden und behält seinen Inhalt, bis es erneut
beschrieben wird. Die Ansteuerung erfolgt asynchron und ermöglicht so die Verwendung in langsamen wie auch in schnellen Systemen. Dazu werden Adresse
und Daten an die entsprechenden Anschlüsse gelegt und mit einem Low-Impuls
auf der WR-Leitung übernommen.
Mehrere Bausteine können zu größeren Displays kombiniert werden. Die Datenleitungen der Bausteine werden dabei ebenso wie die WR-Leitung parallel
geschaltet - die Adressleitungen werden dekodiert. So verschaltet verhält sich ein
Display wie ein Speicherbaustein, der allerdings nicht gelesen werden kann.
Über die CLR-Leitung kann der Inhalt gelöscht werden. Die BL(Blank)-Leitung
verhindert die Anzeige der Daten, so dass auch verdeckt geschrieben werden
kann. Von diesen beiden Funktionen wurde allerdings in unserer Applikation kein
Gebrauch gemacht.
Der Zeichensatz enthält Sonderzeichen für Englisch, Deutsch, Italienisch, Schwedisch, Norwegisch und Dänisch, die Displays sind in den Farben Rot, Superrot,
Grün und Gelb erhältlich.
2V0
A0 - A1
CLR
0V8
TAS
– eine Startform,
– eine Form zum Testen der eingestellten
Schnittstelle,
– eine Form zum Laden und Starten der
Laufschrift sowie
– eine Form, über die einzelne Zeichen an
die Hardware gesendet werden können.
TAH
2V0
D0 - D1
TDS
0V8
TDW
2V0
WR
0V8
TW
TACC
36
014137 - 13
Die Eckdaten:
– Versorgungsspannung:
– Eingangsspannung auf Masse bezogen (alle Eingänge)
– Temperaturbereich (Lagerung):
Optische Eigenschaften :
– Rot R
– Rot O (hohe Intensität)
– Grün S
– Gelb Y
Pinbelegung:
5,00
7,62
10,16
0,3
3,81
19,91
Part Number
EIA Date Code
SLX2016
SIEMENS
Luminous
Intensity
Code
Z
XXYY
Package Dimensions
in mm
4,06
WR Write
A1 Digit Select
A0 Digit Select
VCC
D0 Data
D1 Data
D2 Data
D3 Data
D4 Data
D5 Data
D6 Data
BL Display Blank
CLR Clear
GND
2,54
4,57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
–0,5...+7,0 V
–0,5... Vcc + 0,5 V
–40...+85 °C
660 nm typ
635 nm typ
565 nm typ
585 nm typ
5,08
Das Startmodul in Bild 3 legt die Eigenschaften
der
seriellen
Schnittstelle
(Comm1...Comm4 ) fest. Die Einstellungen
(Settings) der Schnittstelle können durch
Save this connection unter c:\commport.txt
gespeichert werden. Beim nächsten Programmstart wird die so gewählte serielle
Schnittstelle mit ihren Einstellungen automatisch geöffnet Natürlich kann jederzeit
eine Änderung der aktuellen Werte vorgenommen und auch wieder gespeichert werden. Dieses Modul kann nicht nur für diese
spezielle Anwendung verwendet werden,
sondern ist (mit Änderungen im Menüteil) für
alle Anwendungen zum Öffnen einer seriellen Schnittstelle brauchbar.
Von der Startform lässt sich unter dem
Menüpunkt Comtest die Schnittstelle testen
(Bild 4). Dieses Modul zeigt die in der Startform eingestellten Werte der Schnittstelle an
und lässt Tests der Leitungen RTS, DTR und
TxD zu. Dieses Modul benötigt das Basicmodul mod_testcomm.bas zur korrekten
Arbeitsweise.
Vom Startmodul aus wird unter Menüpunkt
Displaytest (Bild 5) ein Testmodul angezeigt,
das das direkte Senden eines Zeichens an die
Displays erlaubt. Damit lässt sich prüfen, ob
die entsprechenden Zeichen auch tatsächlich
0,46
2,54
14
13
Digit 3
1
12
11
Digit 2
2
Elektor
3
10
9
Digit 1
4
5
8
Digit 0
6
7
014137 - 12
11/2001
COMPUTER
Bild 5. Modul zum Test der Displayansteuerung
an den vorgesehenen Positionen im
Display angekommen. Bei der Einstellung Binary können Zahlen bis
127 eingegeben werden. Auf dem
Display sollten dann die korrespon-
dierenden ASCII-Zeichen des Zeichensatzes, beziehungsweise die
Sonderzeichen des Siemens-Displays
erscheinen. Neben dem Basicmodul
mod_testcomm.bas wird auch das
Modul displ2.bas benötigt.
Der Menüpunkt Display schließlich öffnet das
eigentliche Fenster zur Laufschrifterzeugung
(Bild 6). Das Fenster enthält links oben eine
kleine Textbox, rechts eine große Textbox und
links unten eine Listbox. Alles, was in der
großen Textbox zu sehen ist, wird auch an das
Display gesendet. Das kleine Textelement
nimmt kleine Texte auf. Im Listenfeld darunter können einzelne Elemente angeordnet
werden und über den Button Set in das große
Textelement übernommen werden. Die Checkboxen auf der linken Seite sind als Array ausgeführt, so dass eine Erweiterung für Standardmeldungen oder ähnliches im Sourcecode
leicht möglich sein sollte. Im rechten Teil der
Display-Form sind mehrere Buttons angeordnet, die hier folgende Funktionen besitzen:
– Laden und Speichern auch größerer Texte
– Aufnahme und Abspeichern von Programmen in einer weiteren Listbox
– Starten eines ausgewählten Programms
(zum Beispiel, um daraus Informationen
zu entnehmen, um diese dann in der Textbox abzulegen).
– Einstellen der Laufgeschwindigkeit mit
einer Verzögerung
– Speichern und Laden dieser zuletzt eingestellten Werte.
– und letztlich das Starten und Stoppen der
Laufschrift.
Zum Schluss noch einige Anmerkungen zum
Preis einer Siemens-Anzeige. Mit 30 DM pro
Display (also vier Zeichen) scheint die
Anzeige relativ teuer. Punktmatrixanzeigen
mit vergleichbaren Abmessungen kosten pro
Zeichen um 3 DM, bei vier Zeichen also 12
DM. Dazu kommt ein nicht unerheblicher Aufwand für die Ansteuerelektronik, die ja im
Siemens-Display schon integriert ist. Rechnet
man die Kosten zusammen, dürfte man mit
diskreten Anzeigeelementen nicht billiger als
mit „intelligenten“ Anzeigen wegkommen.
Bild 6. Das eigentliche Laufschriftfenster
(014137)rg
www.elektor.de
Die Website für alle Elektronik-Profis und Hobbyisten,
die sich aktiv mit Elektronik und Computertechnik beschäftigen
11/2001
Elektor
37

Documents pareils