Il s’agit de la gestion de service dans une salle d’attente équipée d’un distributeur automatique de tickets dispose de trois guichets . La salle dispose de trois guichets donneurs de service. Chaque guichet dispose d’un bouton d’appel de client, un autre bouton de fermeture de guichet et un afficheur situé au dessus du guichet. Si l’administrateur de guichet appuie sur le bouton d’appel de client, le numéro demandé s’affiche sur l’afficheur de guichet et sur un autre afficheur au milieu de la salle d’attente...

GESTION D’UNE SALLE D’ATTENTE À BASE DU PIC16F877

PFE Electronique
août 12, 2017


Il s’agit de la gestion de service dans une salle d’attente équipée d’un distributeur automatique de tickets dispose de trois guichets . 
    La salle dispose de trois guichets donneurs de service. Chaque guichet dispose d’un bouton d’appel de client, un autre bouton de fermeture de guichet et un afficheur situé au dessus du guichet. Si l’administrateur de guichet appuie sur le bouton d’appel de client, le numéro demandé s’affiche sur l’afficheur de guichet et sur un autre afficheur au milieu de la salle d’attente. Si l’administrateur de guichet appuie sur le bouton de fermeture, le symbole de fermeture (FE) s’affiche sur l’afficheur de guichet. Le système électronique réalisé doit contrôler l’état des boutons disponibles dans chaque guichet pour incrémenter le numéro d’appel de clients et permet de donner en fin de journée le nombre de client traités par chaque guichet.

  • un bouton d’appel de client
  • un bouton de fermeture de guichet
  • un afficheur 7 segments pour afficher le numéro de client

Programmation en mikroC

Une partie du code source
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374if(portd.f1==0)     //  FE1
             {
               while (portd.f2!=0)
                {  
                   FE1 :
                        if (portc.f1==0) goto FE;
                        affichageNG(k);
                        bcd(max3(t,y,z));affichagemax(d1,d2);
                        bcd(t); affichage3(d1,d2);
                        porta.f0=0;portb=segment[10];porta.f0=1;delay_ms(1);
                        porta.f0=0;portb=segment[11];porta.f1=1;delay_ms(1);
                        bcd(z); affichage2(d1,d2);
                           if(portd.f3==0)
                           {
                            if(max3(t,y,z)==99) t=y=z=0;
                            z=max3(t,y,z)+1;  s2++;
                            k=2 ; delay_ms(300);
                           }
                             if(portd.f5==0)
                       {
                         if(max3(t,y,z)==99) t=y=z=0;
                         t=max3(t,y,z)+1; s3++;
                         k=3; delay_ms(300);
                        }
                         if(portd.f4==0)  // FE1 et FE2
                   {    while (portd.f3!=0)
                             { if (portc.f1==0)goto FE;
                             affichageNG(k);
                             bcd(max3(t,y,z));affichagemax(d1,d2);
                                bcd(t);
                              affichage3(d1,d2);

                         porta.f0=0;portb=segment[10];porta.f0=1;delay_ms(1);
                         porta.f0=0;portb=segment[11];porta.f1=1;delay_ms(1); porta.f1=0;

                            porta.f2=0;portb=segment[10];porta.f2=1;delay_ms(1);
                            porta.f2=0;portb=segment[11];porta.f3=1;delay_ms(1); porta.f3=0;

                              if(portd.f5==0)
                             {if(max3(t,y,z)==99) t=y=z=0;
                                 t=max3(t,y,z)+1; s3++;
                                  k=3; delay_ms(300);
                              }
                             if(portd.f2==0) goto FE2 ;
                      }
                   }
                   if(portd.f6==0)   // FE1 et FE3
                  {
                     while (portd.f5!=0)
                     {      if (portc.f1==0)goto FE;
                            affichageNG(k);
                            bcd(max3(t,y,z));affichagemax(d1,d2);


                            portd.f0=0;portb=segment[10];portd.f0=1;delay_ms(1);
                            portd.f0=0;portb=segment[11];portc.f4=1;delay_ms(1);portc.f4=0;

                             porta.f0=0;portb=segment[10];porta.f0=1;delay_ms(1);
                             porta.f0=0;portb=segment[11];porta.f1=1;delay_ms(1);

                               bcd(z);
                              affichage2(d1,d2);
                              if(portd.f3==0)
                        {
                          if(max3(t,y,z)==99) t=y=z=0;
                          z=max3(t,y,z)+1;  s2++;
                          k=2 ;   delay_ms(300);
                        }

                         if(portd.f2==0)goto FE3;
                    }
                  }
                 }
             }

Message
Pour avoir plus d'information sur le programme de ce systeme electronique voyez  contact nous ou laisser un commentaire

Enregistrer un commentaire

Blogger
Facebook

Emoticon
:) :)) ;(( :-) =)) ;( ;-( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (b) (f) x-) (k) (h) (c) cheer
Click to see the code!
To insert emoticon you must added at least one space before the code.

ABDO ECA

Formulaire de contact

Nom

E-mail *

Message *

Fourni par Blogger.
Javascript DisablePlease Enable Javascript To See All Widget