Bonsoir,
Quel est la difference entre les circuits : PCF8574A PCF8574P PCF8574AP PCF8574
Merci!
-----
Bonsoir,
Quel est la difference entre les circuits : PCF8574A PCF8574P PCF8574AP PCF8574
Merci!
desolé faute de frappe dans le titre( et le tag) j'arrive pas la corriger 8574 et non pas 8754
Salut,
Entre le PCF8574 et le PCF8574A, il y a effectivement une différence "électronique" :
Tu dois bien savoir que les PCF sont des circuits intégrés I²C, et donc ils nécéssitent une adresse d'adressage codée sur 7 bits .
Selon la norme I²C, l'adresse de chaque composant est divisée en deux :
L'adresse de Base : est codée sur le quatret de poids fort (les 4 premiers bits) et est fixe et réservée par le constructeur.
L'adresse Auxilière : C'est l'utilisateur qui la definit (à savoir toi) selon ses besoin, et est représentée par les 3 derniers bits de poids faible (A0, A1, A2)
Donc, si tu suis toujours, le PCF8574 à une adresse de base, qui selon la datasheet est : "0100"
Il reste l'adresse auxilière codée sur 3 bits, donc 23=8 possibilitées
0100 000
0100 001
0100 010
0100 011
... etc
Il en resulte que tu pourras mettre 8 PCF8574 sur le même Bus I²C et pas plus !
Disposant chacun de 8 entrées/sorties, tu auras : 8x8=64 I/O additionnelles
Le PCF8574A dispose d'une autre adresse de base sur 4 bits, a savoir : "0111"
Tu pourra donc, placer 23 = 8 autres PCF8574A sur toujours le même Bus I²C, comme s'il sagissait (et il s'agit) d'un autre composant mais remplissant la même fonction
0111 000
0111 001
0111 010
0111 011
... etc
Maintenant le "P" dans PCF8574P et PCF8574AP n'est la que pour désigner le type de boitier (package) du circuit intégré (la différence n'est que le type de boitier, et pas électroniquement parlant)
Le "P" désigne en effet :
Plastic dual in-line package; 16 leads
Donc : Boitier 16 Pattes, en 2 rangées de 8 pattes.
Voila, j'éspère avoir été clair, si tu as d'autres questions, n'hésite pas
a+
Dernière modification par behemerre ; 03/07/2007 à 14h12.
L'éxpérience de chacun est le trésor de tous
bonsoir
Ne pas oublier de faire un decalage à gauche de l'adresse auxilliaire
avant d'utiliser l'adresse complete du device.
et de rajouter 1 en mode lecture!
Code:;Init PCF8574 movlw b'01001000' ; adresse PCF8574 A0=0 A1=0 A2=1 MOVWF DEV_PCF8574 ; ..... Ecriture_PCF8574 call STOP call delay_25uS CALL START movf DEV_PCF8574,w ; @48H adresse device CALL OUT_BYTE CALL ACK MOVF value,W CALL OUT_BYTE CALL NACK call STOP return ;------------ LECT_PCF8574 Call STOP call delay_25uS CALL START movf DEV_PCF8574,w ; @48H adresse device ADDLW 1 CALL OUT_BYTE CALL ACK CALL IN_BYTE MOVF I_BYTE,W MOVWF value Call M_ACK call STOP return