Вы находитесь на странице: 1из 10

PROGRAMMATION

DEVPIC84C

LOGICIEL DE
PROGRAMMATION DU
MICRO CONTROLEUR

PIC 16 F 84

1
Utilisation de DEVPIC 84 C
I ) Lancement du programme

Démarrer / Programmes / DevPic / DevPic84C

Ou cliquer sur l’icône du bureau s’il est présent :

II ) Création d’un nouveau programme

Cliquer sur la feuille blanche ou faire : Fichier / Nouvelle Application

La fenêtre ci-contre apparaît :

Cocher la case « Vide ».


Sélectionner le langage utilisé.
Cliquer sur « Continuer ».

Une fenêtre apparaît intitulée SansNom.asm. Enregistrez-la en faisant Fichier /


Enregistrer Sous ( ne pas oublier de choisir le répertoire dans lequel vous voulez enregistrer
votre travail ). En même temps que cette fenêtre ( Editeur ), sont apparues des icônes dans la
barre du haut.

Si vous voulez ouvrir un fichier existant : cliquer sur ou faire : Fichier / Ouvrir

2
III ) Ecriture d’un programme

Dans l’éditeur, saisir le programme de la façon suivante :

; Objet du Programme : Clignottement d’une led sur le port B ( bit 0 )


; Date de création : 10 juin 2002
; Date de dernière modification : 22 juin 2002
; Auteur : OLIVIER G.

; Déclaration des fichiers à utiliser associés au programme


include « reg84.h » ; registres internes du PIC
include « mac84.h » ; macros standard

; Déclaration des variables en RAM


org 0x0C ; zone des variables

DECLARER les variables ICI

; Début du programme
org 0x00

ECRIRE le programme ICI

end
; fin du texte du programme

Remarques :

Les phrases commençant par un « ; » sont du commentaire. Cela ne fait pas partie du
programme. C’est juste pour aider à la compréhension du programme.

Le programme fini toujours par un « end ».

Le texte en noir devra toujours être présent sous cette forme dans vos programme.

Ce fichier est disponible sous le nom : « progvide.asm » sur le serveur dans le répertoire :
Serveur315 / Terminale / PIC.
Cela vous évitera de réécrire chaque fois le texte de base.

IV ) Vérification du programme

A ) La syntaxe

Avant de tester votre programme, il faut vérifier s’il a été correctement écrit ( au
niveau de la syntaxe ). Une vérification sans erreur ne veut pas dire que le programme va bien
réaliser ce que l’on veut mais qu’il n’ y a pas de « faute d’orthographe ».

Pour cela, cliquer sur ou faire Filière / Vérifier la syntaxe ou appuyer sur la touche
F2.

3
Si tout est écrit correctement, le message suivant apparaît en bas de l’éditeur :

S’il y a des erreurs, la liste des erreurs est indiquée en bas de l’éditeur de cette façon :

De même dans l’éditeur, les lignes erronées sont signalées :

Dans cet exemple, c’est l’instruction « btfs » qui s’écrit : btfss ou btfsc.

B ) L’assemblage

Lorsqu’il n’y a plus d’erreur de syntaxe, il faut assembler le programme ( transformer


le code que l’on a tapé dans l’éditeur en un fichier hexa qui sera téléchargé dans le PIC ).

Faire : Filière / Assembler ou appuyer sur la touche F5.

Ou cliquer sur l’icône :

Une fenêtre apparaît :

Ici on voit que notre programme n’utilise


qu’1 % de la mêmoire du PIC.

Il nous signale surtout que l’assemblage


s’est achevé sans erreur !

Fermer la fenêtre.

S’il y a des erreurs, il le signale dans la


même fenêtre.

4
C ) Test du programme

Pour le test du programme, plusieurs possibilités nous sont offertes :

* On peut faire une simulation sur le PC ( on regarde l’évolution des niveaux logiques
sur les broches du PIC ou sur un chronogramme que le PC trace lui même à chaque fois que
l’on fait avancer le programme d’un PAS ) en Pas à Pas ( instruction par instruction ) ou en
temps réel ( on n’y voit pas grand chose dans ce cas là ! ).
* On peut également travailler avec l’émulateur qui grâce au PC remplace le PIC sur
la carte de développement ou sur une maquette élève ( maquette BAC par exemple ). La aussi,
on peut tester le programme en Pas à Pas ou en temps réel.

Comment faire de la simulation ? ( Simulation en PAS à PAS )

1 ) Il faut tout d’abord activer le mode SIMULATION.


Pour cela il faut enfoncer ( si ce n’est pas déjà fait car
par défaut DevPic se lance en mode simulation ) la
touche : S ( Simulation ).

⇒ Activer le mode simulation ( bouton enfoncé comme ci-dessus ).

Pour illustrer ce que l’on peut faire avec le simulateur, voici un exemple de programme qui
permet de faire clignoter une LED branchée sur le bit 0 du port B

