Vous êtes sur la page 1sur 8

Chapitre V Interfaces du microcontrôleur

V.1 Introduction

Un microcontrôleur interagit avec un ou plusieurs machines (ou avec un autre système), il


est, donc, important de réaliser des liaisons de communications pour assurer le transport de
flux de données.

V.2 Lecture-écriture dans la mémoire EEPROM

Afin de réaliser une opération de lecture ou d’écriture de données sur la mémoire


EEPROM nous devons manipuler quatre registres :

Registre EEDATA.
Registre EEADR.
Registre EECON1.
Registre EECON2.

La figure V.1 montre l’emplacement des registres EEDATA, EEADR, EECON1 et


EECON2 au niveau de la mémoire RAM.

PAGE 0 PAGE 1

Figure. V.1 Emplacements des registres EEDATA, EEADR, EECON1 et EECON2 dans la mémoire
RAM

V.2.1 Le registre EEADR

Il contient l'adresse de l'emplacement mémoire EEPROM qu’on veut manipuler, pour une
opération de lecture ou d’écriture.

SMAANI Billel 53 FT/UMBB


Chapitre V Interfaces du microcontrôleur

V.2.2 Le registre EEDATA

Il contient la valeur de la donnée qu'on veut manipuler, pour une opération de lecture ou
d’écriture.

V.2.3 Le registre EECON1

Il s’agit d’un registre de contrôle, il permet donc de contrôler l’opération de lecture ou


d’écriture, ceci à travers les bits EEIF, WRERR, WREN, WR et RD.

La figure V.2 montre les bits du registre de contrôle EECON1 ainsi que la signification
de chaque bit.

Figure. V.2 Les bits du registre EECON1

Le lancement des opérations de lecture ou d’écriture est contrôlé par les bits RD et WR
comme montre la figure V.2. L’autorisation de l’opération d’écriture est contrôlée par le bit
WREN.

V.2.4 Le registre EECON2

C’est un registre de sécurité d’écriture dans la mémoire EEPROM. Dans ce cas, une
donnée ne peut être écrite qu’après avoir écrit successivement 0x55 et 0xAA dans ce registre.
Cela permet d’empêcher l’écriture aléatoire de données.

SMAANI Billel 54 FT/UMBB


Chapitre V Interfaces du microcontrôleur

V.2.5 Processus de lecture d’une donnée

Le processus de lecture d’une donnée dans la mémoire EEPROM est décrit par
l’organigramme général de la figure V.3.

Figure. V.3 Organigramme général permettant la lecture d’une donnée


dans la mémoire EEPROM du microcontrôleur PIC

Dans ce cas, on doit mettre l’adresse de la donnée dans le registre EEADR puis il faut
lancer l’opération de lecture par la mise à ‘’1’’ du bit RD du registre EECON1.

V.2.6 Processus d’écriture d’une donnée

Le processus d’écriture d’une donnée dans la mémoire EEPROM est décrit par
l’organigramme général de la figure V.4.

On doit mettre l’adresse dans le registre EEADR et la donnée dans le registre EEDATA.
Puis, d’autoriser l’opération d’écriture et en fin il faut lancer l’opération par la mise à ‘’1’’ du
bit WR du registre EECON1.

SMAANI Billel 55 FT/UMBB


Chapitre V Interfaces du microcontrôleur

Figure. V.4 Organigramme général permettant l’écriture d’une donnée


dans la mémoire EEPROM du microcontrôleur PIC

V.3 Interface série

Une liaison série se caractérise par la transmission de données qui se fait bit par bit via la
voie de transmission (figure V.5).

Figure. V.5 Schéma descriptif de la liaison série

Généralement elle est bidirectionnelle et elle supporte des distances importantes, jusqu'à
plusieurs Km, ceci sans amplification.

SMAANI Billel 56 FT/UMBB


Chapitre V Interfaces du microcontrôleur

Une liaison série peut être synchrone ou asynchrone.

Liaison synchrone : l’émetteur et le récepteur sont cadencés sur la même horloge.


Le récepteur reçoit de façon continue les informations au rythme où l'émetteur les
envoie. Dans ce cas l’émetteur et le récepteur ont deux horloges qui doivent
fonctionner sur la même fréquence.
Liaison asynchrone : chaque caractère est transmis de façon irrégulière dans le
temps. L’émetteur et le récepteur ne sont pas cadencés sur la même horloge.

