Académique Documents
Professionnel Documents
Culture Documents
A. Présentation
L'objectif est de faire clignoter une LED à la fréquence de 1Hz. Pour cela, il faudra qu'elle soit
DÉBUT ALGORITHME
allumée pendant 0,5s puis éteinte pendant aussi pendant 0,5s. La LED utilisée est connectée sur le bit
0 du port D. _____________________________________________________________
B. Ordinogramme _____________________________________________________________
Début _____________________________________________________________
_____________________________________________________________
PORTD en sortie _____________________________________________________________
_____________________________________________________________
_____________________________________________________________
FAUX
1=1 ? _____________________________________________________________
VRAI _____________________________________________________________
RD0=1 _____________________________________________________________
_____________________________________________________________
Temporisation 0,5s _____________________________________________________________
_____________________________________________________________
RD0=0
_____________________________________________________________
_____________________________________________________________
Temporisation 0,5s
_____________________________________________________________
_____________________________________________________________
Fin _____________________________________________________________
FIN ALGORITHME
STI2D spécialité SIN INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 2 / 10
Pour réaliser la temporisation de 500ms, nous utiliserons une fonction prédéfinie du fichier htc.h : ___________________________________________________________________
__delay_ms(x). Pour appeler cette fonction, il suffit d’utiliser la syntaxe précédente en remplaçant x ___________________________________________________________________
par la durée en milliseconde.
___________________________________________________________________
Remarque : Le fichier htc.h doit être ajouté comme fichier d’entête et inclus au projet MPLAB. ___________________________________________________________________
___________________________________________________________________
b) Fonction à créer ___________________________________________________________________
Afin de structurer le programme, la fonction main devra appeler les fonctions suivantes : ___________________________________________________________________
// Fonction principale
2. Programme en C
___________________________________________________________________
// le programmateur PPPV3
E. Expérimentation
Saisir et tester votre programme sur les maquettes PIC en utilisant le projet MPLAB prévu à cet effet.
Voir fiche méthode : « Programmation en langage C, mise en œuvre d’un équipement didactique »
STI2D spécialité SIN INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 3 / 10
PORTC en entrée
_____________________________________________________________
_____________________________________________________________
FAUX _____________________________________________________________
1=1 ?
_____________________________________________________________
VRAI
_____________________________________________________________
Lecture du
PORTC _____________________________________________________________
_____________________________________________________________
_____________________________________________________________
Écriture du
résultat dans le _____________________________________________________________
PORTD
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
Fin
FIN ALGORITHME
STI2D spécialité SIN INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 4 / 10
Pour réaliser la temporisation de 500ms, nous utiliserons une fonction prédéfinie du fichier htc.h : ___________________________________________________________________
__delay_ms(x). Pour appeler cette fonction, il suffit d’utiliser la syntaxe précédente en remplacant x ___________________________________________________________________
par la durée en milliseconde.
___________________________________________________________________
Remarque : Le fichier htc.h doit être ajouté comme fichier d’entête et inclus au projet MPLAB. ___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
b) Fonction à créer
___________________________________________________________________
Afin de structurer le programme, la fonction main devra appeler les fonctions suivantes :
___________________________________________________________________
Configuration_PORTD() qui doit fixer la direction de RD0 à RD7. ___________________________________________________________________
___________________________________________________________________
2. Programme en C
___________________________________________________________________
___________________________________________________________________
#include <pic16f877A.h> // Fichier de définition des adresses des ___________________________________________________________________
// registres du PIC 16F877A ___________________________________________________________________
___________________________________________________________________
#include <htc.h> // Fichier de fonctions prédéfinies ___________________________________________________________________
___________________________________________________________________
// Directives d’assemblage ___________________________________________________________________
__CONFIG(0x3f3a); // non nécessaire si configuré par ___________________________________________________________________
// le programmateur PPPV3
E. Expérimentation
Saisir et tester votre programme sur les maquettes en utilisant le projet MPLAB.
// Définitions des Fonctions
B. Algorithme
DÉBUT ALGORITHME
FIN POUR
FIN POUR
FIN ALGORITHME
(1)
Rappel : En langage C, la séquence est exécutée tant que la condition est vraie
A. Ordinogramme
// Fonction principale
B. Programme en langage C
___________________________________________________________________
1. Consignes ___________________________________________________________________
___________________________________________________________________
a) Fonction prédéfinie
___________________________________________________________________
Pour réaliser la temporisation de 500ms, nous utiliserons une fonction prédéfinie du fichier htc.h :
___________________________________________________________________
__delay_ms(x). Pour appeler cette fonction, il suffit d’utiliser la syntaxe précédente en remplacant x
par la durée en milliseconde. ___________________________________________________________________
___________________________________________________________________
Remarque : Le fichier htc.h doit être ajouté comme fichier d’entête et inclus au projet MPLAB.
___________________________________________________________________
___________________________________________________________________
b) Fonction à créer ___________________________________________________________________
Afin de structurer le programme, la fonction main devra appeler les fonctions suivantes : ___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
// Définitions des Fonctions
- Optimiser votre code pour avoir un affichage du chenillard « fluide ».
B. Algorithme C. Ordinogramme
FAIRE PORTD = 0
TANT QUE 1 = 1
FAIRE i = 0
FAIRE
FAIRE i = i +1
FIN ALGORITHME
___________________________________________________________________
D. Programme en langage C
___________________________________________________________________
1. Consignes ___________________________________________________________________
Afin de structurer le programme, la fonction main devra appeler les fonctions suivantes : ___________________________________________________________________
Configuration_PORTC(), Configuration_PORTD() et __delay_ms(x) identiques à ___________________________________________________________________
celles utilisée précédemment.
___________________________________________________________________
char Lecture_et_masquage(char a) qui doit lire l’état des sept bits de poids faible du ___________________________________________________________________
PORTC et les afficher sur les sept bits de poids faible du PORTD. Elle doit également incrémenter la
variable d’index i de la temporisation passée en paramètre et retourner cette valeur. ___________________________________________________________________
___________________________________________________________________
2. Programme en C // Fonction principale
#include <pic16f877A.h> // Fichier de définition des adresses des ___________________________________________________________________
// registres du PIC 16F877A ___________________________________________________________________
___________________________________________________________________
#include <htc.h> // Fichier de fonctions prédéfinies ___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
// Définitions des Fonctions ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________ ___________________________________________________________________
___________________________________________________________________
___________________________________________________________________ E. Expérimentation
Saisir et tester votre programme sur les maquettes PIC en utilisant le projet MPLAB prévu à cet effet.
___________________________________________________________________