Bonjour ,
Nous sommes trois Lycéens ayants pour projet d'utiliser le Bus I2C du Pic 18F452 de MicroChip pour acquérir une température
et d'agir en fonction de celle-ci .
Une bonne partie du code de base/habituel a déja été fait le voici :
Code :
- /* --------------------------------------------------
- *
- * Circuit : PICDEM2+
- * Date :
- * Auteur : Alex , Pierre , Guillaume
- * Commentaires :
- *
- *---------------------------------------------------*/
- // Déclarations bibliothèques -----------------
- #include <p18f452.h>// déclarations pour le PIC18F45
- #include <delays.h>//bibliothèque de temporisation
- // Configuration PIC 18F452 -------------------
- #pragma config OSC = HS, OSCS = OFF // oscilateur à quartz 20 Mhz
- #pragma config PWRT = OFF
- #pragma config BOR = OFF
- #pragma config WDT = OFF // pas de chien de garde
- #pragma config CCP2MUX = OFF
- #pragma config LVP = OFF
- // Programme ==================================
- void main (void)
- {
- // variables et définitions -------------------
- int resultat=0;
- int pulse=0;
- #define LED0 PORTBbits.RB0
- #define LED1 PORTBbits.RB1
- #define BP1 PORTAbits.RA4
- #define TENSION PORTCbits.RC2
-
- // déclarations des broches des ports ---------
- TRISBbits.TRISB0 = 0; // on configure la broche 0 du port B en sortie
- TRISCbits.TRISC2 = 0; // on configure la broche 0 du port B en sortie
- TRISAbits.TRISA4 = 1; // on configure la broche 4 du port A en entrée
- TRISBbits.TRISB1 = 0; // on configure la broche 0 du port B en sortie
- // boucle principale --------------------------
- while(1)
- {
- LED1=1;
- TENSION=1;
- if(BP1==1)
- {
- LED1=0;
- TENSION=0;
- Delay1KTCYx(10);
- }
- }
- } // fin du MAIN ============================
|
Ce code est importé sous le logiciel MPLAB IDE v7.01 et est ensuite , chargé sur le PiC .
Mais malheureusement comme vous pouvez le constater avec le code ci-dessus , le Bus I2C nous pose problème ,
En réalité nous n'avons aucune idée des variables à utiliser pour acquérir une température ,
L'objectif serait d'acquérir une température "X" par exemple et si X>Y ou X<Y --> charger Oui ou Non une Tension comme dans le code ci-dessus .
Nous appelons donc à votre connaissance en la matière pour nous aider à trouver les variables adéquates et pour réussir à acquérir la température .
Merci grandement d'avance ,
Un Groupe de Lycéens ( un peu désespérés :S )
Message édité par Mopade le 20-03-2006 à 11:08:42