ebps.de.vu > Schaltungen > für den PC > Serielle Anzeige

Serielle Anzeige

Beschreibung

Wenn man nun schon die Interfaces kennt, um Schaltungen mit dem PC zu verbinden, dann will man auch mal was daraus bauen. Also einmal scharf nachgedacht, den Versuch einer Digitaluhr mit über 300 Dioden rausgekramt, 2 Anzeigen ausgelötet und das Ganze um 4 Schieberegister, reichlich Widerstände und 2 Transistoren erweitert. Die Schaltung kann entweder mit eigenen Programmen betrieben werden oder aber Sie verwenden eines der Beispielprogramme, die unten aufgeführt sind.

Aufbau

Der Aufbau ist einfach, ich hatte es jedoch nicht leicht bei den vielen Kabeln noch den Überblick zu behalten. Auch für die Stromversorgung ist kein großer Aufwand erforderlich, eine 4,5 Volt Flachbatterie reicht völlig, man sollte sich aber im klaren darüber sein, dass die Schaltung bis zu 350 mA ziehen kann. Die Dioden an den Transistoren schützen vor en negativen Spannungen aus der seriellen Schnittstelle. Die Zahlen an den Anschlüssen stehen für die 9-Poligen Stecker, für die 25-Poligen gelten die Zahlen in Klammern. Es wäre vielleicht noch zu erwähnen, dass die beiden 100nF-Kondensatoren (natürlich) möglichst nah an den ICs eingelötet werden müssen, man kann auch 14-Polige IC-Fassungen mit integrierten Kondensatoren an Pin 7 und 14 verwenden.

Programmierung

Die Anzeige lässt sich gut in Q(uick)Basic programmieren, die Programme laufen dann aber nur unter MS-DOS. Für die Windows-Programmierung sehen Sie sich bitte die Seite von Burkhard Kainka an, dort gibt es Tipps und DLLs für dir Programmierung von PC-Schnittstellen unter Windows in Visual Basic. In QuickBasic sieht alles einfacher aus. Am Anfang des Programms gibt man den Wert 1 oder 3 aus (in beiden Fällen ist CLOCK (also Pin 4) auf 1 was den Transistor veranlasst die Clock-Eingänge der ICs auf 0 zu halten. Die Daten werden in 2 Schritten geschrieben, und zwar Segment a der Anzeige ganz links zuerst und dp der Anzeige rechts aussen zuletzt. Zuerst werden die Daten (Segment ein=2 aus=0)+1 geschrieben, dann folgt sofort Daten (Segment ein=2 aus=0). Dabei ist es wichtig, dass genau 8, 16, 24 oder 32 Daten geschrieben werden, da die Daten sonst auf die falschen Segmente zutreffen. Werden weniger als 32 Daten geschrieben, wird die Anzeige um Datenanzahl geteilt durch 8 Stellen nach links geschoben, also wenn die Anzeige 1234 ist und 10110110 (1=Ein, 0=Aus) geschrieben wird, ist die neue Anzeige 2345 (die 1 wird über den linken Rand geschoben). Die Daten, die nach dem letzten OUT-Befehl (in QBasic verwendet man OUT Adresse, Daten) noch am seriellen Port stehen, bleiben dort einfach stehen, das schadet nichts. Wird die Anzeige aufgesteckt oder abgezogen kann es passieren dass ein oder mehrere Daten geschrieben werden. Nach dem Einschalten wird immer 8.8.8.8. angezeigt. Zum Schluss noch ein Beispiel: die Anzeige soll _1.8_ anzeigen (_ bedeutet garnichts), es muß geschrieben werden: 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 (für die 1. Anzeige) 1,0,3,2,3,2,1,0,1,0,1,0,1,0,3,2 (für die 2. Anzeige) 3,2,3,2,3,2,3,2,3,2,3,2,3,2,1,0 (für die 3. Anzeige und) 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 (für die letzte Anzeige). Dabei besteht die 1 aus den Segmenten b und c, die 8 aus allen außer dp.

Geschrieben wird mit OUT Adresse, Wert (hier sind die Adressen aufgeführt)

Port Adresse
COM 1 &H3FC
COM 2 &H2FC
COM 3 &H3EC
COM 4 &H2EC

Beispielsoftware

Programm Beschreibung Details
DISP (22KB) Befehlszeilen-Programm mit dem man positive und negative Zahlen mit oder ohne Komma auf die Anzeige schreiben kann. COM 1-4 möglich, läuft nur unter DOS, Syntax ist DISP ZAHL COM, also zum Beispiel DISP -12.4 1 (-12,4 auf COM1) oder DISP 300 2 (300 auf COM2) oder DISP 0010 4 (0010 mit Vornullen auf COM4)
SUB DISP (1KB) Prozedur (SUB) für QB/QBASIC mit der gleichen Syntax wie DISP. COM 1-4 möglich, läuft nur unter DOS, Syntax ist DISP "ZAHL COM", also zum Beispiel DISP "-12.4 1" (-12,4 auf COM1) oder DISP "300 2" (300 auf COM2) oder DISP "0010 4" (0010 mit Vornullen auf COM4)

Fotos

[Foto]
640
Das fertig aufgebaute Display

Fotos von Besuchern

[Foto]
640
von Kai Bareis