Partage
  • Partager sur Facebook
  • Partager sur Twitter

thermometre electronique commande via le pic16f877

    1 mai 2013 à 23:59:03

    Bonjour je suis un jeune etudiant  et lors de nos etude et realiation nous avons decide de realiser un thermomètre electronique  commande via un pic 16f887 mais je n arrive pas a trouve le programme pour le faire fonctionne normalement  je programme avec mikro c for pic   et j aimerai avoir le bon programme.merci d’avance . 

    -
    Edité par cedric2001 2 mai 2013 à 0:17:43

    • Partager sur Facebook
    • Partager sur Twitter
      2 mai 2013 à 9:30:47

      Il nous faudrait plus d'infos sur quel est ton capteur, qu'as tu essayé et où est-ce que ca bloque pour que l'on puisse t'aider...
      • Partager sur Facebook
      • Partager sur Twitter

      Retrouvez moi sur mon blog et ma chaine Youtube !

        2 mai 2013 à 22:06:18

        j'utilise  un capteur de temperature LM35 racrde a l'entree RA0/AN du pic   avec un afficheur  LM016L. en effet lafficheur affiche bien thermometre electronique pendant 6ms comme indique  dns le programme et apres  il plante . bon j aimerai avoir un bon programme si c est possible.merci d'avance

        En tout cas voila le code 

        "

        sbit LCD_RS at Rb4_bit;

        sbit LCD_EN at Rb5_bit;

        sbit LCD_D4 at Rb0_bit;

        sbit LCD_D5 at Rb1_bit;

        sbit LCD_D6 at Rb2_bit;

        sbit LCD_D7 at Rb3_bit;

        sbit LCD_RS_Direction at TRISb4_bit;

        sbit LCD_EN_Direction at TRISb5_bit;

        sbit LCD_D4_Direction at TRISb0_bit;

        sbit LCD_D5_Direction at TRISb1_bit;

        sbit LCD_D6_Direction at TRISb2_bit;

        sbit LCD_D7_Direction at TRISb3_bit;

        float temp_res;

        int volt;

        char txt[10];

        float b=40;

        int i;

        void main() {

        Lcd_Init();

        Lcd_Cmd(_LCD_CURSOR_OFF);

        Lcd_Cmd(_LCD_CLEAR);

        trisa=0xff;

        trisb=0;

        lcd_out(1,1,"THERMOMETRE ");

        lcd_out(2,1,"ELECTRONIQUE ");

        delay_ms(600);

        Lcd_Cmd(_LCD_CLEAR);

        delay_ms(1000);

        while (1){

        adcon1=0b10000000;

        adcon0=0b10000101;

        volt = ADC_Read(0);

        temp_res=(0.488 * volt);

        FloatToStr(temp_res, txt);

        lcd_Out(2, 4, txt); lcd_out(1,1,"LA TEMPERATURE");} }

        """

        • Partager sur Facebook
        • Partager sur Twitter
          3 mai 2013 à 9:31:56

          As tu essayé de mettre des Breaks Points dans ton code pour voir exactement sur quelle instruction ton code s’arrête ? ( et de vérifier l'état de tes variables )

          • Partager sur Facebook
          • Partager sur Twitter
            3 mai 2013 à 10:37:51

            mon code a cet dernier instruction que tu vois la . tu sais je suis un debutant dans le programmation bon si tu pouvais me donne dun cou de main sa me plairait vraiment: voila le montagee capture de ISIS(PROTEUS):

            MONTAGE DU THERMOMETRE CAPTURE DDU LOGICIEL ISIS(PROTEUS)

            • Partager sur Facebook
            • Partager sur Twitter
              3 mai 2013 à 10:39:15

              C KE J AIMERAI C EST AVOIR LE BON PROGRAMME car le mien la plante merci d'avance
              • Partager sur Facebook
              • Partager sur Twitter
                3 mai 2013 à 11:39:54

                Bonjour,

                cedric2001 a écrit:

                C KE J AIMERAI C EST AVOIR LE BON PROGRAMME car le mien la plante merci d'avance


                Si tu es débutant, il faut apprendre a programmer un peu tout seul, car sinon tu vas rien apprendre.

                Et pour apprendre de ces erreurs, il faut les trouver et les comprendre...

                Il n'y a rien de plus a ajouter, fait ce que dit Toponix. Tu mets des BreakPoints et tu regardes ou y un crash... Apres tu compares suivant la doc du Pic ou le langage...

                ps: "C KE" oh mon dieu...

                • Partager sur Facebook
                • Partager sur Twitter
                  3 mai 2013 à 11:45:52

                  A première vu je vois pas de problèmes flagrants dans ce code.

                  Je pense qu'il faut que tu passes par une phase de débug, car le problème semble mal localisé ( " le mien la plante " n'explique pas vraiment le problème. Y a t-il une instruction bloquante, une chute de tension, un problème lors de l'évolution d'une variable ? ... )

                  Fait défiler ton code pas à pas et en vérifiant à l’oscilloscope l'état de tes ports et diverses tensions ( tu peux peut être avoir un problème de hardware, découplage ou autre ). C'est un moyen efficace pour cerner les erreurs et surtout les comprendre.

                  Après je peux pas te donner un code tout fait car j'ai pas le matériel pour le tester et je pense que c'est un peu contraire à la philosophie du forum( tu trouves dans les règles : " ce forum ne fait pas vos devoir " )

                  C'est en se confrontant aux difficultés que tu vas progresser, nous pouvons seulement te guider et te conseiller.

                  -
                  Edité par Toponix 3 mai 2013 à 11:49:42

                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 mai 2013 à 13:18:23

                    (C'est marrant que tu parles de découplage, il n'y a justement pas de capa de découplage sur le microcontrolleur. J'avais un prof d'élec qui avait l'habitude de dire qu'un IC sans découplage "au pire, il tombe en marche")
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Retrouvez moi sur mon blog et ma chaine Youtube !

                      3 mai 2013 à 13:38:07

                      C'est même un peu la technique miracle le découplage des fois : un composant ne fonctionne pas comme il faut ;  hop ! on ajoute du 100nF :)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        3 mai 2013 à 13:42:12

                        Donc ca se confirme : "Au pire ca marche !" :D
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Retrouvez moi sur mon blog et ma chaine Youtube !

                          3 mai 2013 à 23:21:20

                          non  le programme fonctionne  normalement sa compile tout a fait mais  lors de la simulation sur proteus il ya plantage  

                          • Partager sur Facebook
                          • Partager sur Twitter
                            4 mai 2013 à 9:58:39

                            cedric2001 a écrit:

                            C KE J AIMERAI C EST AVOIR LE BON PROGRAMME car le mien la plante merci d'avance


                            cedric2001 a écrit:

                             en effet lafficheur affiche bien thermometre electronique pendant 6ms comme indique  dns le programme et apres  il plante . bon j aimerai avoir un bon programme si c est possible


                            cedric2001 a écrit:

                            non  le programme fonctionne  normalement sa compile tout a fait mais  lors de la simulation sur proteus il ya plantage  


                            Il aurait fallu être un petit peu plus clair dès le début, on peut pas deviner ton environnement de travail. Je te conseille à l'avenir de bien prendre le temps d'expliquer en détail ta manipulation avec de poster.

                            Je connais pas trop la simulation sous Proteus, je vérifiais la configuration du logiciel et les paramètres de simulation. Ton erreur vient peut être de la simulation de  l'acquisition de valeurs sur le port analogique.

                            • Partager sur Facebook
                            • Partager sur Twitter

                            thermometre electronique commande via le pic16f877

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown