probleme de programmation d'un PIC 16F877A !!
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

probleme de programmation d'un PIC 16F877A !!



  1. #1
    invite1bbe5889

    probleme de programmation d'un PIC 16F877A !!


    ------

    j'ai un problème avec la programmation de mon PIC. je vous laisse le code et a vous de m'aidez , si vous voulez bien sur )

    Code:
    // Déclaration des variables
     int recepteur ;
     int porte_ferme ;
     int verrouiller_portes ;
     int moteur ;
     int choc ;
     int buzz ;
     int cportes ;                          // portes ouvertées
     int rafik ;                            // détecteur de choc
     int nedjma ;                           // l envoy de sms
     // assignation
     #define recepteur portd.f7 ;
     #define buzz portd.f2 ;
     #define porte_ferme portb.f4 ; // detecteur des portes
     #define verrouiller_portes porta.f1 ; // verrouillage des portes
     #define moteur portd.f1; // moteur
     #define choc portb.f0; // detecteur de choc
    
    
    void envoyer_sms (char X){
    
    UART1_write_text("AT");    // Envoi de la commande AT
    UART1_write(13);    // Code ASCII equivalent pour ENTRE
    
    delay_ms(1000);
    UART1_write_text("AT+CSMS");   // Envoi de la commande "AT+CSMS" pour la selection de service de messagerie
    UART1_write(13);
    delay_ms(1000);
    UART1_write_text("AT+CMGF=1");   // Envoi de la commande "AT+CMGF=1" pour la selection du format du SMS le 1 pour le mode TEXT
    UART1_write(13);
    delay_ms(1000);
    UART1_write_text("AT+CMGS=");   // Commande pour l'envoi d'un SMS,on indiquant le numéro du destinataire
    UART1_write(34);  // code ASCII de (")
    UART1_write_text("+213794075178");
    UART1_write(34);   // code ASCII de (")
    UART1_write(13);
    delay_ms(1000);
    UART1_write_text(X);  // le contenu de notre message
    UART1_write(13);
    delay_ms(1000);
    }
    void main() {
    option_reg=0xC0 ;
    intcon = 0x18 ;
    pie1=0x0 ;  // aucun préphirique n'est autorise a faire une interuption
    pie2=0x0 ;  //
    adcon1=0x06; //tout les pin sont en  I/O numerique
    trisb=0x91;
    trisa=0;
    trisc=0;
    trisd=0x82;
    buzz=0 ;
    rafik=0;
    cportes=0;
    Start :
    while(recepteur==1)
    {
    if (nedjma==1)
    {
     UART1_init(9600);
    envoyer_sms("alarme auto")  ;
    nedjma=0;
    }
    if(moteur==1)
    {
    rafik=0;
     }
    }
    if(buzz==1)                // si le buzz est active
    {
    buzz=0 ;                  // désactiver le buzz
    goto Start ;
    }
    else if ( porte_ferme==0)   // si les portes sont ouvertées
    {
    buzz==1;
    Delay_ms(1000);
    buzz=0;
    goto Start ;
    }
    else if ( cportes==1)  // si les portes verrouillées
    {
    intcon.b7= 0;
    verrouiller_portes=0 ;
    cportes=0;
    goto Start ;
    }
    else if(cportes==0) // si les portes déverouillées
    {
    verrouiller_portes=1;
    cportes=1;
    if(moteur==0)
    {
    intcon.f7= 1 ;
    goto Start;
    }
    else
    {
    goto Start;
    }
    }
    }
    void interuption (){
    if(intcon.f1==1 )             // detecteur de choc
    {
    if(rafik!=4){
    buzz=1;Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);rafik=rafik+1;buzz=0;
    INTCON.F1=0;
    }
    else if(rafik=4){
    buzz=1;rafik=0;nedjma=1;
    }
    intcon.f1=0;
    }
    else if (intcon.f0=0)         // capteur pir ou ouverteur des portes
    {intcon.f0=0;buzz=1;nedjma=1;
    }
    }
    MERCI D'AVANCE

    -----

  2. #2
    invite1bbe5889

    Re : probleme de programmation d'un PIC 16F877A !!

    le probleme c'est que il ne marche pas aprés avoir charge sur mon PIC

  3. #3
    freepicbasic

    Re : probleme de programmation d'un PIC 16F877A !!

    Si recepteur ==0 alors le programme part dans les décors.

    le dernier } doit avoir un goto start !
    ou bien avant start on met un while (1) { et on ajoute un } à la fin !
    A+, pat

  4. #4
    invite1bbe5889

    Re : probleme de programmation d'un PIC 16F877A !!

    "recepteur ==0 alors le programme part dans les décors."
    j'ai pas compris
    et MERCI

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

    Re : probleme de programmation d'un PIC 16F877A !!

    le programme doit boucler.
    là il ne boucle pas il continue sur le reste du prog , peut être qu'a la suite il y a l int ou autre chose comme c est du C,
    c est donc totalement aléatoire il fera n importe quoi...
    A+, pat

  7. #6
    invite1bbe5889

    Re : probleme de programmation d'un PIC 16F877A !!

    Donc si je met un goto avec le dernier "}" j'aurai règle le problème ??

  8. #7
    freepicbasic

    Re : probleme de programmation d'un PIC 16F877A !!

    pour ce problème oui.
    A vérifier si le reste est ok.
    Au moins le prog devrait démarrer
    A+, pat

  9. #8
    remy01

    Re : probleme de programmation d'un PIC 16F877A !!

    Salut,
    si tu nous as donné le programme complet, je n'ai pas vu de #include ....
    entre autres : #include <16F877A.H> ? en début de progr.
    A+ ....Rémy.

  10. #9
    invite03481543

    Re : probleme de programmation d'un PIC 16F877A !!

    Bonsoir,

    non remy01 il utilise MikroC donc c'est l'IDE qui est renseigne lors de la creation du projet, du coup ca n'apparait pas dans le code.
    De meme que les bits de config, le quartz, etc.

    Utiliser un goto dans du C c'est pas le top, de meme que de prendre des int (2 octets) comme variables quand un char (1 octet) suffit.
    @+

  11. #10
    invite1bbe5889

    Re : probleme de programmation d'un PIC 16F877A !!

    juste une derniere question. comment connaitre la taille de programme dans le PIC mais avant de le charger dans le celui-ci
    et Merci beaucoup de vous réponse

Discussions similaires

  1. affchage d'un nombre sur LCD via PIC 16F877A
    Par narakphysics dans le forum Électronique
    Réponses: 9
    Dernier message: 09/04/2012, 20h21
  2. Problème lors de la programmation d'un PIC en Pascal
    Par invitedf66cb3b dans le forum Électronique
    Réponses: 10
    Dernier message: 16/12/2010, 14h45
  3. Fréquencemètre à base d'un PIC 16F877A
    Par inviteec0556c7 dans le forum Électronique
    Réponses: 1
    Dernier message: 28/06/2009, 18h24
  4. problème programmation d'un pic 16F876A
    Par flyermike dans le forum Électronique
    Réponses: 14
    Dernier message: 29/08/2007, 15h18
  5. Programmation Pic 16F877A
    Par invitee45b5732 dans le forum Électronique
    Réponses: 16
    Dernier message: 15/10/2006, 10h57
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...