Vous êtes sur la page 1sur 14

LE MICROCONTROLEUR (Famille du 8051)

CI10 :TRATEMENT DE L’INFORMATION


Thème I11 :Les systèmes numériques : Mise en œuvre d’un microcontrôleur

I- PRESENTATION :
Dans les systèmes pluritechnologiques du laboratoire quels sont les systèmes qui
sont gérés par des microprocesseurs ou microcontrôleurs.
-Le pousse seringue
-Le sécateur
-Le portix
Dans la vie de tous les jours d’autres systèmes en sont dotés :
Les automobiles, l’électroménager, les appareils de confort (distributeurs…)

II- POURQUOI :
Par rapport à une technologie câblée il est plus facile de modifier un programme
par l’affectation de nouvelles sorties ou entrées qui se réalise par la connexion à
la carte par un fil (hors masse). Alors que par une technologie câblée il faut
reconcevoir le système en quasi-totalité

III- HISTOIRE :
Le microcontrôleur est en fait un micro régisseur, et pour porter ce nom le
microcontrôleur doit avoir au minimum sur son chipset un microprocesseur, son
horloge, des circuits de RAZ des tampons d’adresses, et de la mémoire.

IV- STRUCTURE INTERNE DU 80C51 :

DEL FRANCO Giovanni 1


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

V- METHODOLOGIE D’APPROCHE :
Le microcontrôleur est un système informatique autonome réduit à sa plus
simple expression. On le programme avec des langages qui lui sont appropriés et
difficilement compréhensibles par le non initié.

Le langage le plus élémentaire est le binaire. Il est lourd d’utilisation, une


instruction codée sur n bits doit être programmée et on a des difficultés à
reconnaître cette instruction. Il est donc non adapté à une utilisation normale.
Vient ensuite le langage assembleur. Ce langage fait appel à des codes
mnémoniques qu’un compilateur rend compatibles avec le microcontrôleur. Il
est facile d’utilisation et il est donné par le constructeur.

Exemple :
ADD__A , Rn on fait A+ R dans A
DEC__ A on fait A-1 dans A
Les langages dits évolués, le Pascal, le C, le C++ sont encore plus
compréhensibles de l’utilisateur. Il commence à se répandre.

Langage Compilateur Interpréteur Micro


évolué contrôleur

VI- CONCEPTION DES PROGRAMMES :


Chaque programmeur a sa sensibilité, de même qu’il existe une multitude de
microcontrôleurs. Il est donc difficile de trouver deux programmes identiques
pour une même application. On a donc recours à un langage universel tel le
GRAFCET qui permet de rendre compréhensible, de tous, le déroulement d’un
processus. Ce langage c’est le langage ALGORITHMIQUE, ou
ORDINOGRAMME.

Les symboles utilisés :

Symbolise le début ou la fin d’un programme

Symbolise le traitement d’informations ou de données

Symbolise la lecture ou l’écriture des entrées / sorties

DEL FRANCO Giovanni 2


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

Symbolise un test

Symbolise un sous programme

VII- APPLICATION :
Le store SOMFY du laboratoire est gérer par un microcontrôleur. Etablir
l’inventaire des capteurs, des préactionneurs, puis établir les équations
d’activation et de désactivation des préactionneurs.
En déduire l’algorithme du système.

Inventaires capteurs :
Fin de course haut : fch
Fin de course bas : fcb
Présence soleil : ps
Présence vent : pv

Inventaires des préactionneurs :


Préactionneur de montée : Mo
Préactionneur de descente : De

Equations :
RMo = fch + De
SMo = (pv + ps ). fch
RDe = fcb + Mo
SDe = (ps. pv ). fcb

DEL FRANCO Giovanni 3


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

Début

Mise à 0 des
ports

Tt mise à 0
de la Mo

Eq
Vérif

Tt mise à 1
de la Mo
Reset
Montée

Eq
Vérif
Mise à 0 des
Tt mise à 0
ports
de la De
Set
Montée
Eq
Vérif
Mise à 0 des Tt mise à 1
ports de la Mo
Reset
Descente
Eq
Vérif
Mise à 0 des
ports
Set
Descente

Mise à 0 des
ports

DEL FRANCO Giovanni 4


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

Comme on est en fonctionnement continu il n’y a pas de fin de programme. Il


suffirait de mettre un Bp stop et de venir le tester.

L’algorithme développé sans les symboles serait le suivant :

