1 les microcontrôleurs pic de microchip le 16f84


16

Ouvrez la fenêtre qui visualise la mémoire RAM : view FileRegisters. La case mémoire

0x0C se trouve sur la première ligne (ligne:0000, colonne:0C)

Exécuter maintenant le programme PAS à PAS en cliquant à chaque fois sur le bouton Step

Into { } en observant la case mémoire 0C . (on dirait que ça marche).

• On peut aussi exécuter en continu en cliquant sur le bouton animate , pour arrêter, il faut

cliquer sur le bouton halt

Pour plus de détail, consulter le manuel d’utilisation de MPLAB

II.2 Les directives de MPASM

Les directives de l’assembleur sont des instructions qu’on ajoute dans le programme et qui

seront interprétées par l’assembleur MPASM. Ce ne sont pas des instructions destinées au PIC.

II.2.1 Les directives les plus utilisées

LIST : permet de définir un certain nombre de paramètres comme le processeur utilisé (p), la base par défaut pour les nombres (r), le format du fichier hex à produire (f) ainsi que d’autres paramètres. Exemple : LIST p=16F84A, r=dec, f=inhx8m

INCLUDE : permet d’insérer un fichier source. Par exemple le fichier p16f84A.inc contient la définition d’un certain nombre de constante comme les noms des registres ainsi que les noms de certain bits; INCLUDE « p16f84A.inc »

__CONFIG : permet de définir les 14 fusibles de configuration qui seront copié dans l’EEPROM de configuration lors de l’implantation du programme dans le PIC (protection de code, type d’oscillateur, chien de garde et temporisation du départ) __CONFIG B’11111111111001′ __CONFIG H’3FF9′ si le fichier p16f84.inc a été inséré, on peut utiliser les constantes prédéfinies : __CONFIG _CP_OFF & _XT_OSC & _PWRTE_OFF & _WDT_OFF

EQU : permet de définir une constante ou une variable : XX EQU 0x20 Chaque fois que le compilateur rencontrera XX, il la remplacera soit par la constante 0x20. ça peut être une constante s’il s’agit d’une instruction avec adressage immédiat, ou d’une adresse s’il s’agit d’une instruction avec adressage direct.

#DEFINE : définit un texte de substitution #DEFINE pos(x,y,z) (y-2z+x) Chaque fois que le compilateur rencontrera le texte pos(x,y,z), il le remplacera par (y-2z+x)

ORG : définit la position dans la mémoire programme à partir de laquelle seront inscrites les instructions suivantes.

CBLOCK/ENDC : définit un bloc de constantes CBLOCK 0X0C ; var1=0x0C, var2=0x0D, k=0x0D

var1,var2 k ENDC

Laisser un commentaire