aide urgent pour pic 16F877
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

aide urgent pour pic 16F877



  1. #1
    invite78b3ecc4

    aide urgent pour pic 16F877


    ------

    salut à tous et à tout ,j'ai un projet à faire ,une partie de ce projet concernant l'envoie d'une donné numérique de (0 à 255) ,la donnés doit etre envoyer par un slider de Labview à une carte a travers le port série,
    le probleme ,lorsque je fais la simulation par isis (reception d'une donné par le port série) j'affiche la donné sur afficheur Lcd ,lorsque par exemple j'envoie la donné 124 ,l'afficheur affiche 1puis 2 puis 4
    normale 124 mais apres le curseur retourne à 2 pour le remplacer par 1 et un sudesuite et apres la donné final se stabilise à 111 au lieu de 124.
    comment je peux resoudre ce probleme voici le programme sur microc.

    Code:
    unsigned char ch;
    unsigned short i=0,pos;
    char lcdtext[3];
    
    void main()
    {
    TRISB = 0b11111000; // PORTB = RB2 à RB0 E, RS du LCD et LED en sortie
    TRISC=(TRISC & 0b10110000); // TX, D7 à D4 du LCD-> en sortie 0xf0;
    PORTB=0;
    PORTC=0;
    
    INTCON = 0; 
    Usart_Init(9600);
    Lcd_Init(&portb);
    
    while(1)
    {
    if(Usart_Data_Ready())
    {
    while(1)
    {
    lcdtext[i]=Usart_Read();
    i++;
    if(i==2)
    i=0;
    Lcd_Cmd(LCD_RETURN_HOME);
    for(pos=0;pos<3;pos++)
    {
    portb=0b11110100;
    
    Lcd_Chr_CP(lcdtext[pos]);
    
    if (pos==3) Lcd_Cmd(LCD_SECOND_ROW);
    Delay_ms(300);
    }
    
    }
    
    }
    }
    }
    .

    -----
    Dernière modification par gienas ; 26/09/2010 à 20h17. Motif: Ajouté les balises code

  2. #2
    freepicbasic

    Re : aide urgent pour pic 16F877

    Ton programme boucle à l'infini sur une écriture de 3 chiffres .
    Ce qui décale d'un a chaque passage puisque le nombre affiché est pair.

    pour bloquer à 3 chiffres
    if (pos==3) while(1);
    A+, pat

  3. #3
    invite78b3ecc4

    Re :

    merci pour votre reponse je vais essayer a nouveau

  4. #4
    invite78b3ecc4

    Re : aide urgent pour pic 16F877

    Merci pour votre reponse

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

    Re : aide urgent pour pic 16F877

    La lecture de port série maintenant il s'effectue correctement mais lorsque j'envoie une autre donné il s'affiche pas,il reste toujour la donné precedente,j'attend votre aide,merci d'avance.
    voila le programme

    Code:
    void main()
    {
    
    TRISB = 0b11111000; // PORTB = RB2 à RB0 E, RS du LCD et LED en sortie
    TRISC=(TRISC & 0b10110000); // TX, D7 à D4 du LCD-> en sortie 0xf0;
    
    
       Usart_Init(9600);
    
       Lcd_Init(&portb);
    
           while(1)
         {
    
    
    
           if(Usart_Data_Ready())
             {
    
             {
                 while(pos==0)
                 {
    
                 if(pos==3) ;
                 lcdtext[i]=Usart_Read();
                 i++;
                 if(i==3)
                 i=0;
                 Lcd_Cmd(LCD_RETURN_HOME);
                 for(pos=0;pos<3;pos++)
               {
                 portb=0b11110100;
                 Lcd_Chr_CP(lcdtext[pos]);
                 if (pos==3) Lcd_Cmd(LCD_SECOND_ROW);
                 Delay_ms(300);
    
                  while(pos==1)
                 {
                 if(pos==3) ;
                 lcdtext[i]=Usart_Read();
                 i++;
                 if(i==3)
                 i=0;
                 Lcd_Cmd(LCD_RETURN_HOME);
                 for(pos=0;pos<3;pos++)
               {
                 portb=0b11110100;
                 Lcd_Chr_CP(lcdtext[pos]);
                 if (pos==3) Lcd_Cmd(LCD_SECOND_ROW);
                 Delay_ms(300);
    
                  while(pos==2)
                 {
                 if(pos==3) ;
                 lcdtext[i]=Usart_Read();
                 i++;
                 if(i==3)
                 i=0;
                 Lcd_Cmd(LCD_RETURN_HOME);
                 for(pos=0;pos<3;pos++)
               {
                 portb=0b11110100;
                 Lcd_Chr_CP(lcdtext[pos]);
                 if (pos==3) Lcd_Cmd(LCD_SECOND_ROW);
                 Delay_ms(300);
    
                 }
    
                  }
                   }
    
                    }
                     }
                       }
                               }
    
    
           }
        }
        }
    .
    Dernière modification par gienas ; 26/09/2010 à 20h18. Motif: Ajouté les balises code

  7. #6
    freepicbasic

    Re : aide urgent pour pic 16F877

    Code:
    void main()
    {
    
    TRISB = 0b11111000; // PORTB = RB2 à RB0 E, RS du LCD et LED en sortie
    TRISC=(TRISC & 0b10110000); // TX, D7 à D4 du LCD-> en sortie 0xf0;
    
    char lin;
    char i;
    
       Usart_Init(9600);
       Lcd_Init(&portb);
       lin=0;
       while(1)
    		{
    	   while ( ! Usart_Data_Ready()) ;
    		i=0;
    		while (i<3) {
    			lcdtext[i]=Usart_Read();
    			i++;
    			}
    
    		if (lin==0)	Lcd_Cmd(LCD_RETURN_HOME);
    		else  Lcd_Cmd(LCD_SECOND_ROW);
    		lin++;
    		if (lin==2) lin=0;
    
    		for(pos=0;pos<3;pos++)
    			{
    			portb=0b11110100;
    			Lcd_Chr_CP(lcdtext[pos]);
    			Delay_ms(300);
    			}
    		}
    }
    A+, pat

  8. #7
    invite78b3ecc4

    Re :freepic

    salut,merci pour votre aide ,ce programme il fait la lecture mais il y'a encore des petits problemes de lecture,je vous donne un exemple lorsque j'envoie 1 il s'affiche 11 lorsque j'envoie 16 il s'affiche 166
    merci encore une fois

  9. #8
    DAUDET78

    Re : freepic

    Citation Envoyé par sporta01 Voir le message
    lorsque j'envoie 1 il s'affiche 11 lorsque j'envoie 16 il s'affiche 166
    C'est que ton programme est mal écrit ! Lui, il fait ce que tu lui a dit de faire ... et c'est toi le coupable.

    Je sais pas, mais sans internet, on faisait marcher ses neurones et on n'avait pas les moyens de débuggage de maintenant. Et on faisait des logiciels qui marchaient.

    Maintenant, on viens pleurer... gnan gnan j'ai deux caractères à la place d'un seul. Et bien, regarde ton soft, elle est là la connerie que tu as écrites. Si tu comptes sur les autres .... ton futur patron, il a intérêt à embaucher les autres et pas toi.

    Bouge toi le cul, b....l de m...e !

    Ouf, ça fait du bien, depuis le temps que je vois les gens pleurer sur ce forum, fallait que ça sorte !

    Sorry, c'est tombé sur toi !
    J'aime pas le Grec

  10. #9
    invite78b3ecc4

    Re : DAUDET 78

    premierement le programme j'essaie de le developper ,et au m temps j'ai lancer un aide,c'est question de temps,pour cette raison j'ai demander l'aide
    deuxiement votre reponse traduit le vrai moralité et l'environnement
    d'une partie de peuple francophone limité qui veulent toujours donné de l'information en payant,merci encore une fois pour freepic.

  11. #10
    JPL
    Responsable des forums

    Re : aide urgent pour pic 16F877

    Relax Daudet : tu peux lui dire la même chose en beaucoup plus soft, donc sans l'agresser.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  12. #11
    freepicbasic

    Re : aide urgent pour pic 16F877

    le prog lit et affiche 3 chiffres.
    Tu doit donc en envoyer 3 systèmatiquement.
    001 ou " 1" par exemple
    016 ou _16 ou " 16".

    d'ailleurs c'est un peu trop simpliste il faudrait un caractère de fin de message pour sortir de la lecture.
    et en plus effacer l'afficheur avant chaque lecture si on envoie pas le 3 caractères.
    A+, pat

  13. #12
    invite78b3ecc4

    Re : aide urgent pour pic 16F877

    merci beaucoup je vais essayer

Discussions similaires

  1. aide interruption pic 16F877
    Par invite1cd8f19a dans le forum Électronique
    Réponses: 0
    Dernier message: 19/03/2010, 23h40
  2. Aide pour test pic 16f877
    Par invitedbd2d35d dans le forum Électronique
    Réponses: 7
    Dernier message: 19/03/2010, 14h14
  3. Aide pour test pic 16f877
    Par invitedbd2d35d dans le forum Technologies
    Réponses: 2
    Dernier message: 16/03/2010, 12h10
  4. aide pour PIC 16F877 vers PC via port serie (transfert de données)
    Par invite1c4b6700 dans le forum Électronique
    Réponses: 8
    Dernier message: 08/05/2009, 01h47
  5. Réponses: 43
    Dernier message: 26/06/2008, 21h02
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...