Kann man mit nur 8 Bits vom Druckerausgang ein ganzes Feld von Leuchtdioden gezielt steuern? |
Erarbeitet in einer Belegarbeit Schuljahr 1999/2000 Klasse 10 von Ricardo Roth, Roy Franzke und Thomas Göbel
Da wir festgelegt hatten nur 8 Bit auszugeben, mussten wir mit der Schaltung erreichen, dass jede
Diodenreihe einzeln angesprochen wird. Dies erreicht der integrierte Schaltkreis 4017. Wird eine
Reihe angesprochen, liegt also an der Basis des Transistors Spannung an, dieser wird
durchlässig und kann leiten. Die Impulse für den integrierten Schaltkreis werden von uns ausgegeben und erzeugen den Takt. Mit jedem Takt, spricht der integrierte Schaltkreis die
nächste Diodenreihe an und beginnt, wenn er hinten angekommen ist von vorn.
Die richtigen Dualzahlen für jede Reihe kommen ebenfalls aus dem Druckerausgang. Dort treffen sie
auf die Basis des Transistors und machen seine Sperrschicht somit durchlässig. Er wird
leitend.
Wenn also die richtigen Daten (Dualzahlen) ausgeben werden und gleichzeitig die entsprechende Reihe vom integrierten Schaltkreis angesprochen wird, kann eine einzelne Diode leuchten.
Von 8 Bits des Druckerausgangs werden 7 Bits genommen, um zu entscheiden, in welcher Zeile
der Matrix eine Diode leuchten soll. Das 8. Bit wird abwechselnd gesetzt und gelöscht, so
dass an diesem Anschluss ein Taktsignal entsteht. Dieses Taktsignal erhält der Schaltkreis, der damit von einer Reihe zur nächsten weiterschaltet. Das geht so schnell, dass man den
Eindruck hat, alle Reihen wären gleichzeitig in Betrieb.
Im Q-Basic-Programm "Matrix" sind zu allen Schritten Randbemerkungen gemacht, die es dem
ahnungslosen Interessenten erleichtern, das Programm zu verstehen. Eine Zeile jedoch
benötigt zu ihrer verständlichen Erklärung einen etwas ausführlicheren
Text:
Für jeden Buchstaben gibt es 8 Data-Werte, jeder besteht aus 8 Reihen. In der
Programmiersprache Q-Basic werden alle Data-Werte automatisch in eine Zeile geschrieben. Um nun
die richtigen 8 Werte aus der langen Zeile herauszulesen, um jeden beliebigen Buchstaben
darstellen zu können, entwickelten wir folgende Gleichung:
For x=1 to 8
Spalte(x)=Zeichenfeld(8*ASC(Zeichen)-64)-8+x next |
Wert = Wert OR 128 'setzt Bit 7 OUT &H378, Wert Wert = Wert AND 127 'löscht Bit 7 OUT &H378, Wert | |
Hier noch einmal die Programmzeilen, mit deren Hilfe das Taktsignal erzeugt wird. Dieser Takt schaltet den Zähler immer einen Schritt weiter. Der neunte Schritt geht auf den Reseteingang, wodurch das Zählen wieder in der ersten Spalte beginnt. |
|
Anschlussbelegung des 4017 |