Vous êtes sur la page 1sur 2

TP PIC 18f8722

Nous allons écrire un ensemble de programme utilisant les différentes fonctionnalités offertes par
une carte PICDEM PIC18 Explorer équipée d’un microcontrôleur PIC 18f8722.
A défaut d’avoir la carte à disposition, nous allons travailler en simulation tout en respectant les
caractéristiques de celle-ci.
Vous disposez de la documentation de la carte et de celle du microcontrôleur qu’elle utilise.

Vous rendrez un rapport par groupe au format pdf comportant :


- Les explications concernant les configurations des registres avec les justifications faisant
références aux informations trouvées de documentations du PIC et/ou de la carte PICDEM explorer.
- Les codes sources commentés.
- Les captures écran des fenêtres du simulateur (valeur des variables, chronogrammes ..) permettant
de valider les tests de fonctionnement.

1) Création du projet et configuration

Sous MPLAB X IDE, créez un nouveau projet de type standalone.


Vous choisirez le processeur 18f8722 dans la famille Advanced 8-bit MCUs.
Vous travaillerez en simulation et compilerez votre programme C avec le compilateur XC8
La fréquence d’horloge du processeur sera fixée à 4MHz

2) Fonction d’entrée sortie Tout Ou Rien

2.1 Sortie TOR

➢ Ex 1.1 Ecrire un programme qui génère un signal carré de frequence 500 Hz sur la broche
RD0 du microcontrôleur
Vous pourrez utiliser l’instruction __delay_ms(int duree) qui généré une temporisation de duree
millisecondes.
Testez votre programme en simulation en traçant le chronogramme du signal généré et
en vérifiant que sa fréquence est correcte.

➢ Ex 1.2 Modifiez votre programme afin de générer la temporisation grâce au timer0 de votre
PIC. Vous travaillerez en scrutation (interruption inhibée).

2.2 Entrée-Sortie TOR


➢ Ex 2.1 Écrire un programme qui effectue un chenillard sur les sorties RD0 à RD7 . Le sens
de défilement changera lorsque l’entrée RB0 change d’état (RB0 = 0 => rotation à droite ,
RB0 = 1 => rotation à gauche).

Chaque étape durera 250 ms. Vous utiliserez une temporisation logicielle (__delay_ms(int duree))

EPSI Montpellier Système embarqué p 1/2


TP PIC 18f8722

Rotation à droite :

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0


1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
Etc….
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1

Rotation à gauche :

RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0


0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0
Etc….
0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0

Testez votre programme en simulation.

3) Acquisition d’un capteur analogique.


Un capteur de position angulaire donne la position d’un axe de rotation.
Il délivre une tension comprise entre 0V et 5V pour un angle allant de 0 à 360° respectivement.
Dans le sens horaire,l’angle croît. Lorsqu’il atteint 360° il revient à 0°
Dans le sens anti-horaire, l’angle décroît. Lorsqu’il atteint 0° il revient à 360°

Le capteur est connecté sur l’entrée RA0 du microcontrôleur.

➢ Ex 3.1 Écrivez un programme qui acquière la position angulaire [0,360] de l’axe toutes les
100 millisecondes et la stocke dans une variable.
Vous indiquerez le sens de rotation de l’axe sur la sortie TOR RD0 :
RD0 = 1 si rotation dans le sens horaire et RD0 = 0 si rotation dans le sens anti-horaire.

Vous utiliserez le timer0 du PIC afin de générer une interruption permettant le déclenchement d’une
acquisition de la position angulaire de l’axe.

EPSI Montpellier Système embarqué p 2/2

Vous aimerez peut-être aussi