Vous êtes sur la page 1sur 27

ECOLE NATIONALE DES SCIENCES APPLIQUÉES-TÉTOUAN

GÉNIE DE SYSTÈME TÉLÉCOMS ET RÉSEAUX


SEMESTRE 4

CONCEPTION ET
RÉALISATION D’UNE
MONTRE DIGITALE
Rapport de projet

ENCADRÉ PAR : PR. KHOULJI


RÉALISÉ PAR : -IMANE FADIL
–BADR EDDINE EL OURDIGHI

Année : 202 0 - 2 021

1
REMERCIEMENTS

On tient à remercier tout particulièrement et à


témoigner toute notre reconnaissance aux
personnes suivantes, pour l’expérience
enrichissante et pleine d’intérêt qu’elles nous ont
fait vivre durant cette année au sein d’Université:

Pr. KHOLJI, pour son agréable efforts et


nous avoir familiarisé avec les études et pour avoir
travaillé à la mise en ligne malgré les conditions,
pour avoir apporté toute sa connaissance et son
expérience, sa disponibilité, son savoir scientifique
et ses qualités humaines.
L’ensemble des collègues faisant partie du
groupe « GSTR2 » avec qui nous avant travaillé
toute l’année scolaire, pour leurs accueils et pour
les informations qu’ils nous ont transmises.

2
SOMMAIRE
INTRODUCTION GENERALE .................................. 4

PARTIE 1 : Etude Théorique


I. LES MICROCONTRÔLEURS .............................. 6

1. Généralités ................................................................................................ 6
2. Les avantages du microcontrôleur ............................................................. 6
3. Avantages du Contenu d’un microcontrôleur .............................................. 7

II. LES PICS ......................................................... 8


1. Structure d'un PIC ..................................................................................... 8
2. Structure minimale d'un PIC ...................................................................... 8
3. Identification d’un PIC ............................................................................... 9
4. Le choix du microcontrôleur........................................................................ 9
5. Le microcontrôleur PIC 16F84A ............................................................... 10

III. L’AFFICHEUR A CRISTAUX LIQUIDES « LCD » 11

IV. LES LOGICIELS DE DEVELOPPEMENT ............ 13

PARTIE 2:Etude Pratique

I. SIMULATION SUR ISIS PROTEUS .................. 21

II. CODE SUR MIKROC ...................................... 22

III. RESULTAT DE LA SIMULATION...................... 25

CONCLUSION GENERALE ................................... 27

3
INTRODUCTION GENERALES
Dans les milieux industriels, il est nécessaire d’améliorer et
optimiser les processus de production. Ainsi pour atteindre cet
objectif on doit surveiller continuellement les différents
paramètres du système étudié et analyser les données recueillis.

L'informatique industrielle est une branche de


l'informatique appliquée qui couvre l'ensemble des techniques
de conception et de programmation, de systèmes
informatisés à vocation industrielle, qui ne sont pas des
ordinateurs.

Un système de surveillance de données dans un milieu


industriel doit pouvoir proposer la possibilité d’enregistrer une
large gamme de données.

Dans ce cadre se place notre travail qui consiste à concevoir


et réaliser un enregistreur de données.

Nous allons travailler selon une méthode de travail bien


déterminée :
1-Etude théorique des différents systèmes qui composent
notre enregistreur de données.
2-Conception et simulation du système.
3-Réalisation pratique et diagnostique.

4
PARTIE 1 :
Etude Théorique

5
I – LES MICROCONTRÔLEURS
1. Généralités :
Les microcontrôleurs sont très utilisés dans le monde de l'industrie, notamment
dans les systèmes embarqués. On pourra donc les retrouver dans l'aéronautique,
l'aérospatial, l'automobile, l'électronique grand publique. Leur polyvalence, et leur
taille les rendent intéressants pour des modules de traitement de données
numériques et aussi analogiques. Ils sont certes peu puissant comparés à des
processeurs dédiés, mais ils les compensent par leur prix mais surtout leur taille, un
microcontrôleur peut être comparé à une carte mère d'ordinateur.

Un microcontrôleur est une unité de traitement de l’information de type


microprocesseur contenant tous les composants d’un système informatique, à savoir
microprocesseur, des mémoires et des périphériques (ports, timers, convertisseurs…).
Chaque fabricant a sa ou ses familles de microcontrôleur. Une famille se caractérise
par un noyau commun (le microprocesseur, le jeu d’instruction…).

2. Les avantages du microcontrôleur :


L’utilisation des microcontrôleurs pour les circuits programmables à plusieurs
points forts. Il suffit pour s’en persuader, d’examiner la spectaculaire évolution de
l’offre des fabricants de circuits intégrés en ce domaine depuis quelques années.

Nous allons voir que le nombre d’entre eux découle du simple sens.
 Tout d’abord, un microcontrôleur intègre dans un seul et même boîtier ce
qui, avant nécessitait une dizaine d’éléments séparés. Il résulte donc une
diminution évidente de l’encombrement de matériel et de circuit imprimé.
 Cette intégration a aussi comme conséquence immédiate de simplifier le
tracé du circuit imprimé puisqu’il n’est plus nécessaire de véhiculer des
bus d’adresses et de donnée d’un composant à un autre.
 L’augmentation de la fiabilité du système puisque, le nombre des
composants diminuant, le nombre des connexions composants/supports
ou composants/circuits imprimer diminue.
 Le microcontrôleur contribue à réduire les coûts à plusieurs niveaux :
- Moins cher que les autres composants qu’il remplace.
- Diminuer les coûts de main d’œuvre.
 Réalisation des applications non réalisables avec d’autres composants.

6
3. Avantages du Contenu d’un microcontrôleur :
L’utilisation des microcontrôleurs pour les circuits programmables à plusieurs
points forts. Il suffit Un circuit microcontrôleur doit contenir dans un seul boîtier tous
Les éléments de bases qu’on verra par la suite. En effet, pour l’analyse des divers
systèmes réalisés avant l’avènement des microcontrôleurs, les fabricants des circuits
intégrés a affinées un peu la définition de ce qu’il fallait intégrer pour arriver à un
schéma type analogue à la figure suivante :

Figure : Structure interne d’un microcontrôleur

7
II –LES PICS
1. Structure d'un PIC :
Les PIC, au même titre que les microprocesseurs, sont composés essentiellement
de registres ayant chacun une fonction bien définie. Les PIC possèdent également des
périphériques intégrés, tels qu'une mémoire EEPROM, un timer, des ports d'entrées/
sorties ou bien encore un convertisseur analogique/numérique.
Selon le type de PIC utilisé, on retrouvera en interne un certain nombre de
registres et périphériques possédant des caractéristiques différentes. Les différences
de caractéristiques selon le PIC utilisé sont :
• La taille de la RAM interne.
• La mémoire EEPROM intégrée.
• Le type de mémoire programme : FLASH, EPROM ou OTP et la taille de
celle-ci.
• Le timer intégré.
• Les convertisseurs analogique/numérique intégrés.

2. Structure minimale d'un PIC :


La structure minimale d'un PIC est constituée des éléments ci-dessous :
 Une mémoire de programme contient le code binaire correspondant aux
instructions que doit exécuter le microcontrôleur. La capacité de cette
mémoire est variable selon les PIC.
 Une mémoire RAM sauvegarde temporairement des données. Sa
capacité est aussi variable selon les PIC
 Une Unité Arithmétique et Logique (UAL ou ALU en anglais) est chargée
d'effectuer toutes les opérations arithmétiques de base (addition,
soustraction, etc.) ainsi que les opérations logiques de base (ET, OU
logique, etc.).
 Des ports d'entrées/sorties permettent de dialoguer avec l'extérieur du
microcontrôleur, par exemple pour prendre en compte l'état d'un
interrupteur (entrée logique), ou encore pour commander un relais
(sortie logique).
 Un registre compteur de programme (CP ou PC en anglais), est chargé de
pointer l'adresse mémoire courante contenant l'instruction à réaliser
par le microcontrôleur. Le contenu du registre PC évolue selon le pas de
programme.
 Un registre pointeur de pile (PP ou SP en anglais) est essentiellement
utilisé lorsque l'on réalise un sous-programme. Le pointeur de pile est
chargé de mémoriser l'adresse courante que contient le compteur de
programme avant le saut à l'adresse du sous-programme. Lorsque le
sous-programme est terminé, le pointeur restitue l'adresse sauvegardée
vers le compteur de programme.

