Répondre à la discussion
Page 1 sur 8 12 3 4 5 6 7 DernièreDernière
Affichage des résultats 1 à 30 sur 219

Programmation PIC



  1. #1
    terrdala

    Programmation PIC


    ------

    Bonjour,

    J'ai récemment décider de programmer un PIC 16F628A pour qu'il agisse comme un relais temporiser a l'enclenchement quand on lui envoi son alimentation, en gros je lui envoie son alim et x seconde plus tard le relais sur RA0 s'enclenche (j'ai mit un transistor 2N3904 entre le relais et le PIC bien sur).

    Au par avant j'avais déjà programmer et je n'avais jamais eu de problèmes.

    Je ne sais pas pourquoi mais cette fois si le PIC ne veut pas faire ce que je lui demande et je vais vous expliquer de A à Z comment j'ai procéder.

    1) Je craie mon programme avec MPLAB en prenant compte le model du PIC et sa configuration pour l’oscillateur externe de 4MGHz.

    2) Je vérifie le bon fonctionnement du programme,si il n'y a pas d'erreur de frappe ect... et je le teste avec le simulateur.

    3) Tous va bien donc je procède a la compilation et a l'exportation du programme en hex.

    4) Je lance donc le programme de Pickit 2,j’efface la mémoire du PIC pour être sur et ensuite j'injecte le programme.

    5) Je lance une versification et ensuite je le met sur mon PCB.

    6) Je branche l'alim de mon PCB et rien ne se passe,le relais ne faire rien.

    7) Je regarde si le PIC est bien alimenter et c'est bien le cas,je regarde si les piste son bonne et si l'oscillateur externe est bon.

    8) Je constate que sa ne fonctionne toujours pas et j'ai bon reprogrammer le PIC et vérifier si le programme n'est pas mauvais mais je ne trouve pas la solution.


    Avez vous une idée du problème? Je vais fourni bien sur le programme pour que vous l'analysiez et me dire si il est bon.


    Voici le programme que j'ai écrit :


    // ------------------------------Déclaration de fichier externes--------------
    #include "delay.c" // déclaration du fichier contenant les temporisations
    //---------------------------------E/S-----------------------------------------------
    bit relais @ RA0;
    //------------------------------Variables generales-------------------------------
    char etat_inters;
    char a;
    //-------------------------------Fonction principale------------------------------
    void main(void)
    {
    PORTA = 0; // Initialisation des pattes du microcontrôleur
    TRISA = 0b00000000;

    {
    delay_10ms(500);
    relais= 1;
    }
    }

    -----

  2. Publicité
  3. #2
    RISC

    Re : Programmation PIC

    Salut,

    Regardes la documentation de ce PIC, en particulier le chapitre sur les I/O et le convertisseur ADC.
    Il faut initialiser d'autres registres car certaines broches d'E/S sont partagées avec les entrées analogiques

    a+
    Ma marotte ? les microcontrôleurs ;=)

  4. #3
    terrdala

    Re : Programmation PIC

    Ben j'ai jamais du le faire mdr.

    En plus tu ma parler en chinois moi je suis débutant en programmation de PIC .

    Maintenant les variables général je ne sais pas pourquoi elle sont la,j'ai re-programmer un programme que j'avais déjà fait au part avant.

  5. #4
    paolo123

    Re : Programmation PIC

    Un microcontroleur ne possède pas de système d'exploitation!, il faut que tu ajoutes la boucles while(1) dans ton programme et ca marchera










    #include "delay.c" // déclaration du fichier contenant les temporisations
    //---------------------------------E/S-----------------------------------------------
    bit relais @ RA0;

    char etat_inters;
    char a;

    void main(void)
    {
    PORTA = 0; // Initialisation des pattes du microcontrôleur
    TRISA = 0b00000000;
    while(1)
    {
    delay_10ms(500);
    relais= 1;
    }
    }

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

    Re : Programmation PIC

    Mais si tu met une boucle ben ça va éteindre,allumer,éteindre,allu mer ect non?
    Dernière modification par terrdala ; 10/03/2014 à 21h34.

  8. #6
    paolo123

    Re : Programmation PIC

    non essaye ce que j'ai ecris plus haut

    sans la boucle while(1) ton programme ne marchera jamais

    ensuite c'est toi de programmer ce que veux, tu peux tres bien laisser la boucle while vide et écrire tes instructions dehors mais il faut mettre le while
    Dernière modification par paolo123 ; 10/03/2014 à 21h38.

  9. Publicité
  10. #7
    Gérard

    Re : Programmation PIC

    Citation Envoyé par terrdala Voir le message
    Ben j'ai jamais du le faire mdr.

    En plus tu ma parler en chinois moi je suis débutant en programmation de PIC .

    Maintenant les variables général je ne sais pas pourquoi elle sont la,j'ai re-programmer un programme que j'avais déjà fait au part avant.
    http://ww1.microchip.com/downloads/e...Doc/40044F.pdf
    page 31 tu as la réponse.

    PS : fais un effort en français.

  11. #8
    terrdala

    Re : Programmation PIC

    Tes venu ici pour juger l'orthographe?

    Même si il y a des fautes il y en a pas t'en que sa,tous le monde n'est pas balaise en orthographe.Au final sa reste compréhensible de toute façons.

  12. #9
    paolo123

    Re : Programmation PIC

    Attention tu utilises le PORTA En sortie, le portA sont des sorties analogiques, essaye le meme programme en utilisant le PORTB, ca Devrait marcher

  13. #10
    terrdala

    Re : Programmation PIC

    En gros je doit utiliser genre RB0?

    Si c'est le cas je suis dans le lac mdr,car j'ai déja gravé mon PCB .

  14. #11
    paolo123

    Re : Programmation PIC

    oui ou alors il a une commande pour desactiver les comparateurs analogiques CMCON = 7 mais je ne suis pas sur, j'avais le meme probleme que toi une fois, j'ai changé de port et ca marchait niquel

  15. #12
    terrdala

    Re : Programmation PIC

    Voila pourquoi javais jamais eu de problème avant,j'ai jamais utilisé le PORTA,enfin j'ai juste a couper une piste et souder un petit fils mdr.Je tester sa et je te dit quoi.

    Sinon si sa te dérange pas tu sais m'expliquer rapidement la différence entre une sortie numérique et analogique car moi je vois pas du tout :s.

  16. Publicité
  17. #13
    paolo123

    Re : Programmation PIC

    mais sinon le PORTA c'est configuré par défaut en analogique donc tu pourras rien faire a part changer de port ou désactiver le port analogique mais ca je sais pas comment on le fait sur ton pic

  18. #14
    paolo123

    Re : Programmation PIC

    la sortie numérique ne peut prendre que deux états logiques prédéfinies soit 0 qui correspond à 0 V soit 1 qui correspond à 5 V, aucune valeur intermédiaire n'est utilisé

    La sortie analogique peut évoluer et prendre n'importe quelle valeur dans le temps, de 0 à 5 V, toutes les valeurs possibles et admissibles

  19. #15
    terrdala

    Re : Programmation PIC

    En gros l'analogique est utilisé pour faire varier une LED comme les contrôleur RGB?

  20. #16
    Gérard

    Re : Programmation PIC

    Citation Envoyé par terrdala Voir le message
    Tes venu ici pour juger l'orthographe?

    Même si il y a des fautes il y en a pas t'en que sa,tous le monde n'est pas balaise en orthographe.Au final sa reste compréhensible de toute façons.
    1 : je t'ai donné la solution.
    2 : si tu prends la mouche pour une vérité criante, je ne peux pas t'aider.

    Es-tu venu ici pour juger l'orthographe ?
    Même s'il y a des fautes, il n'y en a pas tant que ça, tout le monde n'est pas balaise en orthographe. Au final, ça reste compréhensible de toute façon.

    Soit : 7 fautes sans la ponctuation.

  21. #17
    Gérard

    Re : Programmation PIC

    Citation Envoyé par terrdala Voir le message
    En gros l'analogique est utilisé pour faire varier une LED comme les contrôleur RGB?
    Non, ce sont des entrées analogiques pour convertir une tension (de max 5V) en une valeur numérique (sur 10 bit, c'est de 0 à 1023)
    Regarde le lien que je t'ai donné en #7, il est dit d'écrire CMCON = 7 pour que le port A soit en numérique.
    TRISA doit aussi être à la bonne valeur.
    Dernière modification par Gérard ; 10/03/2014 à 23h39.

  22. #18
    terrdala

    Re : Programmation PIC

    Oué en gros tes venu en prof de français,tu lâche un commentaire pour de la ponctuation.

    Gérard tu a comprit la phrase? Oui,ben alors voila,des gens écrivent 100 fois moins bien que moi.

    Et oui je prend la mouche car venir dire sa ici juste pour quelques ponctuation c'est déplacer.


    Tu oublie des majuscule,je viens pas te souler,ton écrire est pas parfaite non plus.

  23. Publicité
  24. #19
    terrdala

    Re : Programmation PIC

    Ben j'ai prit RB0 maintenant mais sa ne va toujours pas,je comprend rien.

  25. #20
    Gérard

    Re : Programmation PIC

    Citation Envoyé par terrdala Voir le message
    Oué en gros t'es venu en prof de français,tu lâches un commentaire pour de la ponctuation.

    Gérard tu as comprit la phrase? Oui,ben alors voilà, des gens écrivent 100 fois moins bien que moi.

    Et oui je prends la mouche car venir dire ça ici juste pour quelques ponctuation c'est déplacé.


    Tu oublies des majuscules, je ne viens pas te saouler,ton écriture n'est pas parfaite non plus.
    Je suis ici depuis plus de 10 ans.
    Je t'ai donné LA solution à ton problème de PIC, pour le reste, visiblement, il y a trop à faire, je jette l'éponge.

  26. #21
    terrdala

    Re : Programmation PIC

    Ben j'ai reprogrammer pour l'avoir sur la sortie RB0 et sa ne va toujours pas

  27. #22
    paolo123

    Re : Programmation PIC

    Tutilise quel compilateur

  28. #23
    terrdala

    Re : Programmation PIC

    Mplab ide v8.00

  29. #24
    Gérard

    Re : Programmation PIC

    Citation Envoyé par terrdala Voir le message
    Ben j'ai reprogrammer pour l'avoir sur la sortie RB0 et sa ne va toujours pas
    Est ce que dans l'init, tu as écrit TRISB = 0 ?
    C'est pour mettre le portB en sortie.

  30. Publicité
  31. #25
    terrdala

    Re : Programmation PIC

    Oui j'ai bien mit sa,mais je crois que sa viens de l'oscillateur externe,les condos on même chauffer ,le pic aussi d'ailleur.

    J'avais jamais eu sa,je suis maudit :'(.

  32. #26
    Gérard

    Re : Programmation PIC

    Citation Envoyé par terrdala Voir le message
    Oui j'ai bien mit sa,mais je crois que sa viens de l'oscillateur externe,les condos on même chauffer ,le pic aussi d'ailleur.

    J'avais jamais eu sa,je suis maudit :'(.
    Tu as dû inverser + et - en alimentant le PIC ou l'alimenter avec plus de 5V. Normalement, ça ne chauffe pas un PIC.

  33. #27
    terrdala

    Re : Programmation PIC

    Salut,

    Pour la page 33 du datasheet ou il parle de PORTA.Vu que je suis débutant en programmation je n'ai rien comprit,appart le fait que RA5 na pas de pilote de sortie donc inutilisable en numérique.

    C'est comme si sa me parlai chinois car moi la programmation je comprend rien surtout que la plupart des tutos son long,mal expliquer et dans le désordre d'apprentissage.

    Se serais sympas juste de m'expliquer quelle commande permet de désactiver le comparateur et d'activer par exemple RA0 en sortie numérique.Car les commandes qui fonctionnes je ne peut pas les deviner non plus.

    Alors tu va me dire va t'inscrire a des vraie cour IRL,si je pouvais je le ferais x).

    Moi quand des personnes qui n'y connaisse rien me pose des questions je leur explique de façons a se qu'il comprenne tous de suite et je part pas dans des explication en chinois pour eux...

    Tous le monde n'est pas connaisseur en programmation du premier coup et les datasheet sa explique pour des gens qui s'y connaisse et pas pour des néophyte comme moi logique.

    SI j'ai RA0 que je veux désactiver le comparateur et configurer en sortie numérique ben tu met la commande et tu explique comment elle agi (oui car connaitre seulement la commande sans savoir se quelle fait sa ne t'apprend rien) sur le microcontrôleur c'est le but de l'aide non? Si ta pas envie d'expliquer ben tu poste rien.C'est comme si tu me disais tien voila le datasheet et démerde toi.
    Dernière modification par terrdala ; 18/05/2014 à 14h19.

  34. #28
    Gérard

    Re : Programmation PIC

    Citation Envoyé par terrdala Voir le message
    Salut,

    Pour la page 33 du datasheet ou il parle de PORTA.Vu que je suis débutant en programmation je n'ai rien comprit,appart le fait que RA5 na pas de pilote de sortie donc inutilisable en numérique.
    Oui, RA5 ne peut être qu'une entrée (voir page 9)

    Citation Envoyé par terrdala Voir le message

    C'est comme si sa me parlai chinois car moi la programmation je comprend rien surtout que la plupart des tutos son long,mal expliquer et dans le désordre d'apprentissage.

    Se serais sympas juste de m'expliquer quelle commande permet de désactiver le comparateur et d'activer par exemple RA0 en sortie numérique.Car les commandes qui fonctionnes je ne peut pas les deviner non plus.
    Ce serait sympa de lire les documents, ils sont en anglais, il n'y a pas le choix.
    Pour le module comparateur, voir page 53 et suivantes. En page 54, il est clairement expliqué avec un schéma comment faire pour désactiver les comparateurs :
    <CM2:CM0> = 111.
    En page 53, il est expliqué quels sont les bit du registre CMCON ... Tiens, on trouve <CM2, CM1 et CM0> !
    Tu écris donc dans ton initialisation CMCON = 7

    Citation Envoyé par terrdala Voir le message
    Alors tu va me dire va t'inscrire a des vraie cour IRL,si je pouvais je le ferais x).
    Moi quand des personnes qui n'y connaisse rien me pose des questions je leur explique de façons a se qu'il comprenne tous de suite et je part pas dans des explication en chinois pour eux...
    Dis-nous dans quel domaine tu excelles, qu'on puisse te poser des questions.

    Citation Envoyé par terrdala Voir le message
    Tous le monde n'est pas connaisseur en programmation du premier coup et les datasheet sa explique pour des gens qui s'y connaisse et pas pour des néophyte comme moi logique.
    Moi non plus, je ne suis pas un expert, mais je lis les docs à chaque fois que je commence un programme.
    C'est en se donnant du mal qu'on apprend ...

    Citation Envoyé par terrdala Voir le message
    SI j'ai RA0 que je veux désactiver le comparateur et configurer en sortie numérique ben tu met la commande et tu explique comment elle agi (oui car connaitre seulement la commande sans savoir se quelle fait sa ne t'apprend rien) sur le microcontrôleur c'est le but de l'aide non? Si ta pas envie d'expliquer ben tu poste rien.C'est comme si tu me disais tien voila le datasheet et démerde toi.
    Ben toi, si tu as envie d'avoir RA0 en numérique, tu fais ce que je t'ai dit juste au-dessus, je l'avais déjà dis au post #17.

    Et pour terminer 2 remarques :

    - je ne te répondrai plus si tu ne fais pas d'effort en français
    - tu devrais aussi apprendre à modérer tes propos, nous sommes là de manière bénévole et en aucun cas ni à ton service ni à ta disposition

  35. #29
    terrdala

    Re : Programmation PIC

    Je suis désoler mon français laisse a désirer mais j'en peut rien,portant j'essaye de pas faire de faute.

    Sinon page 36 je vois SUMMARY OF REGISTERS ASSOCIATED WITH PORTA(1) et il déclare que le bite 7 est RA7.

    Si comme ta dit je met CMCON 7 sa agis sur la patte RA0? Si oui je comprend pas alors car si le 7 représente le bit 7 ben c'est RA7.



    J'essaye vraiment de comprendre en plus tu a l'air de mieux comprendre que moi,moi je n'y arrive pas du tous.


    Je doit commander 12 LED différente (en faite elle son composer en plusieurs sa forme un prénom) mais les première son branchée sur RA0,RA1,RA2 et RA3. Et j'ai déjà fait mon Circuit imprimé c'est pour sa que je veux les mettre en sortie.


    C'est super sympas de ta pare de m'expliquer mais je ne comprend toujours pas :'(,je suis peut être pas assez futé.Je trouve sa frustrant que je n'arrive pas a comprendre sa,j'ai jamais eu de problème pour apprendre l'électronique et l'électricité et la je tombe sur les microcontrôleur et je bloque carrément :s.

    Et je sais que tes la en temps que bénévole et je fait pareille que toi pour aider des gens sur des autres domaines.

  36. #30
    Gérard

    Re : Programmation PIC

    Si tu écris CMCON = 7, les comparateurs sont hors service.
    Pour avoir une patte en sortie, il faut écrire un "0" dans le registre TRIS correspondant.
    Pour avoir tout le portA en sortie, tu écris TRISA = 0
    Ceci n'est pas valable pour RA5 si dans le mot de config, tu souhaites que RA5 soit MCLR (page 96)

    Une autre remarque, RA4 peut être une sortie mais est est à drain ouvert ce qui veut dire que tu ne pourras brancher une charge que entre + alim (5V) et RA4. Cette charge sera excitée si tu écris "033 sur le portA.4

    Le registre CMCON agit sur les comparateurs et les pattes concernées, RA0, RA1, RA2 et RA3 mais pas sur RA7.
    Ecrire 7 dans le registre CMCON, n'a rien à voir avec RA7.

    RA6 et RA7 peuvent recevoir le quartz (ou pas), ça dépend du mot de config.

Page 1 sur 8 12 3 4 5 6 7 DernièreDernière

Discussions similaires

  1. quelle est la difference entre programmation procedurale et la programmation orientee objet
    Par yusufwac dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 27/01/2016, 13h34
  2. Programmation D'un H.M.I (XBT)
    Par Damien886 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 10/01/2011, 19h17
  3. help me =>programmation
    Par adab dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 28/12/2010, 22h44
  4. programmation de pic en C
    Par jim@ dans le forum Électronique
    Réponses: 5
    Dernier message: 22/05/2007, 16h16
  5. programmation
    Par medkh-123 dans le forum Électronique
    Réponses: 3
    Dernier message: 25/03/2006, 00h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.