⇒ Saisir le programme, vérifier la syntaxe et l’assembler. ( pour ce exemple, on ne saisira pas


exceptionnellement tout ce qui a été décrit page 2 de ce dossier ).
Corriger les erreurs s’il y en a …

⇒ Cliquer sur le bouton « Configurer le simulateur »

La fenêtre ci-contre apparaît.

⇒ Avec la souris, cliquer sur la broche RB0.


Celle-ci devient de couleur rouge.
⇒ Fermer la fenêtre.

5
On va tester ce programme en mode : Pas à Pas. Pour cela faire : Exécuter / Pas à Pas
approfondi ou appuyer sur la touche F7 ou encore cliquer sur l’icône :

⇒ Appuyer sur F7 ( 1 fois ) Plusieurs fenêtre apparaissent :

La fenêtre ci-contre montre les différentes broches


du PIC 16F84.
A noter : les niveaux logiques présents sur les broches
( ici toutes sont à « 0 » sauf la broche de reset MCLR qui
est inactive à l’état haut ).
On remarque aussi le bouton STOP qui permet de mettre
fin au mode simulation Pas à Pas.

La fenêtre ci-dessous fait apparaître les chronogrammes des signaux que l’on veut visualiser.
Ici c’est la sortie RB0 que nous avons sélectionné juste avant. A ce stade, on n’a pas encore
exécuté d’instruction du programme. Le chronogramme ( en rouge ) n’en est qu’à son début.
Il va évoluer au fur et à mesure que le programme va avancer ( on le fait avancer en appuyant
sur F7 : NE LE FAITES PAS POUR L’INSTANT ! ).

La fenêtre ci-contre quant à elle, montre les différents


registres du PIC. Les bits de ces registres vont êtres mis
à 1 ou à 0 au gré des instructions à exécuter dans le programme.

On remarque par exemple que les 8 bits du registre TRISB


sont à l’état haut.
Dans le programme, ces bits vont être mis à 0 par les instructions
movlw 0x00
movwf TRISB

On remarque également au niveau de l’éditeur que la première


ligne du programme ( de suite après le « org 0x00 » )
est surlignée. Lorsque l’on va appuyer sur F7, on va exécuter
cette instruction et passer à la ligne suivante.
Cette instruction met à « 1 » le bit RP0 du registre STATUS
repéré dans la fenêtre ci dessus ( encadré rouge ).
Vous pouvez déplacer les fenêtres pour les voir toutes le mieux possible.

6
⇒ Appuyer sur F7

On remarque que tous les bits qui ont étés modifiés par cette
instruction passent en couleur rouge. On voit que le Bit RP0
du registre STATUS est passé à « 1 ». Il y a également un autre
Bit ( Bit 0 de PCL ) qui est passé à « 1 » mais ce n’est pas nous
qui le gérons, c’est le PIC.

⇒ Appuyer un dizaine de fois sur F7 et regarder ce qu’il se passe.


Les bits des registres PCL et PORTB évoluent au rythme des instructions, le chronogramme
de RB0 se trace au fur et à mesure.
On note que le programme effectue une boucle dans laquelle on met à « 1 » puis à « 0 » le bit
« 0 » du PORTB.
On voit aussi sur la fenêtre « Suivi Pas à Pas » que le bit RB0 change d’état au rythme de
l’appui sur F7.

Remarque : Si l’on veut revenir au début du programme, il suffit de cliquer sur


dans la fenêtre « Suivi Pas à Pas ». Cela produit un RESET ( Virtuel : mode Simulation ) au
PIC et le programme retourne au tout début ( première ligne surlignée ).

⇒ Cliquer sur cette broche ( MCLR ), et relancer le programme en appuyant une dizaine de
fois sur F7.

QUESTION : Déduire du chronogramme combien de temps il faut au PIC pour réaliser les
différentes instructions.
Quelle va être la fréquence de clignotement de la LED ?
Va t-on voir ( à l’œil ) clignoter la LED lorsque le programme va tourner en temps réel ?

⇒ Sortir du mode Pas à Pas en cliquant sur STOP.


Les fenêtres disparaissent ne laissant place qu’à l’éditeur.

⇒ Intercaler la ligne suivante dans le programme

Elle est censée mettre à « 1 » le Bit 7 du PORTB.

⇒ Lancer le mode Pas à Pas ( F7 ).


( Remarque : La vérification de la syntaxe et l’assemblage se font automatiquement ).

Que remarque-t-on ? On ne voit que le chronogramme de RB0. On aimerait bien avoir aussi
celui de RB7 car c’est une broche sur laquelle le programme agit. Pour cela, il faut dire au
simulateur quelle sont les broches à surveiller ( donc à montrer sur le chronogramme ).

⇒ Sortir du mode Pas à Pas en cliquant sur STOP.

⇒ Cliquer sur la touche « Configurer le simulateur »

La fenêtre ci-contre apparaît ( comme tout à l’heure ).

7
⇒ Cliquer sur la broche RB7.

Remarque : RB0 est toujours en rouge car


elle a été validée précédemment.

⇒ Appuyer sur F7. Les chronogrammes doivent faire apparaître RB0 et RB7.

Complément sur le PAS à PAS :

En phase de mise au point des programmes, si l’on a constaté qu’une partie du


programme fonctionnait correctement et que l’on a pas envie de tester tout chaque fois en pas
à pas, on peut dire au simulateur d’exécuter cette première partie en temps réel et de s’arrêter
à un « curseur ».
Pour cela, positionner le curseur en début de la ligne jusqu’à laquelle vous voulez aller
et appuyer sur la touche F4.
Tout ce qui est avant le curseur a été effectué en temps réel ( donc très rapidement ) le
reste est à faire en pas à pas ( on avance maintenant avec F7 ).

Voilà pour le PAS à PAS ! C’est la méthode la plus confortable pour « débogger » un
programme.

Comment faire de la simulation ? ( Simulation en Temps REEL )

On peut également lancer le programme en « temps réel ». Pour cela appuyer sur la touche F9.

⇒ Appuyer sur F9
La fenêtre ci-contre apparaît. On y voit la valeur de PC
défiler à toute vitesse ainsi que la broche RB0.

Puis au bout de 1000 instructions exécutées ( le programme


est une boucle donc il ne s’arrête théoriquement jamais )
DevPic84C vous propose de continuer l’enregistrement.
⇒ Cliquer sur NON.
Le programme se remet à tourner en temps réel jusqu’à ce
que l’on clique sur STOP.
⇒ Cliquer sur STOP.
A coté du bouton STOP apparaît cet icône :

⇒ Cliquer sur cet icône. Il fait apparaître les chronogrammes des signaux sur les 1000
premières instructions traitées. Ainsi en analysant ces chronogrammes, on peut vérifier si les
résultats obtenus sont conformes à ce que l’on attendait du programme.

8
En résumé : La simulation est intéressante pour prendre en main le logiciel DevPic84C. Elle
permet de se familiariser avec les broches, les registres internes et les instructions du PIC.
Hélas pour une utilisation avec des composants externes ( un PIC n’est généralement pas seul
sur une carte … ) cela devient fastidieux de vouloir simuler les évènements extérieurs. On
utilisera alors l’EMULATEUR associé à DevPic84C.

Le fonctionnement de DevPic et de l’émulateur sera l’objet de la présentation qui suit.

L’EMULATEUR :

V ) Utilisation de l’émulateur et de la carte didactique de développement

A ) La mise en œuvre

⇒ Brancher les différents appareils comme sur le schéma indiqué ci-dessous :

Alim 220V Alim 8V à 15V continue

Port série du PC
+ -
PC Emulateur Carte didactique
+ DevPic de
Cordon DB9 Nappe de liaison développement

La nappe de liaison est branchée sur le support de CI ou devrait se trouver le PIC 16F84.

( ATTENTION AU SENS !!! )


FIL ROUGE DE LA NAPPE DU COTE DES BROCHES 1 ET 18
DU SUPPORT DU PIC 16F84

L’émulateur ne nécessite pas d’alimentation supplémentaire, celle-ci se fait par la nappe de


liaison avec la carte de développement.

B ) Test des programmes

⇒ Allumer le PC ainsi que l’alimentation continue. Les 2 LEDs de l’émulateur doivent


clignoter. Si ce n’est pas le cas, éteindre et rallumer l’alim.

⇒ Lancer DevPic84C et ouvrir un nouveau fichier.

⇒ Cliquer sur l’icône de validation de l’émulateur :


La LED verte doit être éteinte et la rouge allumée.

⇒ Saisir le programme qui suit :

9
; Objet du programme : Cligottement d’une led sur le port B ( bit 0 )
; Date de création :
; Date de dernière modification :
; Auteurs :

; Déclaration des fichiers à utiliser associés au programme


include « reg84.h » ; registres internes du PIC
include « mac84.h » ; macro standard

; Déclaration des variables en RAM


org 0x0C ; zone des variables

; Début du programme
org 0x00

bsf STATUS,RP0 ; Passer en page 1


movlw 0x00
movwl TRISB ; PORT B en sortie
bcf STATUS,RP0

encore bsf PORTB,0 ; Allumage LED 1 sur PB0


nop ; perte de temps
bcf PORTB,0 ; Extinction LED 1 sur PB0
nop
goto encore ; retour début programme

end
; fin du texte du programme

⇒ Enregistre le programme.

⇒ Assembler le programme.

Pour tester le programme, vous pouvez le faire en PAS à PAS en cliquant sur l’icône :

Ou vous pouvez le faire en temps réel en cliquant sur l’icône :

⇒ Tester le programme en PAS à PAS,


puis en temps réel.

Remarque : Dans les deux cas, pour arrêter le programme, cliquer sur le bouton STOP.

10

Вам также может понравиться