Remarque
Dans ce cas le code d’échange est le code ASCII (American Standard Code for Information
Interchange) dont lequel chaque caractère est représenté par huit bits.

V.3.1 Liaison série asynchrone

V.3.1.1 Principe & protocole

Le principe de la liaison série asynchrone est basé sur la forme des signaux envoyés, des
signaux qui permettent, d’une part, la transmission d’un ou de plusieurs caractères, et d’autre
part, permettant une synchronisation du récepteur sur chaque caractère reçu.

Le protocole relatif à la liaison série asynchrone pour chaque caractère émis est défini
par :

La transmission débute par le passage à ‘’0’’ de cette ligne pendant une période
de l'horloge de transmission ce qui constitue le bit « START ».
Les bits du mot à transmettre sont ensuite envoyés derrière ce bit « START», le
bit du poids faible (LSB) en tête.
Après le dernier bit utile (MSB), la ligne passe à nouveau à l'état haut ‘’1’’
pendant une ou deux périodes d'horloge pour constituer ce que l'on appelle le ou
les bits « STOP ».
Lorsque aucun caractère ne circule sur la liaison celle-ci reste à l’état logique haut
‘’1’’, aussi appelé état de repos.

Remarque
Chaque caractère est représenté par huit bits (code ASCII).
La vitesse de transmission se mesure en bauds (bits par seconde).

SMAANI Billel 57 FT/UMBB


Chapitre V Interfaces du microcontrôleur

V.3.1.2 La norme RS232

Les signaux relatifs aux circuits logiques TTL ou CMOS acceptent assez mal de voyager
sur plus de quelques centimètres, ceci car leurs formes se dégradent. Pur établir une liaison
série sur une distance raisonnable de quelques centaines de mètres, il existe diverses normes
comme le cas de la norme RS232.

La norme RS232 se base sur l’adaptation en tension des signaux afin d’être transmis sur
une distance supérieure (15m). Cela par les deux considérations suivantes :

Tout signal de niveau compris entre +3 et +15 volts (typiquement +12V) est
considéré comme étant un niveau logique ‘’0’’.
Tout signal compris entre -3 et -15 (typiquement -12V) volts est considéré comme
étant au niveau logique ‘’1’’.

Remarque
La norme RS232 définit deux choses : les niveaux électriques des signaux utilisés pour la
transmission et certain nombre de lignes, autres que les lignes d'émission et de réception de
données, ayant des fonctions de contrôle. Cela permettant ainsi d’obtenir les deux célèbres
connecteurs DB9 et DB25.

V.4 Exemple d’application

Nous voulons commander un afficheur à LEDs sept segments à partir d’un clavier d'un
ordinateur. Cela en utilisant :

Une liaison série asynchrone de type RS232.


Un microcontrôleur PIC16F84.
Un afficheur sept segments.
Un circuit MAX232.

La figure V.6 montre le schéma descriptif du système considéré permettant de réaliser


l’application envisagée.

La liaison série permet au microcontrôleur PIC de communiquer avec l’ordinateur et


d’échanger des données. Afin d’adapter les niveaux de tensions entre le PIC et la liaison série
nous utilisons le circuit MAX232. L’afficheur sept segments affiche les caractères saisis par

SMAANI Billel 58 FT/UMBB


Chapitre V Interfaces du microcontrôleur

l’utilisateur. Dans ce cas d’exemple et pour des raisons de simplification nous considérerons
uniquement les caractères A, B, C et E.

Figure. V.6 Schéma du système qui permet au microcontrôleur PIC de commander un afficheur
sept segments via le clavier d’un ordinateur

Le rôle du microcontrôleur PIC est de recevoir les caractères ennoyés par l’ordinateur via
la liaison série asynchrone. Puis, il va identifier chaque caractère, cela par rapport aux codes
ASCII de chaque caractère. Après l’identification des caractères il fait allumer les segments
les plus adéquats de l’afficheur.

La figure V.7 montre l’organigramme général permettant au microcontrôleur PIC de


commander un afficheur sept segments en utilisant le clavier d’un ordinateur et la liaison
série.

SMAANI Billel 59 FT/UMBB


Chapitre V Interfaces du microcontrôleur

Figure. V.7 Organigramme général permettant au microcontrôleur PIC de commander un afficheur


sept segments via le clavier d’un ordinateur

SMAANI Billel 60 FT/UMBB

Vous aimerez peut-être aussi