Informatique
A] Création d'un fichier de procédure
Nous avons créé un fichier nommé fonction.c : allumage_binaire_des_led(int n)
{
output_low(LED_D0); output_low(LED_D1); output_low(LED_D2); if ( bit_test(n,0)) output_high(LED_D0); if ( bit_test(n,1)) utput_high(LED_D1)); if ( bit_test(n,2)) output_high(LED_D2);
}
eclairer_une_LED(int led)
{
output_low(LED_D0); output_low(LED_D1); output_low(LED_D2); switch(led) { case 0 : output_high(LED_D0); break; case 1 : output_high(LED_D1); break; case 2 : output_high(LED_D2); break; }
}
attendre_un_appui()
{
while(input(BOUTON)) ; while(!input(BOUTON)) ;
}
Ce fichier permet de répertorier les différentes fonctions du programme à venir.
B] Création d'un fichier d'en-tête ---.h
Nous avons créé un fichier nommé prototype.h :
#include <16f877A.h>
#device ICD=TRUE
#fuses HS,NOLVP,NOWDT
#use delay (clock=20000000)
#define LED_D0 PIN_D0
#define LED_D1 PIN_D1
#define LED_D2 PIN_D2
#define BOUTON PIN_C0
Ce fichier permet de mettre les lignes d’instructions.
C] Programme
Nous avons édité le nouveau programme (sous le nom de prog3.c) :
#INCLUDE "prototype.h"
#INCLUDE "fonction.c"
void main()
{
int compteur = 0;
while(1)
{
eclairer_une_LED(compteur); attendre_un_appui(); compteur++;
}
}
Le fichier est maintenant édité et prêt a utilisation sur les cartes électronique via l’ICD.
D] Etude de structure de programmation
-L'instruction if est la structure de test la plus basique, on la retrouve dans tous les langages (avec une syntaxe différente...). Elle permet d'exécuter une série d'instruction si jamais une condition est réalisée.
La réponse doit être oui ou non ; vraie ou faux ; 0 ou 1.
-BIT_TEST()
Teste le bit spécifié dans la variable donnée. Le bit le moins significatif est 0. Cette fonction est beaucoup plus efficace, mais