translation Pic 16f877 a 16f684
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

translation Pic 16f877 a 16f684



  1. #1
    inviteb0322323

    translation Pic 16f877 a 16f684


    ------

    Bonjour a tous ,

    je programme sur un pic 16f877 une application qui détecte une fréquence et qui réagi lorsque qu'une fréquence et attain (et j'inscris la fréquence sur un LCD) j'utilise le module CCP en mode Capture présent dans la gamme 16fxxx

    Mais vu le prix du 16f877 et que j'utiliserai ma carte comme simple détecteur je me tourne sur le pic16f684 qui dispose lui aussi du module CCP

    Voila le problème lors du changement de pic et la reconfiguration des broches
    mon programme ne fonctionne pas sur le 16f684
    aucune interruption n'est générer sa me prend la

    voici un bout de config (casi la totalité de la config)
    Code:
    __CONFIG(FCMDIS & IESODIS & BOREN & UNPROTECT & MCLRDIS & PWRTDIS & WDTDIS & HS );
    void init_pic(void)
    {
    TRISA = 0x00;   // configure les sorties utilisées du port A
    CMCON0 = 7;
    ANSEL = 0;
    TRISC = 0xFC;	// configure E/S RC5==> CCP1
    PORTC=0XFF;    
    ADCON1 =0x02;
    OPTION=0x7F;
       
    }
    void init_CCP1(void)
    {
    CCP1CON=0x05;	//configuration en front montent de la prise de messure
    INTCON= 0xC0;	//autorisation generale des interuption GEI =1; 
    PIE1=0x05;		//autorisation interuption PIE1
    T1CON=0x00;		// 
    }
    
    interrupt Capture(void)
    {
    RC0!=RC0;
    ////////////////////////////////
    /* Interuption debordement du timer1 */
    if (TMR1IF==1)
    {
    	TMR1IF=0; 		//mise du flag a 0
    }
    ////////////////////////////////
    /* Interuption CCP */
    if (CCP1IF==1)
    {	
    	CCP1IF=0; // remise du drapeau a 0 
    }
    
    }
    
    void main (void)
    {
    init_pic();
    init_CCP1();
    while(1);
    }
    voila et mon RC0 ne change jamais
    je viens de passe plusieurs jour sur se problème
    Vous êtes ma dernière chance

    MERCI

    -----

  2. #2
    ff023

    Re : translation Pic 16f877 a 16f684

    Bonjour

    Je n'ai encore jamais utilisé le module ccp des pics, mais en regardant les data sheets des deux composants je pense que ton initialisation ADCON1 = 0x02 pourrait être la source du problème car pour le 16F684 ce bit n'est pas implémenté.

    Consulte les data sheets pour trouver la correspondance entre les deux pics.

    ps: si c'est juste une question de prix(et une application non commerciale et que tu n'as pas besoin d'un grand nombre de composants) tu peux toujours essayer de commander des échantillons gratuits sur le site de microchip

  3. #3
    inviteb0322323

    Re : translation Pic 16f877 a 16f684

    merci mais je viens déjà de demander des échantillons pour ma carte de développement!

    je viens de vérifier le registre ADCON1 (utile au CAN) et j'avais bien un problème de config merci

    mais sa résous tjr pas mon problème sur les interruption
    Une personne a Déjà Configurer des interruption Sur le Pic 16f684?????

    ou mon p'tit projet va

  4. #4
    inviteb0322323

    Cool Re : translation Pic 16f877 a 16f684

    mon projet viens de revivre
    je viens de mettre a jour le compilateur (qui devait avoir des Bug)
    et tout marche bien Oufffff c pas de ma faute

  5. A voir en vidéo sur Futura

Discussions similaires

  1. servo et pic 16f877
    Par invitecb40bc0e dans le forum Électronique
    Réponses: 7
    Dernier message: 11/10/2009, 08h42
  2. pic 16F877 et la mémoire
    Par invite0d9691eb dans le forum Électronique
    Réponses: 1
    Dernier message: 08/05/2008, 11h15
  3. CAN intégré au PIC 16F877
    Par invite80303b0e dans le forum Électronique
    Réponses: 4
    Dernier message: 05/04/2007, 12h30
  4. Réponses: 0
    Dernier message: 18/03/2007, 15h43
  5. Pic 16f877 Pic basic pro conseil
    Par invite4ff7103d dans le forum Électronique
    Réponses: 10
    Dernier message: 04/01/2007, 17h26
Découvrez nos comparatifs produits sur l'informatique et les technologies.