Académique Documents
Professionnel Documents
Culture Documents
Microcontrôleurs
ORIGINE:
Cette architecture est appelée ainsi en référence au mathématicien John von
Neumann qui a élaboré la première description d’un ordinateur dont le
programme est stocké dans sa mémoire. Le terme « architecture de von
Neumann » est néanmoins discuté vis-à-vis des collaborateurs de John von
Neumann, notamment John William Mauchly et John Eckert qui ont utilisé ce
concept pendant leurs travaux sur l’ENIAC.
DEFINTION :
L’architecture dite architecture de von Neumann est un modèle pour les systèmes
microprogrammés qui utilise une structure de stockage unique pour conserver à la
fois les instructions et les données demandées ou produites par le calcul.
Mémoire de Mémoire
Bus de Données Instructions Bus de Données
programme Unité Contenant
contenant Centrale uniquement
uniquement des Bus d’adresses Instructions Bus d’adresses des Données
Instructions
HISTORIQUE:
Le nom de cette structure vient du nom de l’université où une telle architecture a été
mise en pratique pour la première fois avec Le Mark I en 1944(L’IBM ASCC
(Automatic Sequence Controlled Calculator), appelé le Mark I par l’Université
Harvard, a été le premier ordinateur numérique aux États-Unis. Il est considéré
comme étant le premier calculateur universel.).
DEFINTION :
Cette structure se distingue de l’architecture Von Neuman uniquement par le fait que
les mémoires programmes et données sont séparées. L’accès à chacune des deux
mémoires se fait via un chemin distinct. Cette organisation permet de transférer une
instruction et des données simultanément, ce qui améliore les performances.
Microprocesseurs et Microcontrôleurs 2018-2019
Les systèmes microprogrammés
Microprocesseurs et Microcontrôleurs
- Un microprocesseur contient :
Circuit Circuits
Les Microcontrôleurs
Un microcontrôleur est un vrai
calculateur sur puce.
Schéma block d’un microcontrôleur
- RAM.
- E/S Parallèles. Program Counter
- E/S Séries.
- Compteurs.
- Des circuits d’interruptions.
-ADC et d’autres périphériques.
Les Microcontrôleurs
Microcontrôleurs 8-bits
◮ 68HC11 de Motorola
◮ MCS 8051 de Intel
◮ Z8 de Zilog
◮ Les PICs de Microship
Il existe aussi des microcontrôleurs 16-bits et 32-bits développés par
différents fabricants de microcontrôleurs.
Les Microcontrôleurs
Caractéristiques, résumé
MicrocontrôleurPIC 16F84
Brochage et fonction des pattes :
La Figure ci-dessous montre le brochage du circuit. Les fonctions des pattes
sont les suivantes :
- VSS, VDD : Alimentation
- OSC1,2 : Horloge
- RA0-4 : Port A
- RB0-7 : Port B
- T0CKL : Entrée de comptage
- INT : Entrée d'interruption
- MCLR : Reset : 0V
Choix du mode programmation : 12V - 14V
exécution : 4.5V - 5.5V
MicrocontrôleurPIC 16F84
Structure interne:
La structure interne du PIC16F84 est donnée dans la Figure ci-dessous :
MicrocontrôleurPIC 16F84
MicrocontrôleurPIC 16F84
Unité centrale :
Le coeur du processeur est composé de 3 entités :
- L’ALU (opérations arithmétiques et logiques sur 8 bits) et son registre d’état
(STATUS)
- Le registre de travail : W (Working Register)
- Le registres d’usage général (File Registers)
Valeur immédiate (ou Littérale)
Registre Instructions
Registres
(RAM)
8
ALU 3
W STATUS
MicrocontrôleurPIC 16F84
Les registres
Le registre W (accumulateur)
MicrocontrôleurPIC 16F84
Organisation de la mémoire programme
Compteur de programme (PC) : le compteur de programme
Pile (Stack) : une pile pour gérer les appels programmes et les interruptions
MicrocontrôleurPIC 16F84
Organisation de la mémoire données
MicrocontrôleurPIC 16F84
- Les Instructions
void main()
{
// Votre code ici
}
1. Les variables
Une variable est une portion réservée d’une mémoire à laquelle on a donné un
nom. Toute variable utilisée dans un programme doit auparavant être définie.
La définition d’une variable consiste à la nommer et lui donnée un type et
éventuellement lui donner une valeur initiale (initialiser). C’est cette définition
qui réserve (alloue) la place mémoire nécessaire en fonction du type.
La position de la déclaration ou de la définition d’une variable détermine sa
portée c’est-à-dire sa durée de vie et sa visibilité.
- Les variables globales sont déclarées en dehors de toute fonction.
- Les variables locales sont déclarées à l’intérieur des fonctions et ne sont pas
visible à l’extérieur de la fonction dans laquelle celle-ci est définie.
Les noms des variables ne peuvent contenir que des lettres de a à z et à partir de
A à Z, le trait desoulignement "_" et les chiffres de 0 à 9.
Microprocesseurs et Microcontrôleurs 2018-2019
Les microcontrôleurs PICs
Total[2] = 0;
et
*(Total + 2) = 0;
7. Les opérateurs de
manipulation de bits
Il est possible d'avoir une déclaration while sans corps. Une telle déclaration
est utile, pour par exemple, si nous attendons un port d'entrée pour changer
sa valeur.
Voici un exemple où le programme va attendre aussi longtemps que le bit 0 de
PORTB (PORTB.0) est au niveau logique 0. Le programme se poursuivra
jusqu’au changement à la valeur logique 1 sur les broches du port.
Une déclaration do est similaire à une déclaration while sauf ce que la boucle
s’exécute jusqu'à ce que la condition devienne fausse, ou, la boucle s'exécute
tant que la condition est vraie. La condition est testée à la fin de la boucle. La
syntaxe d'une déclaration do est la suivante :
do
{
Instructions;
} while (condition);
/*Exécution 10 fois */
k = 0;
do
{
Instructions;
k++;
} while (k <10);
Une instruction goto peut être utilisée pour modifier le flux normal de contrôle
dans un programme. Elle provoque le programme à sauter à une étiquette
spécifiée.
Une étiquette peut être n'importe quel jeu de caractères alphanumériques
commençant par une lettre et se terminant par le caractère « : ».
L’instruction goto peut être utilisée conjointement avec une instruction if.
/ * Exécution 10 fois * /
k = 0;
Boucle:
Instructions;
k++;
if (k < 10) goto Boucle;