Vous êtes sur la page 1sur 32

Sommaire

TP1 : FAMILIARISATION AVEC MPLAB X................. 3

TP2 : TRAFIC ROUTIER A BASE DU PIC16F84


SOUS MPLAB X ............................................................... 9

TP3 : FAMILIARISATION AVEC MICRO C PRO FOR


PIC ...................................................................................... 13

TP4 : TRAFIC ROUTIER A BASE DU PIC16F84


SOUS MIKROC PRO FOR PIC .................................... 20

TP5 : COMMANDE D UN ECRAN LCD A BASE DU


PIC16F84A ....................................................................... 24
TP1 : FAMILIARISATION AVEC MPLAB X

Objectif :

Le but de ce travail pratique est de se familiariser avec la


programmation en assembleur associé au microcontrôleur PIC16F848A et
de savoir travailler sous MPLAB X IDE pour la compilation et PROTEUS ISIS
pour la simulation du fonctionnement des programmes sous forme de
schéma

Travail 1 :
Le premier travail consiste à réaliser un montage qui va nous
permettre de faire une simulation d’un programme écrit en assembleur
dans le but d’allumer ou éteindre une led branchée sur RB1 selon les états
de l’interrupteur qui est sur la broche RB0. Le montage sous PROTEUS ISIS
est comme suit
Etape1 : l’écriture du programme sous MPLAB X IDE et le
compiler.

Donc d’apres les captures d ecran dans le logiciel proteus 8 la


compilation marche bien
Etape2 : Assembler avec le PIC16F84A

Donc le travail est réussi , la led s allume des qu’ on appuie sur l
interrupteur

Travail 2 :

Pour cette partie on va élaborer un programme pour réaliser le


clignotement d une LED montée sur la broche RB1 dur port B du PIC16f84A
avec une fréquence
fixé par le sous
programme de
temporisation
comme indique la
capture d écran
suivante :
Question 1 : fréquence de clignotement de la LED

La fréquence de l’horloge est f = 8MHZ.


La période de clignotement de la LED fixée par le sous-programme est :

Tcl= Ti*2*[1+1+100+100*(99*1+2+99*2) +99*1+2+99*2+2] *4


= Ti*242424

Avec Ti=1/Fi=1/ (8*10^6) s

Donc Fcl=1/Tcl=Fi/242424 d’où Fcl= 33HZ

Question 2 : Le programme de clignotement avec MPLAB


X IDE
Question 3 : le schema sous PROTEUS ISIS :
Travail 3 :

Dans cette partie on va essayer de créer un programme en


assembleur pour un PIC16F84A qui a comme fonction compteur 8
bits . on va suivre ce compteur avec 8 LED branché sur le port 8 du
PIC .
Pour effectuer cela on va utiliser les résultats du Travail 2.
Le programme est comme suivant :

Et le schèma :
TP2 : TRAFIC ROUTIER A BASE DU
PIC16F84 SOUS MPLAB X

Objectif :

Dans ce TP on vise a perfectionner la programmation avec


l’assembleur , on va aussi aborder le Timer , TMR0 et les interruptions.

On va commencer par une compilation du programme :

Ensuite on réalise le schéma :


La simulation enfin :

Etape 2 : Vérification du temps de temporisation 10s

Etape 3 : Définition de OPTION_REG :


On aura une pré-division de 256
T=256*256=0.065536s
- Nombredefois(1s)=1/T=15.25
- Nombredefois(10s)=1/T=152.58

Donc on aura :

Etape 4 : Le programme avec INT interruption :


Etape 4 : Le schema en PROTEUS 8 :
TP3 : FAMILIARISATION AVEC MICRO C
PRO FOR PIC

Objectif :

Apres ce TP on aura une bonne base pour pouvoir utiliser le


logiciel micro C ainsi qu’ on pourra écrire un programme nécessaire
pour effectuer diffèrent tache tout en utilisant

La fonction principale d’un port

est de faire entrer et sortir une


information. Notre pic est constitué de
deux ports :

Le PORTA qui est constitué de 5 pins.


Le PORTB qui est constitué de 8 pins.

Ses ports peuvent être configurés en


entrée ou en sortie en fonction de nos
besoins.

Travail 1 :

On va essayer de connecter 2 LED green et red sur les broches


RA0 / RA1 et 2 interrupteur G_LED et R_LED au broche RB1 / RB4
respectivement
Etape 1 : Les valeurs de l interrupteurs proposé :

0x00 : les deux leds sont éteintes.


0x02 : la led red clignote.
0x10 : la led green clignote.
0x12 : les deux leds clignotent.
Etape 2 : Ecrire ces valeurs sur MIKRO C et simuler :

Dans le schema suivant la LED verte s allume une fois on


appuie sur le boutton de cette LED mais celle rouge reste etteinte
Pour le 2eme cas on fait l inverse :

Travail 2 :

Etape 1 : Réalisation du 2eme circuit :


Etape 2 : Ecriture du code sur MikroC :

Ce programme a pour rôle le clignotement de 8 led 20 fois avec F=1s


