Vous êtes sur la page 1sur 3

clignotant à LED

 1- Présentation
 2- Schéma électrique
 3- Principe de fonctionnement
 4- Liste du matériel
 5- Code source (en assembleur)
 6- Code source (en langage C, compilateur mikroC)
 7- Simulation avec ISIS-Proteus

1- Présentation : Photo du circuit avec un PIC 16F876A


Ce circuit fait clignoter une LED à une fréquence d'environ 1 Hz.
Vous me direz qu'il est superflu d'utiliser un microcontrôleur pour réaliser cette tâche.
Je vous répondrai que je suis d'accord : un multivibrateur à NE555 est bien suffisant.
Mais la simplicité du montage devrait intéresser les débutants.
On pourra aussi se servir de ce montage comme circuit de test, pour mettre en évidence la défaillance du
microcontrôleur.

2- Schéma électrique :
On veillera à utiliser les deux masses :
broches 8 et 19
3- Principe de fonctionnement :
La base de temps du microcontrôleur PIC est fixée par R2 et C3 :
f OSC1 ≈ 1/(R2.C3) ≈ 2130 Hz
f OSC2 = f OSC1 / 4 ≈ 530 Hz ou 530 cycles par seconde (en pratique : 440 Hz mesurée sur la broche OSC2)
Le microcontrôleur utilise une source d'interruption : celle du module TMR0.
Le module TMR0 (8 bits) est configuré en mode timer (avec prescaler 1:1).
L' interruption a donc lieu tous les 256 cycles, ce qui correspond à environ une demi seconde.
La routine d'interruption inverse le niveau logique de la sortie RA1 : la LED clignote donc avec une période de
l'ordre de 1 seconde.

4- Liste du matériel

o 1 microcontrôleur PIC 16F84A ou 16F628A ou 16F88 ou 16F876A


o 1 LED
o 1 résistance 10 kΩ 1/4 W
o 1 résistance de 220 Ω
o 1 condensateur de 47 nF
o 1 source d'alimentation continue 5 V
o 1 condensateur électrochimique de 10 µF (filtrage de l'alimentation)
o 1 condensateur de 100 nF (filtrage de l'alimentation)
o 1 programmateur pour flasher le programme du microcontrôleur PIC

5- Code source du microcontrôleur PIC (en langage C, compilateur mikroC)

J'utilise le compilateur mikroC de la société mikroElektronika. (page : clignotant.c)

6- Code source du microcontrôleur PIC (en assembleur)

Le code source a été écrit en langage assembleur avec l'environnement de développement gratuit MPLAB IDE de
Microchip. (page : cligno876.asm.txt)

Les programmes sont élémentaires : seulement 11 instructions !


7- Simulation avec ISIS-Proteus :
Proteus est une suite logicielle de CAO électronique éditée par la société Labcenter Electronics.
ISIS est la composante de Proteus qui permet la création de schémas et la simulation électrique.
La grande force de ISIS est de pouvoir simuler le comportement d'un microcontrôleur (PIC, Atmel, 8051, ARM,
HC11...) et de son interaction avec les composants qui l'entourent

void main( )

{ for( ; ; ) // Boucle sans fin


Averifier :
{
void main()
{ TRISB = 0; // Configuration du PORTB en sortie
TRISB.F0 = 0; //Makes PORTB0 or RB0 Output Pin
PORTB.F0 = 0; // RB0 = 0
while(1) //Infinite Loop
{ Delay_Ms(1000); // Pause d’une seconde
PORTB.F0 = 1; //LED ON
Delay_ms(1000); //1 Second Delay PORTB.F0 = 1; // RB0 = 1
PORTB.F0 = 0; //LED OFF
Delay_ms(1000); //1 Second Delay Delay_Ms(1000); // Pause d’une seconde
}
} } // Fin de la boucle

}
222222222222 :