PWM initialisé mais rien sur la patte CCP1
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

PWM initialisé mais rien sur la patte CCP1



  1. #1
    *Baby*

    PWM initialisé mais rien sur la patte CCP1


    ------

    Salut,


    Je suis juste entrain de jeter un œil à la PWM avec un PIC16F88.

    J'ai suivis la datasheet en détail qui m'a donnée le code suivant :

    Code:
    //---------------------------------E/S et variables generales--------------------- 
    
    #include <htc.h>
    #include "delay.h"
    
    
    void sdc(int dc);
    
    
    //-------------------------------Fonction principale------------------------------ 
    void main(void) 
    { 
    // Initialisation des pattes du microcontroleur 
    
    
    PORTB=0;
    TRISB = 0; 
    PORTB=0;
    
    
    CCP1CON = 0; // On arrête le module PWM
    
    TMR2 = 0;
    
    PR2 = 99; // PR2=99 pour avoir une fréquence PWM de 20kHz
    T2CON=0b00000100; // Prescale value=1 et Timer = ON
    CCP1CON=0b00001100; //Mise en ON du module PWM
    
    sdc(50); // Met le rapport cycle à 50%
    
    
    while(1)
    {}
    
    }
    
    
    void sdc(int dc)
    {
    
    dc=500*dc/125;
    CCP1Y=dc;
    CCP1X=dc>>1;
    CCPR1L=dc>>2;
    
    
    }

    J'ai donc simulé cela pour voir si le code fonctionnait.
    Quartz : 8MHz


    Le problème, c'est qu'il n'y a aucun changement d'état sur la patte RB0.

    -----
    Images attachées Images attachées  

  2. #2
    RISC

    Re : PWM initialisé mais rien sur la patte CCP1

    Salut,

    Je ne vois pas les bits de configuration dans ton programme ?

    As-tu fait attention à :
    "Note 1: The CCP1 pin is determined by the CCPMX bit in Configuration Word 1 register"....page 1 de la datasheet

    a+

  3. #3
    *Baby*

    Re : PWM initialisé mais rien sur la patte CCP1

    Oui tout à fait, comme tu peux le voir sur le screen.

    De toute façon, c'est soit sur RB0 soit sur RB3 et j'ai rien sur les 2.

    Y a t-il d'autres paramètres à régler.

    Merci d'avance.
    Images attachées Images attachées  

  4. #4
    *Baby*

    Re : PWM initialisé mais rien sur la patte CCP1

    Petite précision, avec le simulateur de MPLAB, la patte RB change bien d'état, mais pas dans isis.

  5. A voir en vidéo sur Futura
  6. #5
    RISC

    Re : PWM initialisé mais rien sur la patte CCP1

    Salut,

    Oublies les simulateurs...Il y a aussi la vraie vie ...c'est à dire ce qui se passe REELLEMENT SUR LE CHIP
    (cela dit si cela ne marche déjà pas sur le ou les simulateurs, commence par chercher l'erreur car cela ne s'améliorera pas sur le chip).

    Un petit exemple du net assez génial je dois dire : http://www.micro-examples.com/public...alculator.html

    Seul bémol : le morceau de code ne MONTRE PAS les bits de configuration qui devraient être dans le programme source et SURTOUT PAS faits dans l'environnement MPLAB.

    a+
    a+

  7. #6
    *Baby*

    Re : PWM initialisé mais rien sur la patte CCP1

    Merci, j'avais vu ce site.

    Mais je deviens fou, car avec le simulateur de MPLAB, ça fonctionne, enfin je vois des changement d'état sur RB0, par contre dès que je passe sous Isis, plus rien.

    I y a t-il quelque chose de spécial à configurer ?

    Bizarre que ça marche sur MPLAB et pas sur ISIS.

    Ça doit venir d'un configuration ...

  8. #7
    *Baby*

    Re : PWM initialisé mais rien sur la patte CCP1

    Si quelqu'un a envie de regarder, voici un zip avec mon projet ainsi que le fichier ISIS.

    Je n'est pas de PIC16F88 et mon oscillo est pas en bonne santé, donc j'aimerais me contenter de la simulation qui devrait quand même marcher.
    Fichiers attachés Fichiers attachés

  9. #8
    RISC

    Re : PWM initialisé mais rien sur la patte CCP1

    Salut,

    Il y a pas mal de PB sur ton schéma et dans tes bits de configuration...

    1/ ICSP
    Ton schéma montre que MCLR est relié directement à Vdd.
    Si tu le cables comme cela, tu ne pourras jamais flasher ton PIC en ICSP.
    Je te recommande de suivre les recommandations de cette page pour le cablage de l'ICSP.

    2/ Bits de configuration
    Il ne faut pas faire cela dans MPLAB mais directement dans ton logiciel. Voir exemples dans le fichier header du PIC16F88 (pic16f87.h). La syntaxe dépend de ton compilateur. Les valeurs des fusibles dépendent de ton circuit

    Méthode 1 :
    Code:
    //Program Configuration Register 1
    //		__CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _HS_OSC
    
    //Program Configuration Register 2
    //		__CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF

    3/ Alimentations
    Sous ISIS je ne vois pas les alimentations du PIC...est-ce normal ??

    4/ Les broches non utilisées doivent être mises en sortie...Sinon cela marchera très bien en simulation et....pas du tout sur la carte !!!

    Un petit conseil : commence par faire simplement clignoter une led. Le code est simple et cela permet de régler les PB ci-dessus facilement

    a+

  10. #9
    *Baby*

    Re : PWM initialisé mais rien sur la patte CCP1

    Tu as réussi à le faire fonctionner en changeant ça ??


    Pour MCLR je suis d'accord avec toi mais en simulation, ça ne fais que ralentir le simulateur.

    Pour les bits de configuration, si tu les règles dans MPLAB, ils sont directement intégrés au codes. Il suffit de décocher "Configuration bits set in code".

    Oui l'alimentation n'est pas nécessaire.

    J'avais déjà essayé de mettre toutes les pattes en sorties.

    Enfin, une LED clignotement très bien sur le port RB0.

    Un truc de dingue ...

  11. #10
    *Baby*

    Re : PWM initialisé mais rien sur la patte CCP1

    Personne ?

  12. #11
    Kissagogo27

    Re : PWM initialisé mais rien sur la patte CCP1

    bjr, la simulation n'est que simulation ... bis ter etc repetita ...

    falloir mettre les mains dans le cambouis, et faire le montage .

Discussions similaires

  1. [Blanc] Lave vaisselle prélave mais rien d'autre
    Par inviteca38c201 dans le forum Dépannage
    Réponses: 2
    Dernier message: 28/10/2008, 15h18
  2. LCD 2x16 qui s'allume mais n'affiche rien
    Par LeaderShipper dans le forum Électronique
    Réponses: 13
    Dernier message: 15/06/2008, 22h38
  3. Conflit CCP1 & CCP2 en mode Compare
    Par HULK28 dans le forum Électronique
    Réponses: 3
    Dernier message: 03/12/2006, 21h55
  4. J'allume mon nouvel ordi, mais rien ne se passe...
    Par invite34ea5c9e dans le forum Matériel - Hardware
    Réponses: 6
    Dernier message: 26/02/2005, 20h24
Découvrez nos comparatifs produits sur l'informatique et les technologies.