Utilisation d'une entrée
Le schéma de câblage
On garde l'astuce de cette page et on y ajoute un interrupteur et sa résistance:

Le programme
#include <16f876A.h>
#use delay(clock=20000000)
#fuses HS, NOWDT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD
#define LED pin_b1 // LED sur la pin_b1
#define INT pin_b2 // interrupteur sur la pin_b2
void main() //fonction principal (main)
{
while(1) // boucle infinie
{
if (input(INT)) //Si état logique haut sur le pin de l'interrupteur
{
output_toggle(LED); //on inverse l'état logique de la LED
delay_ms(100); // tout les 100ms
}
else // sinon
output_float(LED); // on met en haute impédance
}
}
Explications
Je pense que les commentaires sont suffisamment explicite. Je modifierais en fonction des demandes de chacun.
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)
input_led.rar
Sugi
|