0

Allumer une LED a partir du PIC 18F4550

Vous êtes enfin près à écrire votre premier code! Nous allons juste faire un point rapide sur ce que vous avez à portée de main. Tout d’abord vous avez « LE BIGONOFF » !!! Vous pouvez le trouver facilement sur internet en allant sur son site. A la limite je pourrais m’arrêter là tellement sont travail est bien fait et son aide précieuse.

Cependant, les exemple de programmation qui vont vous être proposés ne sont que pour faire de l’assembleur ce qui peut être quelque peu repoussant dans un premier temps. Etant donné que notre robot est programmé en C, je vais vous montrer quelques exemples de codes qui pourraient vous aider pour débuter.

Tout d’abord il faut bien entendu faire un projet dans MPLAB et créer un fichier « main.c ».

Dans ce main on va mettre le code suivant que l’on va détailler après :

#include

int main()
{
ADCON1 = 0b00000000;
TRISA = 0b00000000;
PORTA = 0b11111111;

do{
// c’est ici que vous mettrez vos futures codes, après l’initialisation du PIC
}while(!0);

return 0;
}

Alors qu’est ce que c’est que tout ça ???
Bien je vous ai dit juste un petit programme pour commencer. Il n’est vraiment pas compliqué…
#include va permettre de dire qu compilateur quelle famille de microcontroleur on va utiliser. Sans ça, il va pas comprendre lorsque vous utiliserez des instruction qui ne font pas partie du langage C comme PORTA ou TRISA …
« ADCON1″ permet de mettre le PORT A de votre microcontroleur en mode numérique. Pour le mode analogique on verra plus tard (sinon allez voir le codage d’un télémètre dans la partie électronique)
Ensuite, « TRISA » permet de mettre le PORT A en sortie. Petit moyen mémotechnique :
O pour OUTPUT sortie
I pour INTPUT entrée
Enfin « PORTA = 0b11111111; » va mettre les sorties à 1. Elles sont ici codées en binaire mais vous aurriez pu le mettre ne hexa ce qui aurrait donné « PORTA = 0xFF » etc…
Jouez un peu avec les bits et vous comprendrez rapidement comment paramètrer vos PORTs
=> Oui mais moi j’ai qu’une LED à allumer sur la broche 0 du PORT A !!! Il y pas plus simple ?
Hé bien pas de panique il suffit de faire le code suivant

Alors qu’est ce que c’est que tout ça ??? Bien je vous ai dit juste un petit programme pour commencer. Il n’est vraiment pas compliqué…
#include va permettre de dire qu compilateur quelle famille de microcontroleur on va utiliser. Sans ça, il va pas comprendre lorsque vous utiliserez des instruction qui ne font pas partie du langage C comme PORTA ou TRISA …
« ADCON1″ permet de mettre le PORT A de votre microcontroleur en mode numérique. Pour le mode analogique on verra plus tard (sinon allez voir le codage d’un télémètre dans la partie électronique) Ensuite, « TRISA » permet de mettre le PORT A en sortie. Petit moyen mémotechnique :     O pour OUTPUT sortie     I pour INTPUT entrée
Enfin « PORTA = 0b11111111; » va mettre les sorties à 1. Elles sont ici codées en binaire mais vous aurriez pu le mettre ne hexa ce qui aurrait donné « PORTA = 0xFF » etc… Jouez un peu avec les bits et vous comprendrez rapidement comment paramètrer vos PORTs
=> Oui mais moi j’ai qu’une LED à allumer sur la broche 0 du PORT A !!! Il y pas plus simple ?
Hé bien pas de panique il suffit de faire le code suivant :

#include

int main()

{

ADCON1 = 0b00000000;

TRISA = 0b00000000;

RA0 = 1; // on met la broche 0 du PORTA à 1

do{

PORTA = 0×00; // pour initialiser le PORT à 0

DelayMs(1500); // on fait une temporisation pour clignoter il faut jouer avec la valeur pour que ce soit perceptible

RA0 = 0; // on met la broche 0 du PORTA à 0

DelayMs(1500);

}while(!0);

return 0;

}

Et voila. Bon c’étais juste un petit code pour se mettre en jambe. Cependant si vous rencontrez des soucis, n’ésitez pas à nous contacter pour que nous complétions notre article.