Académique Documents
Professionnel Documents
Culture Documents
CONCEPTION ET
RÉALISATION D’UNE
MONTRE DIGITALE
Rapport de projet
1
REMERCIEMENTS
2
SOMMAIRE
INTRODUCTION GENERALE .................................. 4
1. Généralités ................................................................................................ 6
2. Les avantages du microcontrôleur ............................................................. 6
3. Avantages du Contenu d’un microcontrôleur .............................................. 7
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.
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.
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 :
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.
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.
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 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
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.
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.
15
Figure : fenêtre d’édition
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.
17
Fenêtre d’ensemble Fenêtre d’édition barre de menu
Objet recherché
Aperçu de l’objet
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é.
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 » .
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 :
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
25
Et on lance la simulation :
26
CONCLUSION
27