Vous êtes sur la page 1sur 5

26/11/11

Clignotant LED PIC 18F2550

Projet microcontr leur PIC 18F2550


Circuit de test : clignotant LED
1- Prsentation
2- Schma lectrique
3- Liste du matriel
4- Code source du microcontr leur PIC (en langage C, compilateur C18)
5- Simulation avec ISIS-Proteus

1- Prsentation
Ce circuit fait clignoter deux leds.
Vous me direz qu'il est superflu d'utiliser un microcontr leur pour raliser cette tche.
Je vous rpondrai que je suis d'accord : un multivibrateur NE555 est bien suffisant.
Mais la simplicit du montage devrait intresser les dbutants.
On pourra aussi se servir de ce montage comme circuit de test, pour mettre en vidence la dfaillance du
microcontr leur.

2- Schma lectrique
Schma lectrique (ralis avec ISIS-Proteus) avec un PIC 18F2550 (28 broches) :

fabrice.sincere.pagesperso-orange.fr/ /clignotant_18F.htm

1/5

26/11/11

Clignotant LED PIC 18F2550

On veillera utiliser les deux masses (broches 8 et 19) et l'alimentation (broche 20).

3- Liste du matriel
1 microcontr leur PIC 18F2550
Remarque : vous pouvez demander des chantillons gratuits chez Microchip :)
1 LED verte
1 LED rouge (facultatif)
1 rsistance de 220 ohms
1 rsistance de 220 ohms (facultatif)
2 condensateurs de 22 pF
1 quartz de 4 MHz (valeur non critique)
1 source d'alimentation continue 5 V

1 programmateur pour flasher le programme du microcontr leur PIC

4- Code source du microcontr leur PIC (en langage C, compilateur C18)


J'utilise le compilateur C18 de Microchip (une version de dmonstration est tlchargeable gratuitement).

#include <p18f2550.h>
fabrice.sincere.pagesperso-orange.fr/ /clignotant_18F.htm

2/5

26/11/11

Clignotant LED PIC 18F2550

#pragma config WDT = OFF // watchdog timer OFF


#pragma config PWRT = ON // power-up timer ON
#pragma config BOR = ON // brown-out detect ON
#pragma config FOSC = HS // oscillator HS (quartz 4 MHz)
#pragma config PBADEN = OFF // PORTB<4:0> pins are configured as digital I/O on Reset
#pragma config LVP = OFF // low voltage programming OFF

void temporisation (int max)


{
// boucle de temporisation
int i ;
for (i = 0 ; i < max ; i++) ;

void main (void)


{
// Initialisation
TRISB = 0x00 ; // Configuration en sortie des broches RB0 RB7 du port B
PORTB = 0xFF ; // On teint les LEDs
while (1)
{
// On teint la LED 0
PORTBbits.RB0 = 1 ; // RB0 = 1
// On teint la LED 1
PORTBbits.RB1 = 1 ; // RB1 = 1
// Temporisation
temporisation (7500) ;
// On allume la LED 0
PORTBbits.RB0 = 0 ; // RB0 = 0
// Temporisation
temporisation (7500) ;
// On teint la LED 0
PORTBbits.RB0 = 1 ; // RB0 = 1
fabrice.sincere.pagesperso-orange.fr/ /clignotant_18F.htm

3/5

26/11/11

Clignotant LED PIC 18F2550

// On allume la LED 1
PORTBbits.RB1 = 0 ; // RB1 = 0
// Temporisation
temporisation (7500) ;
// On allume la LED 0
PORTBbits.RB0 = 0 ; // RB0 = 0
// Temporisation
temporisation (7500) ;
}
}

18F2550 : T l charger le code source en langage C (compilateur C18)

5- Simulation avec ISIS-Proteus


Proteus est une suite logicielle de CAO lectronique dite par la socit Labcenter Electronics.
ISIS est la composante de Proteus qui permet la cration de schmas 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 :

fabrice.sincere.pagesperso-orange.fr/ /clignotant_18F.htm

4/5

26/11/11

Clignotant LED PIC 18F2550

Par simulation, la LED 0 clignote

2,56 Hz, et la LED 1

1,28 Hz.

Cela est parfaitement en accord avec la pratique.

18F2550 : Tlcharger la simulation ISIS-Proteus

(C) Fabrice Sinc re ; Rvision 1.0.4

fabrice.sincere.pagesperso-orange.fr/ /clignotant_18F.htm

5/5