8
 Un registre d'instruction contient tous les codes binaires correspondant
aux instructions à réaliser par le microcontrôleur. Le PIC 16F84A
comporte 35 instructions.
 Un registre d'état est en relation avec l'UAL et permet de tester le
résultat de la dernière opération effectuée par le microcontrôleur. Selon
la dernière opération effectuée, des bits sont positionnés dans le
registre d'état et ceux-ci peuvent être testés à l'aide d'une instruction de
branchement pour effectuer des sauts conditionnels.
 Une horloge système permet de cadencer tous les échanges internes ou
externes au microcontrôleur.
 La famille des PICs est subdivisée en 3 grandes familles : La famille Base-
Line, qui utilise des mots d’instructions de 12 bits, la famille Mid-Range,
qui utilise des mots de 14 bits, et la famille High-End, qui utilise des mots
de 16 bits.

3. Identification d’un PIC :


Pour identifier un PIC, nous utilisons simplement son numéro : les 2 premiers
chiffres indiquent la catégorie du PIC, 16 indique un PIC Mid-Range, 18 indique PIC
high-Range.
Vient ensuite parfois une lettre L : Celle-ci indique que le PIC peut fonctionner
avec une plage de tension beaucoup plus tolérante. Ensuite, nous trouvons : C indique
que la mémoire programme est une EPROM ou plus rarement une EEPROM, CR pour
indiquer une mémoire de type ROM ou F pour indiquer une mémoire de type FLASH.
À ce niveau, on rappelle que seule une mémoire FLASH ou EEPROM est
susceptible d’être effacée.
Finalement nous trouvons sur les boîtiers le suffixe « -XX » dans lequel XX
représente la fréquence d’horloge maximale que le PIC peut recevoir. Par exemple –04
pour un 4MHz.
Notons dès à présent que les PICs sont des composants STATIQUES, c’est à dire
que la fréquence d’horloge peut être abaissée jusqu’à l’arrêt complet sans perte de
données et sans dysfonctionnement

4. Le choix du microcontrôleur :
Le choix d’un microcontrôleur est primordial car c’est de lui que dépendent en
grande partie les performances, la taille, la facilité d’utilisation et le prix du montage.
En fait ce choix est imposé dans le cahier de charge.
Le PIC 18F452 possède en plus des instructions très puissantes donc un
programme à développer réduit, une programmation simple grâce au mode série. En
fait la cause principale du choix du 18F452 est qu’il dispose de l’option du
convertisseur A/D pour satisfaire côté acquisition.

9
5. Le microcontrôleur PIC 16F84A :
Le microcontrôleur PIC16F84 est un microcontrôleur de la société Microchip qui
offre un très bon rapport qualité/prix.

Caractéristiques:
 seulement 35 mots d’instruction à apprendre
 vitesse d’horloge (existe en version 4, 10 ou 20 Mhz)
 4 sources d’interruption
 1000 cycles effacement/écriture possible de la mémoire programme flash
 1K mots mémoire programme Flash
 68 octets de données RAM
 64 octets de données EEPROM
 13 pins I/O avec contrôle individuel de direction
 TMR0 8bit timer/compteur
 Le tout sur un pavé de 18 pins.

L'apparence physique des LCD et celle dans ISIS sont présentées dans la
figure suivante :

10
III – L’Afficheur à cristaux liquides (LCD)

Les afficheurs de caractères à cristaux liquides LCD sont des modules


préfabriqués qui contiennent des pilotes inclus. Ces écrans disposent d'un bus de
données et un bus de commande, pour la manipulation de ces appareils, le
compilateur MikroC PRO dispose d'une bibliothèque prédéfinie pour contrôler les
LCD. L'apparence physique des LCD et celle dans ISIS sont présentées dans la
figure suivante :

