Bastelware ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Vielleicht haben Sie sich schon einmal gewünscht, mehr Datenquellen mit dem Userport Ihres C64 zu verbinden als die- ser mit seinen maximal 8 Eingabeleitun- gen verarbeiten kann. Nehmen wir als Beispiel an, Sie wollen ein Zimmer überwachen. Da bietet sich an, einen Schalter an der Zimmertür zu befestigen, der dann Kontakt gibt, wenn die Tür geöffnet wird. Dazu reicht uns schon eine Leitung am Userport, und wir können mit einem Programm sogar festhal- ten, wann die Tür geöffnet, wann wieder geschlossen wurde und wie oft dies geschah. Damit wollen wir uns aber nicht zufrie- den geben. Wir wollen nun auch noch wis-
sen, was sonst noch in dem überwachten Zimmer vor sich geht, während wir nicht daheim sind. Der C64 kann mit seinen 64 KByte leicht mehrere Wochen lang wachen, ist also auch geeignet, uns einen "Sta- tus-Report" nach einem eventuellen Urlaub zu geben. Wir möchten wissen, welche Schränke in unserer Abwesenheit geöffnet wurden. Dazu befestigen wir, wie bei der Zimmer- tür, an jeder zu überwachenden Schrank- tür wieder einen Schalter. So weit, so gut. Was aber tun, wenn wir mehr als 8 Türen überwachen wollen? Das ist doch eigentlich bei maximal 8 Eingangsleitun- gen gar nicht möglich...
Ist es natürlich doch. Denn wieder ein- mal hilft uns hier die Elektronik. Das Zauberwort heißt "Multiplexer" und erlaubt uns, ganze 16 Schalter oder Kon- takte abzufragen. Und dabei werden von den 8 Userport-Leitungen nur ganze 5 benötigt, 3 bleiben also noch frei für weitere Anwendungen. Aber hier zunächst der Schaltplan, der eigentlich nur aus einem einzigen Integrierten Schaltkreis besteht: Dem IC SN 74150, das es für ein paar Mark in jedem Elektronikgeschäft gibt.
An die Datenleitungen, die mit den Zah- len 0 bis 9 und den Buchstaben A bis F bezeichnet sind, können Sie 16 Schalter anschließen. Den zweiten Pol jedes Schalters verbinden sie mit Minus (Masse). Was macht nun dieser Multiplexer? Nun, zunächst prüft er die Bitkombination an seinen Datenselektionseingängen. Diese sind mit den Userportleitungen PB0 bis PB3 verbunden. Mit diesen vier Leitungen können wir 2↑4 = 16 Bitkombinationen darstellen. Das klingt komplizierter als es in Basic ist. Hier ein kurzes Test- programm:
10 POKE 56579,15 20 INPUT"LEITUNG NUMMER";N 30 POKE 56577,N 40 A = PEEK(56577) AND 16 50 IF A=0 THEN 80 60 PRINT"SCHALTER IST OFFEN" 70 PRINT : GOTO 20 80 PRINT"SCHALTER IST GESCHLOSSEN" 90 PRINT : GOTO 20
Am Anfang des Programms werden in Zeile 10 die Leitungen PB0 bis PB3 auf Ausga- be geschaltet. Dieser Vorgang ist nur einmal notwendig und muß nur nach einem eventuellen NMI (=RUN/STOP RESTORE) neu ausgeführt werden.
In Zeile 20 wird dann über den INPUT-Be- fehl eine Zahl zwischen 0 und 15 einge- geben, die den entsprechenden Schalter auswählt. Der Multiplexer schaltet nun diese Leitung auf seinen Ausgang, wel- cher mit PB4 des User-Ports verbunden ist. Hier können wir nun in Zeile 40 den Zustand der Leitung abfragen. Ist der Wert Null, so ist der Schalter geschlos- sen, bzw. die Leitung am Multiplexer ist mit Masse verbunden. Bei einem anderen Wert als 0 ist der Schalter offen. In einem "Überwachungsprogramm" kann zum Beispiel in einer FOR-NEXT-Schleife von 0 bis 15 jeder Wert nacheinander in die Speicherzelle 56577 gepoked und
anschließend die Ausgangsleitung des Multiplexers abgefragt werden. Hier sind Ihnen als Anwender keine Gren- zen gesetzt. Da ja am User-Port noch drei Leitungen frei sind, wäre es natür- lich auch möglich, noch weitere Multi- plexer anzuschließen und so statt 16 Schaltern 32, 48 oder gar 64 Stück zu überwachen. Diese Zahlen dürften dann aber auch den Anforderungen eines Möbel- hauses genügen... Wir hoffen, daß Sie mit dieser Bastel- ware einige Anregungen bekommen haben, den Multiplexer mit seinen Möglichkeiten im Haus einzusetzen.