Allumage d'une LED
Le schéma de câblage

simuler avec proteus
Le programme avec le compilateur CSS
#include <16f876A.h> //J'intègre le fichier de description du PIC que j'utilise (ici un 16f876A)
#use delay(clock=20000000)// je précise le type d'horloge
#fuses HS, NOWDT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD // ce reporté au directive de préprocesseur
#define LED pin_b1 //la LED est sur la sortie 1 du port B
void main() // fonction principal
{
output_high(LED); //sortie correspondant à la LED, à l'état logique haut, soit 5v
}
Explications
Je pense que le code parle de lui même, il n'y a encore rien de compliquer:
- Les 4 premières lignes correspondent aux directives de préprocesseur. Si vous ne les comprenez pas, référé vous à cette page.
- Ligne 6, la fonction principal (le main)
- Ligne 8 on met à l'état logique haut la sortie correspondant à la LED. Relire la page "les fonctions principales" si vous ne comprenez pas.
Le dossier
Je met à vôtre disposition un dossier compresser avec:
- Le fichier source en .C
- Tout les fichiers généré lors de la compilation (notamment le .hex utile à la simulation ou pour envoyer dans le PIC)
- Le fichier de schéma fait sur proteus
- La même capture d'écran qu'au dessus (pour le schéma de câblage)
LED.rar (clique droit, enregistrez sous)
Programme équivalant avec le compilateur HI-TECH
#include <pic.h>
#define LED RB1
void main()
{
TRISB=0x00;//mise en écriture du port b
LED=1;//mise a 1 de la led
}
Explications
Le compilateur HI-TECH n'as pas des fonctions prédéfinie comme le compilateur CSS , s'est pourquoi avec se compilateur votre code seras plus léger, mais on est proche de l'assembleur.
S'est pourquoi, on vous conseille si vous utilisez se compilateur de faire des fonctions a part pour configurer vos périphériques, car si vous passez sur un autre compilateur , il faut juste refaire ces petits programmes ...
Attention , je n'ai pas défini les fusibles, car j'utilise matlab qui me les ajoute tout seul.
Sugi et Matthieu
|