Led éteinte :
Tout les led sont allumé après exécution du programme

LED verte et rouge allumée :


Une allumée et suivante et éteinte :
TP4 : TRAFIC ROUTIER A BASE DU
PIC16F84 SOUS MIKROC PRO FOR PIC

Objectif :

Dans ce TP on va enfin comprendre le fonctionnement dun


phénomène qu’ on voit chaque jours dans nos vie normal , c est le
feu rouge . dans les prochaines partie on va traiter les commandes
qu’ il faut faire pour arriver a simuler cela .

Partie 1 : Adaptation du circuit celons l image donné :

Dans cette partie on va essayer de créer le programme de


circulation des vehicules dans le croisement comme ci-dessus.Le
croisement est composé d’une route principale et une route
secondaire, sur les deux routes il y a trois lampes, vert, rouge et
orange.
Pour chacune des deux voies. Dans chacune des deux voies de la
route secondaire il y a un capteur de présence de véhicules
(Capteur1 et 2). Donc on a commencé par la configuration des ports B
comme sortie et les ports A comme entrée. Si le microcontrôleur ne
reçoit aucune formation de la part des deux capteurs, la route
principale est autorisée (la lampe rouge est allumée). La présence
d’un véhicule sur la route secondaire sera transformée par l’un des
deux capteurs cette fois-ci la lampe verte sur la route principale
clignote pendant 10 secondes, ensuite la lampe orange s’allume
pendant une seconde ensuite la lampe rouge s’allume, sur l’autre
cote la lampe rouge reste allumée pendant deux secondes ensuite la
lampe verte s’allume pendant 10 secondes et clignote pendant 3
secondes vient ensuite l’orange et enfin la lampe rouge. On revient
par la suite sur le fonctionnement fixe qui est le rouge pour la route
secondaire et le vert pour la route principale.

Schema sur proteus 8 ISIS : primaire et secondaires feu


Partie 2 : Même que partie 1 avec système plus avancée :

Dans La deuxième partie, on refait la même chose mais cette


fois-ci on ajoute deux boutons poussoirs pour qu’un piéton puisse
traverser la route principale dans. Le fonctionnement normal reste
le même dans l’absence des véhicules sur la route secondaire et des
piétons qui veulent passer sur la route principale. Alors dès qu’un
véhicule ou un piéton est présent le capteur va informer le
microcontrôleur de changer l’état des lampes. Donc on aura à la fin
la lampe verte sur la voie secondaire et la lampe rouge sur la voie
principale, cet état va rester pendant 10 secondes après on revient
au fonctionnement fixe.
Le schéma :

Le code :
TP5 : COMMANDE D UN ECRAN LCD A
BASE DU PIC16F84A

Objectif :

L’objectif de ce TP est de pouvoir commander un écran LCD


(Liquid Crystal Display) 2x16 , à base d’un microcontrôleur PIC16F84A
en utilisant la programmation en C embarqué. En utilisant PROTEUS
8 ET MICRO C.

Afficheur LCD :
Par opposition à un afficheur à LED (comme les afficheurs 7
segments par exemple) où il suffit d'allumer une LED pour créer des
caractères, l'affichage d'un message textuel sur un afficheur LCD
n'est jamais direct. Il faut envoyer une série de commandes à
l'afficheur, qui les interprète et qui réalise en fonction certaines
actions dont l'affichage des
caractères. On distingue 2 types de
commandes : les instructions (pour
configurer l'afficheur) et les données
(pour afficher un caractère à partir
de son code ASCII). Le protocole
d'envoi des commandes à l'afficheur
est très précis et doit être respecté
si on veut que la réaction de
l'afficheur soit le résultat attendu :
afficher un message.
Un afficheur LCD contient :
 Une entrée de contrôle RS (Register Select)
 Une entrée de validation E (Enable)
 8 entrées de données D0 à D7Page 22 sur 26 En fonction du
mode de commande choisis de l’afficheur LCD la mise en
œuvre matérielle sera différente. Il existe deux modes de
commande d’un afficheur LCD :
 Commande en 4 bits.
 Commande en 8 bits.

Travail 1 :
Partie 1 : Montage sur PROTEUS 8 ISIS :
Partie 2 : Ecriture sur Micro c :

Partie 3 : Simulation du code sur ISIS PROTEUS :


Affichage sur LCD

Simulation sur PROTEUS


Affichage du num 2

Simulation avec code :


Affichage du 3eme message :

Défilement du Text1 5fois de la gauche vers la droite et de la


droite vers la gauche 5fois, puis affichage du text1 et text2.
Puis la partie d affichage 5 fois a partir de la droite
Enfin affichage du premier et deuxième texte ( text1,text2)

Conclusion :

Ce TP avec un grand intérêt a nous faire comprendre la


programmation tout en ayant un résultat réel et concret . ca nous a aider
a développer des compétences dans le langage C et une bonne formation
de MP LAB / PROTEUS 8 .
On vous remercie pour ce TP !

Vous aimerez peut-être aussi