Répondre à la discussion
Affichage des résultats 1 à 27 sur 27

problème de simulation de PIC18F



  1. #1
    Voltron

    Unhappy problème de simulation de PIC18F


    ------

    Bonsoir à toutes et à tous,


    je débute dans la programmation des PIC18F sous MPLAB avec le compilateur C18 de microchip, pour ce faire je suis entrain de suivre le C18 Getting Started guide téléchargeable depuis le site du fabricant : http://ww1.microchip.com/downloads/e...ted_51295f.pdf

    j'ai suivit toutes les étapes et j'ai pu compilé et simulé avec MPLABSIM.



    cependant, lorsque j'ai voulu simulé sur le schéma életrique avec ISIS (ca ne fait pas partie des étapes du getting started) le PIC n'a pas du tout réagi (le programme que j'essaie est tout bête , il consiste à faire clignoter des LED connecté au port B-voir le code) .

    ou est le problème à votre avis ?


    Code:
    #include <p18cxxx.h>
    #pragma config WDT = OFF
    
    void delay (void)
    {
    unsigned int i;
    for (i = 0; i < 10000 ; i++)
    ;
    }
    
    
    void main (void)
    {
    TRISB = 0;
    
    while (1)
      {
    
    /* Reset the LEDs */
    PORTB = 0;
    /* Delay so human eye can see change */
    delay ();
    
    /* Light the LEDs */
    PORTB = 0x5A;
    /* Delay so human eye can see change */
    delay ();
    
      }
    
    }



    je joint ci-dessous le projet entier avec le schéma de simulation ISIS


    merci d'avance.

    -----
    Fichiers attachés Fichiers attachés

  2. Publicité
  3. #2
    cherwam07

    Re : problème de simulation de PIC18F

    le PIC n'a pas du tout réagi
    Ca ne fonctionne pas en simulation ou sur une platine réelle ??

  4. #3
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par cherwam07 Voir le message
    Ca ne fonctionne pas en simulation ou sur une platine réelle ??
    en simulation sur ISIS

  5. #4
    Voltron

    Re : problème de simulation de PIC18F

    En attendant qu'une âme charitable vienne à mon secours j'ai une autre quesion à poser svp. lorseque j'ai refait ces test (compilation et simulation sur MPLAB) avec un PIC18F4525 ( le getting started guide , j'ai eu des résultat erroné, les output sur les pins B étaient ainsi:

    au lieu d'avoir 0x5A (0b01011010)
    j'ai eu 0x40 (0b01000000) à la sortie du PORTB

    de même pour 0x3A (0b00111010)
    j'ai eu 0x40 (0b00100000) à la sortie du PORTB

    on dirait que tout les bits qui suivent le premier bit non nul sont masqués.

    pensez vous que ceci viendrait du faite que le PIC18F4525 possède des fonctionnalités supplémentaires pour son port B (KBI et ANALOGS) ??

    pièces jointes à voir


    merci.
    Images attachées Images attachées
    Dernière modification par Voltron ; 06/05/2008 à 23h12.

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par Voltron Voir le message

    de même pour 0x3A (0b00111010)
    j'ai eu 0x40 (0b00100000) à la sortie du PORTB
    une petiteréctif pour ce post, j'ai trouvé 0x20 et non pas 0x40, le nombre écrit en binaire est correct.


    a+

  9. #6
    jorg1n

    Re : problème de simulation de PIC18F

    Salut Voltron,

    pour répondre a ta question de ton MP, je n'ai jamais travaillé avec ISIS, et ma connaissance dans les pic est très rapide...
    en ce qui concerne tous les "modules" que tu dois réaliser, je connais un peu la gestion pour un afficheur lcd 2x16, mais pour le reste...

    A bientot et bon courage

  10. Publicité
  11. #7
    JeromeP.ESISAR

    Re : problème de simulation de PIC18F

    Bonjour,

    Déjà une chose : si ton microcontrôleur fait aussi CAN, vérifie que tu as initialisé les pattes que tu utilises en sorties DIGITALES avec ADCON1<3:0> à 1 voir page 226

    Je retourne voir si d'autres initialisations sont nécessaires.
    Dernière modification par JeromeP.ESISAR ; 07/05/2008 à 09h03.

  12. #8
    Voltron

    Thumbs up Re : problème de simulation de PIC18F

    Citation Envoyé par JeromeP.ESISAR Voir le message
    Bonjour,

    Déjà une chose : si ton microcontrôleur fait aussi CAN, vérifie que tu as initialisé les pattes que tu utilises en sorties DIGITALES avec ADCON1<3:0> à 1 voir page 226

    Je retourne voir si d'autres initialisations sont nécessaires.

    salut Jerome,


    pour commencr je devrais donc désactiver les entrées analogiques et le CAN ,

    sur le compilateur PCW de CCS, je sais que les commandes sont :

    Code:
       
    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);
    je vais chercher ceux de C18.


    merci et a+

  13. #9
    JeromeP.ESISAR

    Re : problème de simulation de PIC18F

    Salut,

    Tu as un exemple page 96 pour initialiser le portB.
    Un simple ADCON1=0x0F devrait suffire, non ?

    J'avoue ne pas connaître grandement le famille des 18, j'ai déjà du mal avec les 16

  14. #10
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par jorg1n Voir le message
    Salut Voltron,

    pour répondre a ta question de ton MP, je n'ai jamais travaillé avec ISIS, et ma connaissance dans les pic est très rapide...
    en ce qui concerne tous les "modules" que tu dois réaliser, je connais un peu la gestion pour un afficheur lcd 2x16, mais pour le reste...

    A bientot et bon courage

    salut jorg1n,

    comment alors simules-tu ton circuit avant de le mettre sur la platine ?

  15. #11
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par JeromeP.ESISAR Voir le message
    Salut,

    Tu as un exemple page 96 pour initialiser le portB.
    Un simple ADCON1=0x0F devrait suffire, non ?

    J'avoue ne pas connaître grandement le famille des 18, j'ai déjà du mal avec les 16

    salut Jerome,

    je vais voir ca,

    merci pour on aide

    a+

  16. #12
    katmai

    Re : problème de simulation de PIC18F

    Salut,

    Peut être remplacer "PORTB =" par "LATB =" ?

    A+

  17. Publicité
  18. #13
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par katmai Voir le message
    Salut,

    Peut être remplacer "PORTB =" par "LATB =" ?

    A+

    Salut katmai,

    j'ai changé PORTB par LATB et la simulation a finalement marché sur ISIS (toutes les LED se sont mises à clignoter pour l'instruction LATB = 0xFF ).
    je ne sais pas exactement la différence entre PORTB et LATB , mais il semble que cette dernière désactive les entrées analogiques et active les sorties digitales sur le portB. (je souhaite que quelqu'un me confirme ca)

    merci


    Posté par JeromeP.ESISAR
    Bonjour,

    Déjà une chose : si ton microcontrôleur fait aussi CAN, vérifie que tu as initialisé les pattes que tu utilises en sorties DIGITALES avec ADCON1<3:0> à 1 voir page 226

    les inputs Analogiques du portB sont RB0,RB1,RB3 et RB4, est ce que l'instruction ADCON1<3:0> les désactive tous ?

  19. #14
    Voltron

    Re : problème de simulation de PIC18F

    Bonsoir à toutes et à tous,


    j'ai réglé le problème d'une autre manière sans toucher directement au code,

    au fait, j'ai configuré les les pins A/D du PortB comme I/O digitales sur la fenêtre Configure>Configuration Bits de MPLAB (voir pièce jointe) sans oublier de réécrire PORTB à la place de LATB.




    PS:les instructions de désactivation de A/D écrites à l'intérieur du programme sont toujours les bienvenues (au cas ou je change d'environnement de programmation )




    a+
    Images attachées Images attachées
    Dernière modification par Voltron ; 07/05/2008 à 20h32.

  20. #15
    Voltron

    Re : problème de simulation de PIC18F

    j'ai essayé les codes du datasheet ADCON1<3:1>=1111 ,ADCON1=6 et PCFG<3:0> = 1111. mais le compilateur n'a rien reconnu,
    j'ai cherché aussi sur internet comment mettre le PORTA au digitale mais sans résulat,

    de l'aide svp,

  21. #16
    katmai

    Re : problème de simulation de PIC18F

    Salut,

    Quel compilateur n'a pas accepté?

    Pour mettre les PINs en digital ADCON1=0x0F. Regarde la doc du 18F4525 page 226 ça met les PINs AD0->AD12 en digital donc les broches PORTA0->PORTA5, PORTE0->PORTE3, et PORTB0->PORTB3 seront configurées en mode digital.

    Donc normalement il suffit de mettre ADCON1 = 0x0F; et tu as tout en digital.

    A+
    Dernière modification par katmai ; 08/05/2008 à 09h35. Motif: fautes de frappe

  22. #17
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par katmai Voir le message
    Salut,

    Quel compilateur n'a pas accepté?

    Pour mettre les PINs en digital ADCON1=0x0F. Regarde la doc du 18F4525 page 226 ça met les PINs AD0->AD12 en digital donc les broches PORTA0->PORTA5, PORTE0->PORTE3, et PORTB0->PORTB3 seront configurées en mode digital.

    Donc normalement il suffit de mettre ADCON1 = 0x0F; et tu as tout en digital.

    A+
    salut katmai

    ca n'a pas marché, le compilateur continue à me signaler une erreur de syntaxe pour cette instruction (j'ai ajouté <adc.h> au projet).


    voici d'ailleurs mon code:

    Code:
    #include <p18cxxx.h>
    #include <adc.h>
    #pragma config WDT = OFF
    
    void delay (void)
    {
    unsigned int i;
    for (i = 0; i < 30000 ; i++)
    ;
    }
    
    
    
    void main (void)
    {
    TRISA=0xFF; // PORTA en entrée
    TRISB = 0;   // PORTB en sortie
    
    ADCON1=0x0f // set all ports to digital
    
    
    /* Reset the LEDs */
    PORTB = 0;
    
    
    while (1)
      {
    
    if (PORTA & 0x01)
    
       {
         /* Light the LEDs */
          PORTB = 0x81;
          delay ();
          
          PORTB = 0x42;
          delay ();
    
          PORTB = 0x24;
          delay ();
    
          PORTB = 0x18;
          delay ();
          
          PORTB = 0x24;
          delay ();
    
          PORTB = 0x42;
          delay ();
    
          PORTB = 0x81;
          delay ();
          
          PORTB = 0xFF;
          delay ();
    
     
    
          /* turn off the LEDs */
          PORTB = 0;
          /* Delay so human eye can see change */
         delay ();
         delay ();
    
    
        }  
    
    
      }
    
    }

  23. #18
    Voltron

    Re : problème de simulation de PIC18F

    quelle bétise, j'ai oublié le ';'.


    belle journée, non ?


  24. Publicité
  25. #19
    katmai

    Re : problème de simulation de PIC18F

    quelle bétise, j'ai oublié le ';'.
    !

    Et ça marche maintenant ??

    tu n'as pas besoin de adc.h enfin je pense pas (sous MPLAB en tous cas), normalement tous les registres de ton PIC sont déclarés dans p18f4525.h ou bien p18cxxx.h.

    A++

  26. #20
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par katmai Voir le message
    !

    Et ça marche maintenant ??

    tu n'as pas besoin de adc.h enfin je pense pas (sous MPLAB en tous cas), normalement tous les registres de ton PIC sont déclarés dans p18f4525.h ou bien p18cxxx.h.

    A++
    ca a marché oui, mais lorseque j'ai voulu changé un peu le programme, le PIC s'est bloqué (en simulation ).


    j'ai relié la sortie RD0 à un à relais avec tous son bazar (transistor, résistances, diode de roue libre, alimentation de la bobine,...)

    lorseque je ferme l'interrupteur sur RA0 le PIC devrait exciter le relais relié à RD0, sinon allumer une LED sur RD1.


    Voir pièce jointe, j'y ai tout mis.



    Code:
    #include <p18cxxx.h>
    #pragma config WDT = OFF
    
    void delay (void)
    {
    unsigned int i;
    for (i = 0; i < 30000 ; i++);
    }
    
    unsigned char a;
    
    
    void main (void)
    {
    TRISA = 0xFF; // PORTA en entrée
    TRISD = 0;  // PORTD en sortie
    
    ADCON1=0x0f; // set all ports to digital
    
    PORTD = 0;
    
    while (1)
      {
    
    a = PORTA ;
    
    switch (a)
         {
    
    case'0x01': PORTD = 0x01;
    
    default:  PORTD = 0x02;  
         }        
    
    
      }
    
    
    }


    le PIC n'a pas suivi enfin, il n'exécute que que la deuxième condition du Switch et la pin RB0 reste figé à un niveau haut quelque soit l'état de l'intérrupteur

    je ne comprends pas pourquoi !!




    Est ce quelqu'un aurait un code un peu compliqué qui marche pour le PIC18F4525. ?

    affichage LCD, excitations relais, gestion clavier sont les bienvneus !!


    merci d'avance.
    Fichiers attachés Fichiers attachés

  27. #21
    katmai

    Re : problème de simulation de PIC18F

    Salut,

    Tu as autres choses de branché sur ton PORTA en entrée?

    case'0x01': PORTD = 0x01;
    Le problème avec ça c'est que tu testes le PORTA complet or tu veux juste tester RA0. Donc si jamais tu as une broches du PORTA qui n'est pas à 0 ta condition ne sera pas remplie.

    Essayes peut être ça :

    if(PORTAbits.RA0==1)
    {
    PORTD = 0x01;
    }
    else
    {
    PORTD = 0x02;
    }
    Est ce quelqu'un aurait un code un peu compliqué qui marche pour le PIC18F4525. ?
    Il y a beaucoup d'AN sur le site de microchip du genre la Pile TCP-IP et tout ça.

    A+

  28. #22
    RISC

    Re : problème de simulation de PIC18F

    Voltron,

    1/ Header file
    Si tu utilises le C18, il faut toujours include le header file qui correspont exactement à ton micro. Donc dans ton cas p18f4525.h

    2/ Exemple pour le PIC18F4525
    Ce micro est très proche du PIC18F4520 ou du plus ancien PIC18F452 (seulement des différences de taille mémoire)
    Regarde les exemples pour le carte PICDEM 2 PLUS ici :
    http://www.aix-mrs.iufm.fr/formation...indexPIC_C.htm

    a+
    Dernière modification par RISC ; 09/05/2008 à 17h41. Motif: addition

  29. #23
    Voltron

    Wink Re : problème de simulation de PIC18F

    Citation Envoyé par katmai Voir le message
    Salut,

    Tu as autres choses de branché sur ton PORTA en entrée?



    Le problème avec ça c'est que tu testes le PORTA complet or tu veux juste tester RA0. Donc si jamais tu as une broches du PORTA qui n'est pas à 0 ta condition ne sera pas remplie.

    Essayes peut être ça :





    Il y a beaucoup d'AN sur le site de microchip du genre la Pile TCP-IP et tout ça.

    A+
    il y une résistance de rappel à la masse (PULL DOWN) branché entre l'intérrupteur et RA0.

    rien n'a changé avec le nouveau code.

    merci quand même katmai.

  30. #24
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par RISC Voir le message
    Voltron,

    1/ Header file
    Si tu utilises le C18, il faut toujours include le header file qui correspont exactement à ton micro. Donc dans ton cas p18f4525.h

    a+
    salut RISC

    j'ai mis : #include <p18cxxx.h> qui les inclut tous. qu'est ce que ca peut changer p/p à <p18F4525.h>, si ce n'est le volume ?
    ou encore, qu'est ce que ca change p/p au fichier <18F4525.h> ?


    Citation Envoyé par RISC Voir le message
    2/ Exemple pour le PIC18F4525
    Ce micro est très proche du PIC18F4520 ou du plus ancien PIC18F452 (seulement des différences de taille mémoire)
    Regarde les exemples pour le carte PICDEM 2 PLUS ici :
    http://www.aix-mrs.iufm.fr/formation...indexPIC_C.htm
    oui, mais il y a des configurations de bits à refaire.
    Images attachées Images attachées
    Dernière modification par Voltron ; 09/05/2008 à 18h09.

  31. Publicité
  32. #25
    Voltron

    Re : problème de simulation de PIC18F

    salut,

    Est ce que quelqu'un peut encore m'aider ?



    merci.

  33. #26
    jorg1n

    Re : problème de simulation de PIC18F

    Bonjour a Tous...
    Voila en pièce jointe le schéma que je te disais..
    bon courage
    Images attachées Images attachées

  34. #27
    Voltron

    Re : problème de simulation de PIC18F

    Citation Envoyé par jorg1n Voir le message
    Bonjour a Tous...
    Voila en pièce jointe le schéma que je te disais..
    bon courage

    merci jorg1n

Discussions similaires

  1. Problème simulation Orcad
    Par Delivereath dans le forum Électronique
    Réponses: 12
    Dernier message: 15/11/2007, 14h06
  2. Probleme simulation proteus isis
    Par lrtsenar dans le forum Électronique
    Réponses: 10
    Dernier message: 13/02/2007, 23h39
  3. Simulation de problème thermique
    Par Rodrigue dans le forum Technologies
    Réponses: 7
    Dernier message: 13/12/2006, 21h27
  4. problème simulation analogique
    Par pierrot53 dans le forum Électronique
    Réponses: 2
    Dernier message: 29/09/2006, 16h07
  5. problème de simulation informatique
    Par bobbyfischer dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 29/01/2006, 20h49
Découvrez nos comparatifs produits sur l'informatique et les technologies.