Top Banner
PROGRAMMATION DEVPIC84C LOGICIEL DE PROGRAMMATION DU 0
14

Utilisation de DEVPIC 84 en Assembleur

Jun 18, 2015

Download

Documents

donkacem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Utilisation de DEVPIC 84 en Assembleur

PROGRAMMATION

DEVPIC84C

LOGICIEL DEPROGRAMMATION DUMICRO CONTROLEUR

0

Page 2: Utilisation de DEVPIC 84 en Assembleur

PIC 16 F 84

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.

1

Page 3: Utilisation de DEVPIC 84 en Assembleur

Si vous voulez ouvrir un fichier existant : cliquer sur ou faire : Fichier / OuvrirIII ) 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 programmeinclude « reg84.h » ; registres internes du PICinclude « mac84.h » ; macros standard

; Déclaration des variables en RAMorg 0x0C ; zone des variables

DECLARER les variables ICI

; Début du programmeorg 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

2

Page 4: Utilisation de DEVPIC 84 en Assembleur

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.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’utilisequ’1 % de la mêmoire du PIC.

Il nous signale surtout que l’assemblages’est achevé sans erreur !

Fermer la fenêtre.

3

Page 5: Utilisation de DEVPIC 84 en Assembleur

S’il y a des erreurs, il le signale dans lamême fenêtre.

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.

4

Page 6: Utilisation de DEVPIC 84 en Assembleur

Fermer la fenêtre.

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 brochesdu PIC 16F84.A noter : les niveaux logiques présents sur les broches( ici toutes sont à « 0 » sauf la broche de reset MCLR quiest inactive à l’état haut ).On remarque aussi le bouton STOP qui permet de mettrefin 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érentsregistres 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 TRISBsont à l’état haut.Dans le programme, ces bits vont être mis à 0 par les instructions

movlw 0x00movwf TRISB

On remarque également au niveau de l’éditeur que la première ligne du programme ( de suite après le « org 0x00 » )

5

Page 7: Utilisation de DEVPIC 84 en Assembleur

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.

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 surdans 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 »

6

Page 8: Utilisation de DEVPIC 84 en Assembleur

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

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 F9La fenêtre ci-contre apparaît. On y voit la valeur de PCdéfiler à toute vitesse ainsi que la broche RB0.

Puis au bout de 1000 instructions exécutées ( le programmeest 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’à ceque l’on clique sur STOP. Cliquer sur STOP.A coté du bouton STOP apparaît cet icône :

7

Page 9: Utilisation de DEVPIC 84 en Assembleur

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.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.

8

Page 10: Utilisation de DEVPIC 84 en Assembleur

Saisir le programme qui suit :; 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 programmeinclude « reg84.h » ; registres internes du PICinclude « mac84.h » ; macro standard

; Déclaration des variables en RAMorg 0x0C ; zone des variables

; Début du programmeorg 0x00

bsf STATUS,RP0 ; Passer en page 1movlw 0x00movwl TRISB ; PORT B en sortiebcf STATUS,RP0

encore bsf PORTB,0 ; Allumage LED 1 sur PB0nop ; perte de temps bcf PORTB,0 ; Extinction LED 1 sur PB0nop 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.

9