Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
TRAVAUX PRATIQUES
Objectifs du TP :
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
TP ELECTRONIQUE NUMERIQUE 1
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Objectifs :
Se familiariser avec l’environnement de développement du MikroC
Effectuer la gestion des entrées sorties par un PIC 16F628A.
Programmer un microcontrôleur PIC 16F628A.
Simuler et tester le programme sur le matériel.
I- Introduction :
Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur :
processeur, mémoires (mémoire morte pour le programme, mémoire vive pour les données), unités
périphériques et interfaces d'entrées-sorties. Les microcontrôleurs se caractérisent par un plus haut
degré d'intégration, une plus faible consommation électrique (quelques milliwatts en
fonctionnement, quelques nano watts en veille), une vitesse de fonctionnement plus faible (quelques
mégahertz) et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les
ordinateurs personnels.
Par rapport à des systèmes électroniques à base de microprocesseurs et autres composants séparés
(comme par exemple les ordinateurs ou les automates), les microcontrôleurs permettent de diminuer
la taille, la consommation électrique et le coût des produits. Ils ont ainsi permis de démocratiser
l'utilisation de l'informatique dans un grand nombre de produits et de procédés.
Les microcontrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme les
contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau, l'électroménager,
les jouets, la téléphonie mobile, etc.
TP ELECTRONIQUE NUMERIQUE 2
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Lancer le logiciel mikroC et créer un nouveau projet (Project --> New Projet)
TP ELECTRONIQUE NUMERIQUE 3
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Le nouveau projet est nommé (Project Name) Diode_LED dans le répertoire (Project folder)
C:\Atelier_Labo_I06\Diode_LED\,on choisi le pic16F628A (Device Name) et un quartz de 4Mhz
(DeviceClock).
TP ELECTRONIQUE NUMERIQUE 4
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TP ELECTRONIQUE NUMERIQUE 5
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Pour compiler votre programme, allez vers l’onglet Build Build ou utiliser l’icône , ou bien
Ctrl+F9.
TP ELECTRONIQUE NUMERIQUE 6
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TP ELECTRONIQUE NUMERIQUE 7
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Cliquer sur PIC16F628A (bouton droit puis gauche et ajouter le fichier diode_LED.hex
dans program file et fixer l’horloge à 4Mhz)
TP ELECTRONIQUE NUMERIQUE 8
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Lancer la simulation du circuit (cliquer sur play du panneau de contrôle de l'animation en bas à
gauche)
TP ELECTRONIQUE NUMERIQUE 9
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Utiliser le logiciel Ic-Prog pour transférer votre ficher diode_LED.hex vers le PIC
Lancer le logiciel IC-Prog et choisir PIC16F628A
TP ELECTRONIQUE NUMERIQUE 10
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TP ELECTRONIQUE NUMERIQUE 11
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TP ELECTRONIQUE NUMERIQUE 12
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TP ELECTRONIQUE NUMERIQUE 13
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Dans ISIS, charger ce fichier dans le PIC au lieu du ficher .hex puis lancer le mode Debug.
TP ELECTRONIQUE NUMERIQUE 14
AOUINA NOURALLAH Technologue à ISET de BIZERTE
3 1 0 0 Durée de l’étape 4 : 2s
4 0 1 0
1- Ecrire et compiler un programme qui correspond auchronogramme ci-dessus avec
MiKroC.
2- Saisir et simuler le schéma électronique ci-dessus sous ISIS.
3- Implémenter le programme dans la mémoire du PIC : Transférer le fichier.hex dans la
mémoire programme du PIC à l'aide du programmateur.
4- Mettre le PIC dans son montage final et valider les résultats de simulation en pratique
TP ELECTRONIQUE NUMERIQUE 15
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Figure N°3 : les différents chiffres créés par l’afficheur sept segments
Un afficheur sept segments est constitué de sept segments (a, b, c, d, e, f, g), chaque segment
contient une diode LED qui sera allumée ou éteinte pour former un chiffre, figure N°3. Exemple
Si (a=b=c=1) et (g=d=e=f=0) le chiffre créé est sept.
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 Code en Code HEX en
- g f e d c b a hexadécimal miKroC
0 0 0 0 0 1 1 1 07 0x07
TP ELECTRONIQUE NUMERIQUE 16
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Cliquer sur les segments (a, b, c, d, e, g) pour créer le chiffre voulue, dans notre application on
prendra le code du chiffre pour un afficheur sept segments à cathode commune (exemple : le
chiffre créé est 7, son code en HEX est 0x07).
1- Ecrire puis compiler un programme qui décrit le fonctionnement d’un compteur modulo 10
qui compte de 0 à 9 en utilisant mikroC.
2- Saisir et simuler le schéma électronique ci-dessus sous ISIS.
3- Implémenter le programme dans la mémoire du PIC : Transférer le fichier.hex dans la
mémoire programme du PIC à l'aide du programmateur.
4- Mettre le PIC dans son montage final et valider les résultats de simulation en pratique.
5- Pour réaliser un compteur/décompteur on ajoute deux interrupteurs (switch) aux bornes
RA0, RA1 du PORTA
Si RA0=0 Le montage fonctionne en compteur/décompteur
Si RA0=1 remise à zéro (RAZ)
Si RA1=0 comptage de 0 à 9
Si RA1=1 décomptage de 9 à 0
On demande de réfère les questions de 1 à 4.
TP ELECTRONIQUE NUMERIQUE 17
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Pour commander le moteur PAP, il suffit de suivre les séquences de commutation indiquées dans le
tableau suivant :
TP ELECTRONIQUE NUMERIQUE 18
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TRAVAUX PRATIQUES
Objectifs du TP :
-------------------------------- --------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
TP ELECTRONIQUE NUMERIQUE 19
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Objectifs :
Mettre en œuvre un afficheur LCD commandé par un PIC 16F628A, 16F877A.
I- Principe :
On peut gagner une broche en reliant R/W à la masse (R/W = 0 : mode écriture)
TP ELECTRONIQUE NUMERIQUE 20
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TP ELECTRONIQUE NUMERIQUE 21
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Les différentes PIN du LCD seront commandés par le microcontrôleur. Chaque variable doit être
affectée à un pin du µC.
Exemple :
Register Select line. sbit LCD_RS at RB4_bit;
……… ……….
Prototype Description
TP ELECTRONIQUE NUMERIQUE 22
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Les commandes :
TP ELECTRONIQUE NUMERIQUE 23
AOUINA NOURALLAH Technologue à ISET de BIZERTE
1. Travail demandé :
On propose de réaliser un programme à l’aide d’un pic 16F628A qui permet de gérer un afficheur
alphanumérique de 2 lignes de 16 caractères en mode 4 bits, afin d’écrire les textes suivants :
TP ELECTRONIQUE NUMERIQUE 24
AOUINA NOURALLAH Technologue à ISET de BIZERTE
void main(){
TP ELECTRONIQUE NUMERIQUE 25
AOUINA NOURALLAH Technologue à ISET de BIZERTE
(a) (b)
Figure 4 : a- Résultat pratique, b- Programmation du PIC
TP ELECTRONIQUE NUMERIQUE 26
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TRAVAUX PRATIQUES
Objectifs du TP :
----------------------------------------------------------------------------------------------------------------
--------------------------------- -------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
TP ELECTRONIQUE NUMERIQUE 27
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Objectifs :
1- Gestion du temps :
1-1- Principe :
- compter les impulsions reçues sur la pin RA4/T0CKI. Nous dirons dans ce cas que nous sommes
en mode compteur.
- compter les cycles d’horloge du PIC lui-même. Dans ce cas, comme l’horloge est fixe, nous
compterons donc en réalité du temps. Donc, nous serons en mode « timer ».
TP ELECTRONIQUE NUMERIQUE 28
AOUINA NOURALLAH Technologue à ISET de BIZERTE
On propose de réaliser un programme à base d’un PIC 16F628A qui permet de modifier l’état de
la diode connectée au bit 0 du PORTA, après un temps de 3ms.
1- Donner les valeurs à programmer dans chaque registre pour configurer le Timer 0.
2- Donner l’organigramme de fonctionnement de cette application.
3- Ecrire le programme correspondant en MicroC.
4- Compiler le programme et le simuler sur ISIS.
5- Mettre le PIC dans son montage final et valider les résultats de simulation en pratique.
TP ELECTRONIQUE NUMERIQUE 29
AOUINA NOURALLAH Technologue à ISET de BIZERTE
2- Signal PWM :
2-1- Principe :
Un signal MLI (PWM) possède une période fixe mais une longueur d’impulsion variable. Le rapport
entre la largeur de l’impulsion (ton) et la période (T) est la caractéristique principale d’un signal
PWM. C’est le rapport cyclique (Duty cycle). Cette technique est utilisée principalement pour
commander des moteurs à vitesse variable.
2-1-1- Configuration :
Le signal PWM est généré à l’aide du Timer2 (8 bits) et récupéré sur le pin CCP1 (RC2), pour cela,
ce pin doit être configuré en sortie.
Les données principales à fournir sont la période du signal (ou sa fréquence) et le rapport
cyclique :
a. La période du signal est enregistrée dans le registre PR2, elle est calculée par la formule
suivante :
b. Le rapport cyclique est une donnée de résolution 10 bits donc il sera écrit sur deux registre:
CCPR1L et les bits 5 et 4 du CCP1CON.
Duty cycle
Bit9 Bit2 Bit0
CCP1CON<5 :4>
CCPR1L (MSB)
(LSB)
TP ELECTRONIQUE NUMERIQUE 30
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Le registre T2CON :
-- TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0
bit7 bit0
Nom Fonctions ou états
bit7 Non utilisé
bit6-3 TOUTPS3:TOUTPS0: Timer2 Configuration du postscaler :
Output Postscale Select bits 0000 = 1:1
0001 = 1:2
0010 = 1:3
…….
1111 = 1:16
bit2 TMR2ON: Timer2 On bit 1 : Timer2 est activé
0 : Timer2 est désactivé
bit1-0 T2CKPS1:T2CKPS0: Timer2 00 : Prescaler is 1
Clock Prescale Select bits 01 : Prescaler is 4
1x : Prescaler is 16
On propose de réaliser un programme à base d’un PIC 16F877A qui permet de générer un signal
PWM de fréquence 2kHz et de rapport cyclique variable à travers deux boutons poussoirs.
TP ELECTRONIQUE NUMERIQUE 31
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Figure 1
1- Donner les valeurs à programmer dans chaque registre pour configurer le module PWM.
2- Ecrire le programme correspondant en MiKroC.
3- Compiler le programme et le simuler sur ISIS.
4- Réaliser le montage sur plaque d’essai (et/ou) le câbler sur une maquette didactique à base
de PIC et vérifier le fonctionnement envisagé et valider vos résultats.
Figure 2
TP ELECTRONIQUE NUMERIQUE 32
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TP ELECTRONIQUE NUMERIQUE 33
AOUINA NOURALLAH Technologue à ISET de BIZERTE
TRAVAUX PRATIQUES
Objectifs du TP :
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
TP ELECTRONIQUE NUMERIQUE 34
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Objectifs :
1-1- Configuration :
Figure 1
L’entrée analogique peut être connectée sur l'une des entrées analogiques externes. On peut utiliser
jusqu'à 8 canaux d’entrées, mais à un instant donné, un seul canal est relié à l'ADC. Donc le choix
de la chaine se fait obligatoirement avant chaque conversion.
TP ELECTRONIQUE NUMERIQUE 35
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Les tensions de références permettant de fixer la dynamique du convertisseur. Elles peuvent être
choisies parmi Vdd, Vss, Vr+ ou Vr-.
Pour utiliser une entrée comme entrée analogique, il faut configurer le port correspondant en mode
analogique.
Le module ADC contient quatre registres de configuration :
Le registre ADCON1 :
ADFM -- -- -- PCFG3 PCFG2 PCFG1 PCFG0
bit7 bit0
Nom Fonctions ou états
TP ELECTRONIQUE NUMERIQUE 36
AOUINA NOURALLAH Technologue à ISET de BIZERTE
Le convertisseur donne un résultat sur 10 bits, donc ce résultat devra obligatoirement être
sauvegardé dans deux registres. Ces registres sont les registres ADRESL et ADRESH.
Le résultat peut être soit justifié à gauche, soit à droite.
La justification à droite complète la partie gauche du résultat par des « 0 ». Le résultat sera donc de
la forme suivante :
ADRESH ADRESL
0 0 0 0 0 0 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
ADRESH ADRESL
b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 0 0 0 0 0
La justification à droite sera principalement utilisée lorsqu’on a besoin de l’intégralité des 10 bits
de résultat, tandis que la justification à gauche est très pratique lorsque 8 bits sont suffisants.
TP ELECTRONIQUE NUMERIQUE 37
AOUINA NOURALLAH Technologue à ISET de BIZERTE
2- Travail demandé :
On propose de réaliser un programme à base d’un PIC 16F877A, voire figure 1, qui permet de
convertir un signal analogique en valeur numérique et l’afficher sur un LCD (voir TP4).
1- Donner les valeurs à programmer dans chaque registre pour configurer l’ADC.
2- Ecrire le programme correspondant en MikroC.
3- Compiler le programme et le simuler sur ISIS.
4- Mettre le PIC dans son montage final et valider les résultats de simulation en pratique.
On donne la figure 2, écrire un programme qui permet d’augmenter la vitesse d’un moteur
à courant continu selon la valeur analogique issue du potentiomètre qui simule une sonde
thermique.
TP ELECTRONIQUE NUMERIQUE 38