Début
Mise à 0 des ports utilisés
Lecture du bit fch
Lecture du bit De
OU logique
Vérif l’équ de RMo
Test positif Test négatif
Reset Montée Lecture bit pv
Initialisation Lecture bit ps
OU logique
Lecture bit fch
ET logique
Vérif l’équ de SMo
Test positif Test négatif
Set Montée Lecture bit fcb
Initialisation Lecture bit Mo
OU logique
Vérif l’équ de RDe
Test positif Test négatif
Reset Descente Lecture bit ps
Initialisation Lecture bit pv
OU logique
Lecture bit fcb
ET logique
Vérif l’équ de Sde
Test positif test négatif
Set Descente retour
Initialisation
Retour

VIII- ETUDE DU MICROCONTROLEUR 80552 :


Ce composant est de la même famille que le 8051, mais il est plus complet, il est
construit autour du même noyau. Il se différencie du 8051 par
- Une mémoire plus grande 256 k

DEL FRANCO Giovanni 5


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)
- Deux timers 16 bits TO et T1
- Un timer couplé à 4 registres
- De 8 CNA
- De deux sorties PWM de résolution 8 bits
- …/…

Structure interne du 80552

DEL FRANCO Giovanni 6


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

Le jeu d’instruction.

DEL FRANCO Giovanni 7


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

DEL FRANCO Giovanni 8


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

DEL FRANCO Giovanni 9


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

DEL FRANCO Giovanni 10


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

Le brochage du microcontrôleur.

XI- PROGRAMMATION :
Comme lorsqu’on construit un GRAFCET, il faut établir le tableau d’affectation
Des entrées / sorties

DEL FRANCO Giovanni 11


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)
On programme à partir d’un logiciel EWR51KIT qui est un logiciel qui nous
permet de faire le programme, de le compiler et de le simuler.

Méthode de programmation :
1- Ouvrir un projet, store par exemple
2- Ouvrir un fichier, store.A51
3- Ecrire le programme
4- L’insérer dans le projet
5- Le compiler
6- L’assembler
7- Le simuler, par affichage des différents paramètres à l’écran.

Les différentes étapes de la programmation :


1- Déclarer le registre de travail compatible avec le microcontrôleur utilisé par
exemple le 51, 515, 552.
INCLUDE reg_515.pdf
2- Déclarer les variables internes si elles existent
3- Déclarer les interruptions
4- Initialiser le système (écrire les différents paramètres de configuration)
5- Déclarer la mémoire de code
Code at 0h ; Indique le début du programme
ljmp début saut à l’étiquette début
Il faut libérer la place mémoire basse pour permettre au microcontrôleur
de travailler
6- Déclarer les interruptions
Code at 0bh
ljmp it xxx ; interruption xxx
Code at 1bh
ljmp it yyy ; interruption yyy
7- Déclarer la banque de data
Data at 2fh ;début de la mémoire data
8- Déclarer la pile
Pile : DB 10 ; nombre de ligne qu’il faut
réserver à la pile pour qu’elle travaille convenablement
9- Indiquer le début de programme
Code at 100h ; car il faut libérer la partie
basse de la mémoire

Présentation du programme :
Le programme doit être le plus clair possible. Pour cela on utilise 4 champs et la
fonction TAB du clavier.
Ch1 TAB Ch2 TAB Ch3 TAB Ch4

DEL FRANCO Giovanni 12


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)
Ch1 : Représente l’étiquette
Ch2 : Représente le code mnémonique

Ch3 : Représente l’action


Ch4 : Représente le commentaire. Il commence toujours par ;

X- LES INTERRUPTIONS :
Les interruptions sont des interventions prioritaires externes ou internes. Elles
stoppent tout traitement en cours, le ST (Stack Pointer) saute à l’adresse de
l’interruption, en fait un sous programme, exécute le sous programme, puis
revient ou il s’est arrêté. Comme on ne connaît pas l’instant de l’interruption, le
microcontrôleur gère lui-même l’interruption.
La fin d’un programme d’interruption se termine par l’instruction RETI (Retour
d’interruption)

Exemple : la fin d’une conversion A/N, un ARU, un changement d’état


important.

Remarque
INT0 et INT1 sont des interruptions externes
TF0 et TF1 sont des interruptions internes de dépassement de compteurs

Déclaration des interruptions :


L’instruction est la suivante : Mov ie#10001010b
ie = interrupt enable validation des interruptions
Interruption TF1
Interruption TF0

XI- APPLICATION AUX INTERRUPTIONS :


Réaliser l’étude du store traitant les infos vent et soleil par des durées

DEL FRANCO Giovanni 13


Lycée G MONOD ENGHIEN
LE MICROCONTROLEUR (Famille du 8051)

DEL FRANCO Giovanni 14


Lycée G MONOD ENGHIEN