EXTENDED PORTS 4.bas
Quelle: www.C-Control-Support.net
Weitere Infos im C-Control-Forum / C-Control I Info
Download 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