'************************************** ' ' C-Control/BASIC 8574EIN.BAS ' ' Aufgabe: ' ' - Ansteuerung eines PCF8574 ' ' Das Programm liest die Eingänge des ICs und gibt den Binärwert als ' Dezimalzahl aus, wartet dann eine Sekunde und das ganze beginnt von neuem. ' '************************************** ' --- Definitionen -------------------- define SDA port[7] define SCL port[8] define Daten byte define Komma byte define Zaehler byte define N byte ' --- Programmoperationen ------------- SDA = ON SCL = ON #Loop gosub Start Daten = 65 '1. Adresse PFC 8574 beim lesen gosub I2C_Write gosub I2C_Read print daten gosub NoAck gosub Stop pause 50 goto loop #Start SDA = OFF SCL = OFF return #Stop SDA = OFF SCL = ON SDA = ON return #I2C_WRITE for N = 1 to 8 sda = off if (Daten AND 128) = 128 then SDA = ON pulse SCL Daten = Daten shl 1 '1 Bit nach links next pulse SCL ' 9. Impuls Ack vom IC return #I2C_READ Daten = 0 deact SDA for N = 1 to 8 Daten = Daten shl 1 SCL = on if SDA then Daten = Daten + 1 SCL = off next return #Ack SDA = 0 pulse SCL return #NoAck SDA = 1 pulse SCL return end