Les afficheurs LCD, permettent de visualiser les caractères figurant dans le code
ASCII. En plus du code ASCII, LCD affiche jusqu'à 8 caractères conçus par le
développeur. Une autre caractéristique fondamentale des afficheurs LCD, tenant
physiquement sur 8 bits, est la possibilité de configurer les connexions avec
seulement 4 bits. La connexion 8-bit implique un plus grand nombre de fils à
utiliser, pour une meilleure vitesse de travail, par conséquent les connexions de
4 bits réduits le nombre de fils, mais diminue la vitesse. La bibliothèque
prédéfinie dans MikroC PRO fonctionne avec une configuration de 4 bits. Pour voir
la bibliothèque prédéfinie pour ce dispositif et d'autres, contenues dans MikroC
PRO, on choisit View dans la barre de menu, et on appuie sur l’un onglet : Library
Manager. Lorsqu’on appuie sur cet onglet un menu montrant les différentes
bibliothèques qu’on peut utiliser avec les PIC. Dans ce nouveau menu, on identifie
la bibliothèque Lcd, par la suite on peut appuyer sur une des fonctions contenues
dans la bibliothèque pour voir l'aide. L'aspect visuel de cet outil est illustré dans la
figure suivante :

11
L'implémentation de l'afficheur LCD, requiert l'utilisation des instructions et
des commandes séquentielles pour la configuration et l’utilisation de l’afficheur,
cependant, la bibliothèque de MikroC PRO minimise ce travail, car elle se charge de
faire tous ces réglages, ce qui rend beaucoup plus facile le travail développeur.
Comme première étape pour l'utilisation du LCD, il est nécessaire de définir les
broches de connexion, puis l’exécution de la fonction d’initialisation du LCD :
Lcd_Init(). La définition des broches de connexion est assurée par le développeur
d’une façon arbitraire selon son choix. Pour répondre à cet objectif, on utilise la
déclaration suivante des constantes :

12
IV – LES LOGICIELS DE DEVELOPPEMENT
1. MIKROC :
a. Introduction

La programmation des microcontrôleurs PIC est supportée par plusieurs


langages de programmation tel que : MikroC for PIC, MPLAB, Mikro Basic PRO for PIC,
HI-TECH C for PIC, flowcode...etc. Dans notre projet nous avons opté pour le
compilateur de MIKRO C qui est un compilateur en langage C (langage évolué) et qui
permet d'intégrer certaines routines en assembleur. Ce choix est à la fois un choix
personnel et un choix technologique parce qu’il est basé sur le langage C.

b. Étapes de développement de programme

L'élaboration d'un programme est un travail qui se fait en plusieurs étapes :


 La première étape : L'algorithme
 La deuxième étape : Écriture du programme
 La troisième étape : Simulation du programme
 La quatrième étape : Transfert du programme vers PIC

Figure 2 : les étapes de programmation d’un


microcontrôleur

c. Présentation du MikroC
Le « MikroC » est un compilateur pour PIC Conçu par la société «
Mikroelektronika », le compilateur C nouvelle génération "MikroC" pour
microcontrôleurs PIC bénéficie d'une prise en main très facile. Il comporte plusieurs
outils intégrés (mode simulateur, terminal de communication, gestionnaire 7

13
segments, analyseur statistique, correcteur d'erreur, explorateur de code...) ; Il a une
capacité à pouvoir gérer la plupart des périphériques rencontrés dans l'industrie (Bus
I2C, 1Wire, SPI, RS485, Bus CAN, cartes compact Flash, signaux PWM, afficheurs LCD et
7 segments...) de ce fait il est un des outils de développement incontournable et
puissant.
Il est conçu pour fournir les solutions les plus faciles que possibles pour des
applications se développant pour les systèmes à microcontrôleur. Il contient un large
ensemble de bibliothèques de matériel, de composant et la documentation complète.

Figure : Interface du logiciel MikroC

La saisie d'un programme en ‘C’ répond pratiquement toujours à la même


structure. On peut noter que :
 Le symbole «#» est suivi d'une directive.
 Le symbole «//» est suivi d'un commentaire, ou bien «/*» indiquant le
début d'un commentaire et «*/» indiquant sa fin.
 Chaque ligne d'instruction se termine par un «;».
 Le début d'une séquence est précédé du symbole « {».
 La fin d'une séquence est suivie du symbole «}».
 La notation des nombres peut se faire en décimal de façon normale ou en
hexadécimal avec le préfixe «0x» ou encore en binaire avec le préfixe«0b».

