Lycée Jacquard
Lycée La tourelle 1/12 vendredi 13 avril 2001
Documents Ressources 1/12 GUILBERT B. VILLERS JM
Documents
ressources Assembleurs PIC COURS TS1EN
N°1 Le PIC 16FXX V 3.1
1. La FAMILLE « PIC 16FXX» de MICROCHIP.
Caractéristiques générales importantes
Les PIC 16FXX sont des microcontrôleurs 8 bits (largeur du bus de données) conçus en
technologie CMOS (faible consommation électrique).
Tous les PIC 16FXX utilisent une architecture RISC ( Reduce Instruction Set Computer
-> Processeur à jeu d’instructions réduit ).
La séparation des bus instructions et données de l’architecture HARVARD (Annexe),
souvent opposée à l’architecture VON NEUMAN (Annexe), permet d’avoir des
instructions codées en un seul mot de 14 bits, tout en manipulant des données d’une
largeur classique de 8 bits.
Chaque instruction est exécutée en un seul cycle, à l’exception des instructions de
branchement qui en nécessitent 2.
Le temps de cycle est égal à quatre fois la période d’horloge. Ainsi, si un PIC est piloté à
partir d’un quartz de 10 MHz (période de 100 ns), le temps de cycle sera de 400 ns. On
pourra donc exécuter 1/ 400 E-9 = 2 500 000 instructions par seconde (à l’exception des
instructions de branchement), ce qui correspond à une puissance de calcul de 2,5 MIPS.
Grâce à cette architecture RISC, un programme nécessite environ deux fois moins
d’espace mémoire et « tourne » environ deux fois plus vite que sur les systèmes à
architecture classique.
2. Le PIC 16F84
2.1. Présentation générale, spécificités
Voir la première page du DATA BOOK MICROCHIP.
On distingue particulièrement :
La mémoire programme composée de 1024 mots de 14 bits d’EEPROM FLASH
(programmation possible en situation);
Les 68 octets de RAM
64 octets de EEPROM pour des données de configuration ou d’exploitation
(consignes...)
la présence d’un timer et d’un chien de garde
la présence d’un port A (5 lignes) et d’un port B (8 lignes)
compatible avec le 16C84
Lycée Jacquard
Lycée La tourelle 2/12 vendredi 13 avril 2001
Documents Ressources 2/12 GUILBERT B. VILLERS JM
2.2. Schéma fonctionnel
Voir page 8 du DATA BOOK MICROCHIP.
2.3. Organisation mémoire
Comme mentionné précédemment, on distingue 2 zones distinctes :
la zone donnée
la zone programme
possédant chacune leur propre bus.
Lycée Jacquard
Lycée La tourelle 3/12 vendredi 13 avril 2001
Documents Ressources 3/12 GUILBERT B. VILLERS JM
2.4. La zone programme (voir carte ci-dessous)
Le PC (compteur programme) contient 13 bits permettant d’adresser 8K x 14 bits
(taille d’une instruction). Sur le 16F84, seul les 1024 premiers mots sont utilisés et
matérialisés par de la mémoire EEPROM. L’espace programme s’étale donc de 0000h à
03FFh.
Le vecteur RESET se trouve en 0000h.
L’unique vecteur lié aux autres interruptions se trouve en 0004h. (Un registre de
contrôle et d’état des interruptions permet de connaître la source de l’interruption
survenue (port, timer ...).
Lycée Jacquard
Lycée La tourelle 4/12 vendredi 13 avril 2001
Documents Ressources 4/12 GUILBERT B. VILLERS JM
2.5. La zone de données ( FILE )
(Voir carte ci-dessous et page 13 du DATA BOOK de MICROCHIP)
Elle est vue par le constructeur comme un fichier ( FILE ).
Elle s’étale de 00h à FFh. Une majorité de cet espace est inutilisé. On distingue 2 zones
distinctes :
les registres à usage général (GPR) qui constituent les 36 octets de RAM du 16F84
les registres à usage spécial (SFR) qui sont en fait constitués du registre d’état du
noyau du processeur (CORE) et des registres de contrôle et d’état des
périphériques.
IMPORTANT :
La zone de donnée est divisée en 2 banques. Avant d’accéder à certains
registres, il faut s’assurer que la banque correspondante est sélectionnée.
Cette sélection se fait par l’affectation du bit 5 (RP0) du registre STATUS
(0 -> Banque 0 / 1 -> Banque 1).
Lycée Jacquard
Lycée La tourelle 5/12 vendredi 13 avril 2001
Documents Ressources 5/12 GUILBERT B. VILLERS JM
2.6. Le jeu d’instruction
2.6.1. Format des instructions.
Comme annoncé précédemment, une instruction est codée en un seul mot de 14 bits.
Ce mot de 14 bits est composé :
d’un code opération (OPCODE), disposé sur les bits de poids forts du mot,
précisant le type d’instruction
d’une ou plusieurs opérande(s), codée(s) sur les bits restants, précisant
l’opération de l’instruction.
On distingue 4 grands types d’instruction :
Les instructions orientées « octet ». Le traitement porte simultanément sur 8 bits
Les instructions orientées « bit ». Le traitement porte sur un seul bit désigné
Les instructions de contrôle de branchement.
Le codage s’effectue donc de la façon suivante :
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !