[Programmation] probleme dans le code de mikroc projet porte electronique
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

probleme dans le code de mikroc projet porte electronique



  1. #1
    kamalbe

    Unhappy probleme dans le code de mikroc projet porte electronique


    ------

    bonjour!j'ai un projet a realiser est de faire une porte electronique qui s'ouvre avec un code.
    lcd+keypad+led(simulation comme une porte).+speaker quand la porte s'ouvre il fait un sonne.
    le probleme que j'ai est le suivante:
    dans le menu de lcd il as 1-ouvrir la porte -2 parametre.ce deniere est vide il as que 7- returner
    quand je click sur 1 il me demande d'ecrire le mot de passe [7777] si c'est vrai la porte s'ouvre et il se referme avec quelque seconde et il revien au menu
    mais quand je click pour la 2eme fois sur 2 pour aller parametre il as un chauvauchement.
    le 2e;e probleme est quand je click sur 2 il as 7-returne c a dir je click sur 7 pour retourne si je click sur d'autres numero il as aucun effet sauf le num 1 si je klick sur lui c-a-d le 1 il me demande d'ecrir le mot de passe.
    ici c'est le schema de proteus ; pas possible de l'envoi sous .rar me dit fichier non valide
    j'espere que vous m'aidiz parceque je suis vraiment tranquer + j'ai pas encore fait le montage
    merci pour votre aide
    le programme :

    Code:
    sbit LCD_RS at RB2_bit;
    sbit LCD_EN at RB3_bit;
    sbit LCD_D4 at RB4_bit;
    sbit LCD_D5 at RB5_bit;
    sbit LCD_D6 at RB6_bit;
    sbit LCD_D7 at RB7_bit;
    sbit LCD_RS_Direction at TRISB2_bit;
    sbit LCD_EN_Direction at TRISB3_bit;
    sbit LCD_D4_Direction at TRISB4_bit;
    sbit LCD_D5_Direction at TRISB5_bit;
    sbit LCD_D6_Direction at TRISB6_bit;
    sbit LCD_D7_Direction at TRISB7_bit;
    char keypadPort at PORTD;
    unsigned short kp;
    char T[4];
    int i;
    void main() {
    Keypad_Init();
    TRISA=0;//led
    kp = 0;
    PORTA=0;
    Lcd_Init();
    {C:
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);
    Lcd_Out(1,1,"1-Ouvrire la porte"); //menu
    Lcd_Out(2,1,"2-Parametre");   //
     while (1){
     {D:
      kp=0;
      // for(i=0;i<1;i++){
         T[i]=kp;
    do
         kp = Keypad_Key_Click();
        while (!kp);
     switch (kp){
      case  1: kp= 55; break;  // 1
      case  2: kp= 52; break;  // 2
      case  3: kp= 49; break;  // 3
      case  4: kp= 65; break;  // A
      case  5: kp= 56; break;  // 4
      case  6: kp= 53; break;  // 5
      case  7: kp= 50; break;  // 6
      case  8: kp= 48; break;  // B
      case  9: kp= 57; break;  // 7
      case 10: kp= 54; break;  // 8
      case 11: kp= 51; break;  // 9
      case 12: kp= 80; break;  // C
      case 13: kp= 81; break;  // *
      case 14: kp= 82; break;  // 0
      case 15: kp= 83; break;  // #
      case 16: kp= 84; break;  // D
       }
       //}
      if(kp==49){                      // si 1
      Lcd_Cmd(_LCD_CLEAR);
      goto A;    //aller a A : entre le mot de passe pour ouvrire la porte
      }
       else if(kp==50){               //si 2
       Lcd_Cmd(_LCD_CLEAR);
      goto B;         //aller parametre
      }
    
      goto D;
    
    }
      
    {A:
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Out(1,1,"Entre Le Mot De Passe SVP:");
    Lcd_Out(2,2," ");
      //while (1){
     kp=0;
     kp = Keypad_Key_Click();
       for(i=0;i<4;i++){
        T[i]=kp;
    do
            kp = Keypad_Key_Click();
          while (!kp);
     switch (kp){
      case  1: kp= 55; break;  // 1
      case  2: kp= 52; break;  // 2
      case  3: kp= 49; break;  // 3
      case  4: kp= 65; break;  // A
      case  5: kp= 56; break;  // 4
      case  6: kp= 53; break;  // 5
      case  7: kp= 50; break;  // 6
      case  8: kp= 48; break;  // B
      case  9: kp= 57; break;  // 7
      case 10: kp= 54; break;  // 8
      case 11: kp= 51; break;  // 9
      case 12: kp= 80; break;  // C
      case 13: kp= 81; break;  // *
      case 14: kp= 82; break;  // 0
      case 15: kp= 83; break;  // #
      case 16: kp= 84; break;  // D
       }
       Lcd_Chr_Cp(kp);
      }
        if(T[1]==55 && T[1]==55 && T[2]==55 && T[3]==55) { //code 7777
        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out(1,1,"Correct");
         Lcd_Out(2,1,"Porte ouverte ");
         PORTA=1;
          delay_ms(3000);
        PORTA.RA0=0;
         delay_ms(5000);
         goto C;
      }
          else {
          Lcd_Cmd(_LCD_CLEAR);
        PORTA=0;
        Lcd_Out(1,1,"Mot De Passe Incorrect");
        delay_ms(2000);
        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out(2,1,"Ressayer A Nouveau");
        delay_ms(2000);
        goto A;
        }
        { B :
        Lcd_Cmd(_LCD_CLEAR);
       Lcd_Out(1,1," 7-retouner  ");
       //Lcd_Out(2,1," 2-retouner ");
       kp=0;
      for(i=0;i<1;i++){
    do
         kp = Keypad_Key_Click();
        while (!kp);
     switch (kp){
      case  1: kp= 50; break;  // 2
       }
      }
      if(kp==50){
      Lcd_Cmd(_LCD_CLEAR);
      goto C;
      }
        }
       // }
     Lcd_Out_Cp(kp);
     }
     }
      }

    -----
    Images attachées Images attachées  
    Dernière modification par gienas ; 26/03/2016 à 18h29. Motif: ajouté les balises code obligatoires pour les programmes

  2. #2
    Antoane
    Responsable technique

    Re : probleme dans le code de mikroc projet porte electronique

    Bonjour,

    ici c'est le schema de proteus ; pas possible de l'envoi sous .rar me dit fichier non valide
    Tu peux essayer d'envoyer un zip, cela devrait fonctionner.

    Crdt.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  3. #3
    Delared

    Re : probleme dans le code de mikroc projet porte electronique

    Citation Envoyé par kamalbe Voir le message
    bonjour!j'ai un projet a realiser est de faire une porte electronique qui s'ouvre avec un code.
    lcd+keypad+led(simulation comme une porte).+speaker quand la porte s'ouvre il fait un sonne.
    le probleme que j'ai est le suivante:
    dans le menu de lcd il as 1-ouvrir la porte -2 parametre.ce deniere est vide il as que 7- returner
    quand je click sur 1 il me demande d'ecrire le mot de passe [7777] si c'est vrai la porte s'ouvre et il se referme avec quelque seconde et il revien au menu
    mais quand je click pour la 2eme fois sur 2 pour aller parametre il as un chauvauchement.
    le 2e;e probleme est quand je click sur 2 il as 7-returne c a dir je click sur 7 pour retourne si je click sur d'autres numero il as aucun effet sauf le num 1 si je klick sur lui c-a-d le 1 il me demande d'ecrir le mot de passe.
    ici c'est le schema de proteus ; pas possible de l'envoi sous .rar me dit fichier non valide
    j'espere que vous m'aidiz parceque je suis vraiment tranquer + j'ai pas encore fait le montage
    merci pour votre aide

    [/code]
    Bonjour,
    CONSEIL : ARRANGES bien tes boucles !

Discussions similaires

  1. [Programmation] probleme de code : pic sous mikroc
    Par stephane-mecano dans le forum Électronique
    Réponses: 3
    Dernier message: 01/03/2016, 14h31
  2. Projet 7 segments mikroC PRO
    Par Melkire dans le forum Électronique
    Réponses: 2
    Dernier message: 01/04/2013, 21h39
  3. [Projet] ouverture de porte par code
    Par invite3dc6dc66 dans le forum Électronique
    Réponses: 2
    Dernier message: 01/12/2008, 20h06
  4. Ou je dois mettre mon code source vhdl dans le projet xmp?
    Par invite0d5fe536 dans le forum Électronique
    Réponses: 0
    Dernier message: 20/04/2008, 00h18
  5. projet serrere à code barre electronique
    Par jo-electrons dans le forum Électronique
    Réponses: 0
    Dernier message: 14/10/2006, 10h51
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...