
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> Hallo, ich verstehe einfach nicht, in der Bedienungsanleitung steht das die Extendet Ports genauso wie die Ports der CPU angesprochen werden und nur die Adresse am Modul richtig eingestellt werden muss. Verstehe ich da etwas falsch? Beispielprogrammen habe ich leider auch nicht gefunden. > Danke für eure Hilfe > Ähm, dann will ich mal nichts gesagt haben. Du hast recht. Das wusste ich aber noch nicht.... Da ist z.B. ein Demo von C-Control-Support.de 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 'IIIIIII DEMO ZUM BASIC-COMPUTER UNIT M 2.0/1.2 (by DIE HARD) IIIII 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII '-------------------------------------------------------------------- ' Beispiel zum BASIC-COMPUTER mit dem Programmer/Application-Board '-------------------------------------------------------------------- ' ANWENDUNG: IIC-BUS PORT EXTENSION PCF8574 PCF8574A ' PCF8574 DATENAUSGABE BYTEPORT SCHREIBEN '-------------------------------------------------------------------- ' Dieses Beispiel zeigt die Vorgehensweise für die Benutzung der IIC BUS ' PORTERWEITERUNG (EXTENDED PORTS) im Betriebssystem zusammen mit ' der als Zubehör erhältlichen PORTERWEITERUNG (12 88 48) auf PCF8574 ' Basis '-------------------------------------------------------------------- ' Sie können diese externen Ports ansprechen, wenn ein entsprechend adressierter ' Baustein an den IIC-Bus angeschlossen ist. ' Speziell für den PCF8574 ist das Betriebssystem aber so erweitert, dass ' Sie auf die Ports dieses Bausteins direkt über die PORT-Funktionen des ' Betriebssystems zugreifen können und sich über die IIC Protokollierung ' keine Gedanken müssen, das dies das Betriebssystem vollständig übernimmt. ' Allerdings ist die Zugriffszeit auf einen externen Port bedeutend grösser ' als bei den CPU-Ports 1 bis 16 (Byteport 1 u. 2) ' ' Das IIC-MODULE brauchen sie hier nicht zu benutzen, da der PCF 8574 vollständig ' vom Betriebssystem unterstützt wird, im Hintergrund allerdings die Protokollierung ' Statt findet, wie sie in den Beispielen zum IIC-MODULE beschrieben ist. ' ' Wissen müssen Sie allerdings, welche Ports zu welche PCF-Adresse gehören. Sie ' finden hier eine Aufstellung: ' ' PCF 8574 ADR 0 Ports 17 - 24 BYTEPORT 3 ' PCF 8574 ADR 1 Ports 25 - 32 BYTEPORT 4 ' PCF 8574 ADR 2 Ports 33 - 40 BYTEPORT 5 ' PCF 8574 ADR 3 Ports 41 - 48 BYTEPORT 6 ' PCF 8574 ADR 4 Ports 49 - 56 BYTEPORT 7 ' PCF 8574 ADR 5 Ports 57 - 64 BYTEPORT 8 ' PCF 8574 ADR 6 Ports 65 - 72 BYTEPORT 9 ' PCF 8574 ADR 7 Ports 73 - 80 BYTEPORT 10 ' PCF 8574A ADR 0 Ports 81 - 88 BYTEPORT 11 ' PCF 8574A ADR 1 Ports 89 - 96 BYTEPORT 12 ' PCF 8574A ADR 2 Ports 97 - 104 BYTEPORT 13 ' PCF 8574A ADR 3 Ports 105 - 112 BYTEPORT 14 ' PCF 8574A ADR 4 Ports 113 - 120 BYTEPORT 15 ' PCF 8574A ADR 5 Ports 121 - 128 BYTEPORT 16 ' PCF 8574A ADR 6 Ports 129 - 136 BYTEPORT 17 ' PCF 8574A ADR 7 Ports 137 - 144 BYTEPORT 18 '------------------------------------------------------------------- ' Der IIC-Bus liegt an PORT 9 (SDA) und PORT 10 (SCL) ' ' Beschreibung: ' Der PCF8574 hat eine wählbare 3-Bit Adresse. In unserem Beispiel gehen wir ' davon aus, dass alle Bits der Adresse HI sind, die Adresse ist also 7 ' In der Tabelle oben sehen Sie, dass zur Adresse 7 des PCF8574 der ' BYTEPORT 10 gehört. Die zugehörigen Bitports sind 73 bis 80, werden ' aber hier nicht benutzt, da der Port als Byte beschrieben wird. ' Das Programm erzeugt ain Blinklicht an Bit 0 und 7 des Byteports '----------------------------------------------------------------------- ' Achtung, ganz wichtig: ' Die Ports müssen als Ausgang initialisiert werden bevor der IIC-Bus ' benutzt wird: SDA=on:SCL=on ' Wenn Sie einen Portzustand lesen. ist wichtig, dass vorher der PCF8574 ' initialisiert wurde (alle Ports die gelesen werden sollen Output HI), ' dann liegen alle Ports hochohmig auf HI und können LO gezogen werden. ' Ist ein Port auf LO geschaltet, können sie ihn nicht nach HI ziehen, ' Das ist deshalb so, weil der PCF 8574 kein Datenrichtungsregister hat, ' und die Ports (auch beim Lesen des Eingangswertes) immer als Ausgang ' geschaltet sind. ' Achten Sie unbedingt darauf, dass das LCD initialisiert ist, wenn es ' angesteckt ist (auch wenn sie es nicht benutzen). ' Es teilt sich einen Teil seines Busses mit dem IIC-BUS ' print"#ON_LCD#"; ' print"#INIT#"; ' print"#OFF#"; '----------------------------------------------------------------------- '-------------------------- '------ I/O PORTS --------- '-------------------------- define SDA port[9] define SCL port[10] '-------------------------- '---- SYSTEM MEMORY ------- '-------------------------- define EXTPORT byteport[10] define EXBP port[75] define p8 port[8] define PCFDATA byte[1] define COUNTER byte[2] #INIT print"#ON_LCD#"; print"#INIT#"; print"EXTENDED PORTS"; print"#L207#"; print"WRITE"; print"#OFF#"; SDA=on:SCL=on '----------------------------------------------------- '-- PCF 8574 EXTENDED PORTS BLINKLICHT ---- '----------------------------------------------------- #z EXTPORT=129:pause 5:EXTPORT=0:pause 5:goto z Meine Homepage: http://www.csslabs.de/ccontrol |
| Antwort schreiben |