Examen de Fin de Formation TSFE (afficheur 7 segments + pic 16f84a)

Afficheur 7 segments + Pic 16F84A + keyboard

Partie 1 :
afficheur 7 segments + pic 16f84a
afficheur 7 segments + pic 16f84a

Travail à effectuer :

Le principe de fonctionnement est le suivant :
* L’appui sur une touche de 0 à 9 affiche sa valeur sur l’afficheur 7 segments.
  1.  Faire la liste des composants nécessaire pour réaliser le montage
  2.  Ecrire le programme Mikro C qui répond à ce cahier de charge.
  3.  Implanter le schéma et simuler ce programme sur ISIS .
  4.  Réaliser le montage sur une plaquette d’expérimentation

Solution :(programme de source)

 int a;                        //déclaration de variable a
void main()
{
       PORTA=0;        //mettre les bits du PORTA à 0
       PORTB=0;         //mettre les bits du PORTB à 0

       TRISA=0x00;   // configurer le PORTA en sortie
       TRISB=0xf0;    // configurer le PORTB en entrée

       for(;;)                 // boucle infini
    {
                 a=99;

      portb.f0=1;                      //programme principale
      if(portb.f4){ a=1;}
      if(portb.f5) {a=4; }
      if(portb.f6){ a=7; }
      portb.f0=0;

      portb.f1=1;
      if(portb.f4) {a=2;}
      if(portb.f5) {a=5; }
      if(portb.f6) {a=8;}
      if(portb.f7){ a=0; }
      portb.f1=0;

      portb.f2=1;
      if(portb.f4) {a=3;}
      if(portb.f5) {a=6;}
      if(portb.f6){ a=9;}
      portb.f2=0;

      if(a!=99)
     {
              PORTA=a;
     }
  }
}

Pour télécharge touts les fiches cliquez ici 
Partie 2:
Défilement de 4 LEDS (décalage de R0 vers R3) à l’aide d’un Microcontrôleur 16F84A

Microcontrôleur 16F84A
Microcontrôleur 16F84A

Travail à effectuer :

1. Ecrire un programme MicroC qui permet de défiler l’éclairage de 4 LEDs .
2. Faire la liste des composants nécessaire pour réaliser le montage.
3. Implanter le schéma et simuler ce programme sur ISIS .
4. Réaliser le circuit imprimé de ce montage.

Solution :(programme de source)

char i, x[]={0x0F};  //déclaration de variable i;x
                  
 void main() 
  {
     TRISB=0;     // configurer le PORTB en sortie
    while(1)       // boucle infini
    {
         for(i=0;i<5;i++)  //programme principale
        {
        PORTB=x[i];
        delay_ms(1000);
        }
    }
 }
Pour télécharge touts les fiches cliquez ici 

شارك

الكاتب :

التالي
السابق