Allumage d'une LED

Le schéma de câblage


simuler avec proteus

Le programme avec le compilateur CSS


  1. #include <16f876A.h> //J'intègre le fichier de description du PIC que j'utilise (ici un 16f876A)
  2. #use delay(clock=20000000)// je précise le type d'horloge
  3. #fuses HS, NOWDT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD // ce reporté au directive de préprocesseur
  4. #define LED pin_b1 //la LED est sur la sortie 1 du port B
  5.  
  6. void main() // fonction principal
  7. {
  8.         output_high(LED); //sortie correspondant à la LED, à l'état logique haut, soit 5v
  9. }


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


  1. #include <pic.h>
  2. #define LED RB1
  3.  
  4. void main()
  5.         {
  6.         TRISB=0x00;//mise en écriture du port b
  7.         LED=1;//mise a 1 de la led
  8.         }


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

© robot-amateur.com - Tous droits réservés. Reproduction interdite sans autorisation.