000
14.12.2010, 15:12 Uhr
Gast: Schnulli
|
0.Allgemeines
Das Modul ist gerätetechnisch auf die E/A-Adressen C0H bis C3H (192dez bis 195dez) voreingestellt. Sie liegt im vorgesehenen Bereich für Anwender-Module. Diese Adresse ist im CPLD fest programmiert und vom Anwender nicht änderbar. Das Strukturbyte kann frei festgelegt werden, sollte aber in dem dafür vorgesehenen Bereich von C0H bis D7H liegen.
1.Inbetriebsetzung
Diese Anleitung geht von folgenden Annahmen aus:
• Modul steckt in Platz 8 • wir befinden uns auf der CAOS-Ebene • Strukturbyte ist auf D4H eingestellt
Um den 8255 schreiben und lesen zu können, muß das Modul aktiviert werden
Die LED erleuchtet und auf dem Schirm wird
ausgegeben. Das Modul ist betriebsbereit und kann programmiert werden.
2.Initialisierung des 8255 / Festlegen der Datenrichtung der Tore A, B und C
Das Modul wird mit vier E/A-Adressen gesteuert
C3H (195dez) für Steuerung C2H (194dez) für Tor C (Port C) C1H (193dez) für Tor B (Port B) C0H (192dez) für Tor A (Port A)
Von den/auf die E/A-Adressen C0H bis C2H kann, in Abhängigkeit von der Konfiguration des 8255, direkt gelesen bzw. geschrieben werden. Die E/A-Adresse C3H dient der „Programmierung“ des 8255. Die Tabelle zeigt die Varianten für den Standardanwendungsfall. Weitere Betriebsarten und die Herleitung der Werte sind dem Datenblatt zu entnehmen.
Quellcode: | Wert Tor C Tor B Tor A 128dez Ausgang Ausgang Ausgang 144dez Ausgang Ausgang Eingang 130dez Ausgang Eingang Ausgang 146dez Ausgang Eingang Eingang 137dez Eingang Ausgang Ausgang 153dez Eingang Ausgang Eingang 139dez Eingang Eingang Ausgang 155dez Eingang Eingang Eingang |
Mit diesem Vorwissen wird nun der BASIC-Interpreter aufgerufen und folgender Befehl eingegeben
Damit wird Tor A und Tor B jeweils als Ausgang und Tor C als Eingang definiert.
Mit dem Befehl
bzw.
werden alle Bit von Tor A auf logisch 0 bzw. logisch 1 gesetzt.
Mit
wird Tor C eingelesen und in der Variablen A abgelegt.
3.Beispielprogramme
Ausgabe der Werte 0 bis 255 auf Tor A
Quellcode: | 10 OUT 195,128 20 FOR I=0 TO 255 30 OUT 192,I 40 PAUSE 1 50 NEXT I 60 END |
Einlesen der Werte von Tor A und Tor B und Ausgabe deren Summe auf Tor C
Quellcode: | 10 OUT 195,146 20 A=INP(192) 30 B=INP(193) 40 C=A+B 50 OUT 194,C 60 END |
|