Der Einsatz eines LCD-Displays mit seinem eigenem Controller ist einfach zu realisieren und
ergibt eine repräsentative Darstellungsmöglichkeit. Doch leider sind LCD-Anzeigen für
die meisten Ausgabeaufgaben zu teuer und vom Funktionsumfang her geradezu überqualifiziert.
Diese Seite will eine einfach zu realisierende Ansteuerung von mehreren |
7 Segment-Anzeigen gibt es in verschiedenen Ausführungen, die sich teilweise in ihrer Ansteuerung gravierend unterscheiden. Die gebräuchlichste Ansteuerungsart ist jedoch über eine gemeinsame Anode (+) und für jede LED eine separate Kathode (-). Die Pinbelegung der verschiedenen Anzeigen sind jedoch nicht genormt, so daß mein Beispiel-Layout nicht |
unverändert übernommen werden kann, ebensowenig wie der Code zur Ansgabe diverser Zahlen und
Symbole. Um diese Anpassung zu erleichtern geschieht die Ansteuerung über ein Datenfeld im
Flash, in dem sich für jedes Zeichen eine Bitfolge befindet, die dieses Zeichen für das
jeweilige Platinenlayout repräsentiert.
zurück zum Anfang |
Die Ansteuerung selbst geschieht prinzipiell über 2 Verfahren: zum einen kann ein Latch (ein IC mit Flip/Flops) für jedes Segment eingesetzt werden, das vom Controller aus programmiert wird. Der Vorteil dieser Methode ist eine hell leuchtende Anzeige, die nach einmaliger Programmierung durch den Controller keiner weiteren Aufmerksamkeit bedarf, bis sich der angezeigte Wert ändert. Nachteilig ist ein hoher Bauteil- und Schaltungsaufwand. Die zweite Methode benutzt das Time Multiplexing-Verfahren, wobei jedes Sergment nur für einen Sekundenbruchteil mit höchster Intensität aufleuchtet, während alle anderen Segmente dunkel sind. Aufgrund der Trägkeit des Auges geschieht dies vollständig unbemerkt. Der Vorteil dieser Methode ist ein unübertroffen geringer Bauteil- und Layoutaufwand. Zum Nachteil gereicht allerdings, das diese Anzeigemethode den Controller ununterbrochen beansprucht und schlecht skalierbar ist - bei spätestens 8 Anzeigen ist der Helligkeitsverlust nicht mehr hinnehmbar. Den Helligleitsverlust kann man bis zu einer gewissen Grenze durch eine Erhöhung des Stromes, der durch die Anzeige fließt, kompensiert werden. Da aber die Helligkeit der Anzeige nicht konstant mit dem durchfließenden Strom ansteigt und die Anzeigen bei einer Überbeanspruchung durchbrennen, gilt es eine physikalische Grenze nicht zu überschreiten. |
Ein Mittelweg ist der Einsatz eines spezialisierten LED-Controllers, der das Time Multiplexing übernimmt und z.B. über denn I2C-Bus angesteuert werden kann (SAA1064 von Philips). Der Einsatz des I2C-Busses wird auf einer anderen Seite noch ausführlich beschrieben werden. zurück zum Anfang |
In diesem Beispiel wird die Time Multiplexing-Methode verwandt - da der 2051 bis zu 20mA Strom liefern kann, wird nur der Controller, ein Demultiplexer und einige Transistoren benötigt. Grundsätzlich muß der Controller auf den I/O's, an denen die Anzeigen angeschlossen sind, eine Bitfolge liefern, die die Ausgabe für ein Segment bestimmen. Gleichzeitig stellt der |
Controller über (in diesem Beispiel 2) andere I/O's einen Binärwert, der die aufleuchtende Anzeige
spezifiziert, zur Verfügung. Dieser wird durch den Demultiplexer geschickt, welcher dann über einen
Transistor die Anode der entsprechenden Anzeige mit Spannung versorgt. Zur Ansteuerung geht im Prinzip jeder
Transistor aus der Grabbelkiste, der wenigstens 200 mA aushält.
zurück zum Anfang |
Die Ansteuerung per Software geschieht in 3 Teilschritten:
zurück zum Anfang |