EXTENDED PORTS 4.bas | |
Quelle: www.C-Control-Support.net Weitere Infos im C-Control-Forum / C-Control I Info | Download ![]() |
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'III CCBASIC++ DEMO ZUM BASIC-COMPUTER UNIT M 1.2/2.0 IIIII
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'--------------------------------------------------------------------
' Beispiel zum BASIC-COMPUTER mit dem Programmer/Application-Board
'--------------------------------------------------------------------
' ANWENDUNG: IIC-BUS PORT EXTENSION PCF8574 PCF8574A
' PCF8574 EXTERN BITPORT DATENAUSGABE
'--------------------------------------------------------------------
' 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 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 wird auf Bit 2 als ganz normaler BITPORT angesprochen.
' Eine LED an diesem Port blinkt.
' 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.
'-----------------------------------------------------------------------
' 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
' LCD.INIT
'-----------------------------------------------------------------------
'--------------------------
'------ I/O PORTS ---------
'--------------------------
define SDA port[9]
define SCL port[10]
define LIGHT port[16]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
define EXTPORT byteport[10]
define EXBITPORT port[75]
LIGHT=off
LCD.INIT
LCD.PRINT "WRITE BITPORT"
LCD.OFF
SDA=on
SCL=on
EXTPORT=off
'-----------------------------------------------------
'-- PCF 8574 BLINKLICHT AUF EXT BITPORT ----
'-----------------------------------------------------
#z
EXBITPORT=on
pause 5
EXBITPORT=off
pause 5
goto z
Powered by C-Control I Info |