Pour mettre en œuvre à chaque fois des nouveaux projets ou programmes


pour les PIC. En lançant MikroC PRO, on identifie dans le menu supérieur l’outil
Project, et on choisit New Project... avec cette action, le programme affiche un
assistant facile à utiliser pour créer un nouveau projet.

14
La prochaine action est de cliquer sur le bouton Next, à cette étape de
l'assistant affiche une case pour sélectionner la référence de PIC, qu’on souhaite
utiliser. Dans ce champ, on sélectionne le PIC P16F84A.
L'étape suivante est de définir la fréquence d'oscillation avec laquelle
travaillera le PIC ; dans cet exemple on sélectionne 4.000000 MHz.

L'option suivante permet de définir le répertoire où le développeur


enregistrera le projet, dans ce répertoire le programme enregistrera tous les
fichiers nécessaires, parmi lesquels le code source qui sera archivé avec
l’extension .c, et l’exécutable du PIC avec l’extension. hex. Enfin, la configuration est
terminée et le projet est créé, à la fin la fenêtre doit apparaître comme suit :

15
Figure : fenêtre d’édition

A chaque modification effectuée sur le code du programme, on doit compiler le


code. Cette action produit des résultats de la compilation qu’on trouve dans la
partie inférieure de la fenêtre du programme. Les messages doivent se terminer par
un texte « Finished successfully ».
Pour commencer l’édition d’un projet, on configure les ports du PIC, puis on
insère le programme dans une boucle infinie. Le PIC 16F84A dispose de deux ports A
et B, on manipule le registre TRIS pour configurer les ports en sortie ou entrée.
Les registres TRIS ont le même nombre de bits que les ports, par exemple le port
B ou PORTB de ce PIC est de 8 bits, donc le TRISB comporte également 8 bits. Les
bits des registres TRIS correspondent à ceux des ports, et définissent bit à bit l'état
du port.
 Si un bit du TRIS est 0, le même bit du port est en sortie,
 et Si un bit du TRIS est 1 le même bit du port est en entrée ou en haute
impédance.

16
2. ISIS PROTEUS :
a. Présentation de logiciel de simulation ISIS
Isis est un éditeur de schémas qui intègre un simulateur analogique / logique ou
mixte. Toutes les opérations se passent dans cet environnement, aussi bien la
configuration des différentes sources que le placement des sondes et le tracé des
courbes.

Dans cette section nous allons commencer par la présentation de la fenêtre du


logiciel ISIS.

Figure : Interface du logiciel ISIS PROTEUS

Pour ouvrir un nouveau projet il suffit de sélectionner « file » puis


« new Project ». Suivre les étapes et remplir les cases vides par les paramètres
nécessaires. Une nouvelle fenêtre apparaîtra.

17
Fenêtre d’ensemble Fenêtre d’édition barre de menu

Boite à outils Commande de simulation animée


Figure : fenêtre d’édition
Selon le cahier de charge, on ajoute à la fenêtre les composants nécessaires pour
simuler notre projet.

Recherche par nom

Objet recherché

Aperçu de l’objet

Figure : fenêtre de composant

18
Si vous souhaiter poser un composant sur votre grille il faut préalablement le
sélectionner dans la boîte de dialogue. On utilise sa désignation constructeur pour
choisir le composant. Choisir le composant dans la liste proposée puis cliquer sur OK
et le positionner à l’aide de la souris. Relâcher le clic gauche de la souris et le
composant sera placé.

 Placement d'une masse ou une alimentation :


Pour placer une masse cliquer sur l’icône terminal/inter feuille, puis
sélectionner GROUND, placer le masse sur votre grille.

19
PARTIE 2:
Etude Pratique

20
I – SIMULATION SUR ISIS PROTEUS
Pour la réalisation pratique on a utilise le logiciel ISIS Proteus, qui est un très
bon logiciel de simulation en électronique.
Cette schéma compose un module pic 16F84A et une afficheur LCD (16×1)
« LM020L » .

Figure 22:Fenêtre du logiciel de simulation Proteus ISIS

21
II – CODE SUR MIKROC

