Titre: Bus I2C Exemple de programme en C Pour μC de type PIC16F
Auteurs: Frédéric GIAMARCHI
Ecole: Université de Montpellier II
Résumé: L’utilisation d’un bus I2C, aussi appelé liaison I2C, pour dialoguer entre composants, réduit le nombre de lignes et permet l’échange de données entre plusieurs composants de type maître et esclave. Ce que ne permet pas la liaison série. Le bus I2C a été créé par Philips. Il est nécessaire de placer deux résistances de l’ordre de 3,3kΩ sur chaque ligne en rappel au +Vcc.
Généralités : L’objet de ce document est de donner des exemples de programmation en C pour la série des pic16Fx. Le langage est le C de XC8. Seul le mode mono-maître sera vu ici. Cela concerne donc le dialogue entre un PIC en maître et plusieurs esclaves dont certains peuvent être des PICs. La vitesse est de 100kHz en mode standard (slow) et 400kHz en mode rapide (fast).
Composants I2C : Les composants I2C disponibles possèdent leur propre adresse. Il est possible de mettre plusieurs composants identiques sur le même bus, voir en fonction des composants.
Extrait du sommaire:
Le bus I2C 3
Généralités 3
Composants I2C 3
Remarques : Un PIC en esclave 3
Commandes I2C 4
Dialogue avec un composant I2C 6
PCF8574(A) : extension pour 8 entrées-sorties parallèles 6
PCF8591 : convertisseur AN et NA 7
Utilisation du CNA 7
Utilisation du CAN 7
PCF8573: horloge calendrier en temps réel 8
Enregistrement de la date et de l’heure : 8
Lecture de la date et de l’heure : 8
PCF8583: horloge calendrier avec RAM 2ko 9
Configuration du registre d’état : 9
Lecture de l’heure, des minutes et des secondes : 9
DS1621: thermomètre numérique et thermostat 10
Initialisation du composant : 10
Lecture de la température : 10
X2404 : mémoire EEPROM 4k 11
Programme d’écriture 11
Programme de lecture 11
Bibliographie 12
Annexes 13
PCF 8573 14
PCF 8574 15
PCF 8583 16
PCF 8591 17
DS 1621 18
X24C04 19
Télécharger le fichier PDF : Bus I2C Exemple de programme en C Pour μC de type PIC16F