char s1,s2,P,m1,m2,h1,h2,J;
void interrupt()
{
if (INTCON.B1==1){ J++;h1++;}
INTCON.B1=0;
}
void IM()
{ if(s1==58) {s1=48;s2++;} }
void main()
{
s1=s2=m1=m2=h1=h2=48;
P=58;
J=1;
lcd_Init(); //initialisation de LCD
lcd_Cmd(_lcd_cursor_off); //mettre le cursor off
lcd_chr(1,8,s1);lcd_chr(1,7,s2);lcd_chr(1,6,P);lcd_chr(1,5,m1);lcd_chr(1,4,m2);lc
d_chr(1,3,P);lcd_chr(1,2,h1);lcd_chr(1,1,h2);

for(;;)
{
delay_ms(1000);
s1++;
IM();
if(s2==54) {s1=48;s2=48;m1++;}
if(m1==58) {s1=48;s2=48;m1=48;m2++;}
if(m2==54) {s1=48;s2=48;m1=48;m2=48;h1++;}
if(h1==58) {s1=s2=m1=m2=h1=48;h2++;}
if(h2==50&&h1==52) { s1=s2=m1=m2=h1=h2=48;j++;}

lcd_chr(1,8,s1);lcd_chr(1,7,s2);lcd_chr(1,5,m1);lcd_chr(1,4,m2);lcd_chr(1,2,h1);l
cd_chr(1,1,h2);
if(j==1) lcd_out(1,10,"LUN");
if(j==2) lcd_out(1,10,"MAR");
if(j==3) lcd_out(1,10,"MER");
if(j==4) lcd_out(1,10,"JEU");
if(j==5) lcd_out(1,10,"VEN");
if(j==6) lcd_out(1,10,"SAM");
if(j==7) lcd_out(1,10,"DIM");
if(j==8) j=1;
}
}

22
Comme première étape pour l'utilisation du LCD, il est nécessaire de
définir les broches de connexion, puis l’exécution de la fonction d’initialisation du
LCD : Lcd_Init(). La définition des broches de connexion est assurée par le
développeur d’une façon arbitraire selon son choix. Pour répondre à cet objectif, on
utilise la déclaration suivante des constantes :

Par la suite on initialise notre LCD par la commande LCD_init() ;puis on ecris
notre code de fonctionnement en utilisant les variables suivantes :

 ‘s1’ et ‘s2’ pour afficher les seconde ;


 ‘m1’ et ‘m2’ pour afficher les minutes ;
 ‘h1’ et ‘h2’ pour afficher les heures ;
 ‘p’ qui va afficher les deux points ;
 ‘j’pour les jours

23
24
On Saisit ensuite le programme puis on le compile, le compilateur crée
automatiquement le code assembleur et un code enregistré dans un fichier avec
l'extension *. Hex,
Pour compiler le programme on clique sur cette bouton

Le programme compilé sans erreur

III – RESULTAT DE LA SIMULATION

Avant de lancer la simulation, on doit charger le fichier. Hex. Pour procéder, on


double clique sur le PIC, et une fenêtre qui permet de rechercher le fichier. Hex et on
peut également ajuster la fréquence d'oscillation. Par défaut, cette valeur est de 1
MHz. Cette fenêtre se présente comme suit :

25
Et on lance la simulation :

26
CONCLUSION

La réalisation de ce projet nous a énormément appris,


autant au niveau de l’électronique, de la programmation des
microcontrôleurs (programmation embarquée). Nous avons
aussi appris des nouvelles connaissances au niveau de la
gestion du temps et des équipes.

Ce travail reste, comme toute œuvre humaine, incomplet et


perfectible, nous recommandons d’en améliorer la concept ion
et pour cela nous proposons cidessous des améliorations pour
les futurs.

Ainsi, notre mini projet de la première année du cycle


d’ingénieur portait sur la conception et la réalisation d’une
carte de commande de thyristors à base de microcontrôleur.
Après une brève aperçue sur les redresseurs monophasés
commandés et sur les microcontrôleurs, nous avons procédé au
dimensionnement des différentes composantes de la carte.

Après avoir choisi les composants nécessaires, il nous


restait qu’à élaborer le programme du PIC sous Logiciel ISIS. Et
la dernière partie a été réservée aux résultats de nos
simulations et à l’estimation monétaire de notre mini projet

27

Vous aimerez peut-être aussi