Vous êtes sur la page 1sur 5

S si

Systmes numriques base de microcontrleurs

COURS

1. Prsentation
Un microcontrleur (C) est un composant programmable qui intgre dans un mme botier : - un microprocesseur (CPU ou P) qui traite des donnes logiques et arithmtiques et ralise le squencement des oprations - une mmoire de programme - une mmoire de donnes - des interfaces dentre sortie qui permettent de communiquer avec des priphriques externes.

Ex : Microcontrleur PIC16F877a

2. Identification de la fonction ralise


Les systmes numriques organiss autour de microcontrleurs (PIC 16F877a, 68HC11) ralisent la fonction TRAITER de la chane d'information :

3. Structure matrielle interne et simplifie du PIC16F877a


Unit centrale de traitement des informations numriques
Interface E/S Port A Interface E/S Port B
RA0 RA1 RA2 RA3 RA4 RA5 RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7 RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7 RE0 RE1 RE2

Mmoire de programme (EPROM Flash)

Mmoire de donnes (RAM)

Horloge (CLOCK)

Unit de traitement (CPU)

Bus de communication interne

Communication Srie (UART)

Mmoire de sauvegarde

Interface E/S Port B

Configurables en Entres ou en Sorties

Priphriques internes et interfaces dEntre / Sortie

Compteur (Timer)

Convertisseur Analog / Num (A/N)

Interface E/S Port B

Interface E/S Port E

Page 1/5

CI.11

Systmes numriques base de microcontrleur

COURS

3.1 Lunit de traitement (CPU : Central Processing Unit) L'unit de traitement numrique excute les instructions du programme (codes sur 14 bits). Il traite et produit des oprations sur des informations numriques uniquement. 3.2 Les mmoires Elles se divisent en trois blocs distincts : la mmoire de programme de type EPROM Flash de capacit (8 kilo mots de 14 bits). Cette mmoire est destine tre lue uniquement. Elle contient les ordres (instructions) que doit effectuer le CPU. la mmoire de donnes de type RAM de capacit (368 octets) est utilise pour le stockage temporaire des donnes et rsultats. Le CPU peut lire cette mmoire mais aussi modifier son contenu. la mmoire de sauvegarde de type EEPROM (256 octets) qui peut tre lue et crite depuis le programme. Ces octets sont conservs aprs une coupure de courant et sont trs utiles pour conserver des paramtres semi-permanents. 3.3 Lhorloge Signal qui cadence l'excution des instructions. Chacune des instructions du programme est traite en un cycle machine : une priode de l'horloge avec une division interne par 4. Exemple : avec une horloge externe de 8MHz, la frquence cycle est de 2 MHz soit une dure d'excution d'une instruction de 500ns. 3.4 Les ports dentre / sortie Pour communiquer avec l'extrieur le PIC dispose de 5 ports (PORT A, PORT B, PORT C, PORT D et PORT E). Les ports sont bi-directionnels, ce qui signifie qu'ils peuvent tre configurs et utiliss comme des entres ou des sorties. Exemple : BP +5V Ltat de la broche RA0 dpend de laction sur BP
RA0 RA1 RA2 RA3 RA4

Lorsque BP est ouvert alors RA0 = 0 Une lecture du registre PORTA donnera
RA7 RA6 RA5 RA4 x RA3 x RA2 x RA1 x RA0 0

RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC 16F877a

PORTA

LED

Lorsque BP est ferm alors RA0 = 1 Une lecture du registre PORTA donnera
RA7 RA6 RA5 RA4 x RA3 x RA2 x RA1 x RA0 1

R1
PORTA

Ltat de la LED dpend de ltat logique prsent sur la broche RB0. Une criture dans le registre PORTB donnera : Si RB0 = 0, la LED sera teinte
PORTB
RB7 x RB7 x RB6 x RB6 x RB5 x RB5 x RB4 x RB4 x RB3 x RB3 x RB2 x RB2 x RB1 x RB1 x RB0 0 RB0 1

Si RB0 = 1, la LED sera allume


PORTB

Gnralisation Le microcontrleur Reoit les informations sur un port d'entre (Matriel) Traite ces informations (Logiciel) Utilise ces informations pour commander des circuits connects sur un port de sortie (Matriel).
Page 2/5

CI.11

Systmes numriques base de microcontrleur

COURS

4. Outils de description lalgorithme


Un algorithme est un modle universel de description dun systme numrique. Il existe deux types de reprsentation : lorganigramme et une reprsentation littrale algorithmique . 4.1 Lorganigramme dun programme Un organigramme est la reprsentation graphique dune suite structure dinstructions. Voici les symboles graphiques normaliss utiliser : Symbole Dsignation
Dbut, fin, interruption Dbut, fin ou interruption d'un programme Traitement interne Opration ou calcul sur des donnes dont le rsultat est stock dans le microcontrleur. Sous-programme Portion de programme considre comme une simple opration.

Symbole

Dsignation
Lecture ou Ecriture dune donne externe Mise disposition d'une information (criture sur un port de sortie) ou enregistrement d'une information (lecture d'un port d'entre). Branchement Test, exploitation de conditions variables impliquant le choix d'une parmi deux. Symbole utilis pour reprsenter une dcision.

4.2 Les structures algorithmiques

Structure
Squence linaire La structure linaire se caractrise par une suite d'actions excuter successivement dans l'ordre de leur nonc. Squence alternative ou conditionnelle Une structure alternative n'offre que deux issues possibles s'excluant mutuellement. Les structures alternatives dfinissent une fonction de choix ou de slection entre l'excution de l'un ou de l'autre des deux traitements.

Organigramme
Traitement 1 Instruction N1
Instruction N2 Traitement 2 Bloc

Algorithme FAIRE traitement 1 FAIRE traitement 2 FAIRE traitement 3

Traitement 3 Instruction Nn

SI condition vraie
non Condition oui Traitement 1 Traitement 2

ALORS FAIRE traitement 1 SINON FAIRE traitement 2 FIN SI

Squence rptitive ou itrative ( boucle avec pr-test )


oui

TANT QUE condition vraie FAIRE traitement

Dans cette structure on commence par tester la condition, si elle est vraie alors le traitement est excut.

Condition Traitement non

FIN TANT QUE

Page 3/5

CI.11

Systmes numriques base de microcontrleur


Structure Organigramme
Traitement

COURS Algorithme

Squence rptitive ou itrative ( boucle avec post-test ) Dans cette structure le traitement est excut une premire fois puis sa rptition se poursuit jusqu' ce que la condition soit vrifie. REPETER
non

traitement
JUSQU'A condition vraie

Condition

oui

Boucle avec comptage


N= x

POUR N = x A 0 REPETER
non N=0
Traitement Instructions

traitement
FIN POUR

oui N= N - 1

5. Environnement de dveloppement FLOWCODE


Lenvironnement de dveloppement FLOWCODE utilise un langage graphique de haut niveau pour la programmation des microcontrleurs PIC. Les programmes sont reprsents sous forme dalgorigrammes.

Simulation du programme

Composants de simulation : LED, Compilation du programme et transfert vers puce

Microcontrleur cible : PIC 16F877a

Composants connects aux entres / sorties du microcontrleur Symboles dun algorigramme Page 4/5

CI.11

Systmes numriques base de microcontrleur


Algorithme de programmation

COURS Algorigramme de programmation Partie logicielle

Schma structurel Partie matrielle

DEBUT

Tant que (condition 1) Faire Si BP appuy (RA0 =1) Alors Allumer Led Mettre le bit RB0 1 Sinon Eteindre Led Mettre le bit RB0 0 Fin Si Fin de Tant que

Configuration des Entre / Sortie Broche RA0 : Entre Broche RB0 : Sortie

FIN

Notion de variable Une variable dsigne une information qui peut changer au cours du programme. Sous FLOWCODE la taille d'une variable est de 8 bits : c'est donc un nombre qui pourra tre compris entre 0 et 255. Utiliser une variable permet de : - mmoriser une information provenant de l'extrieur, - stocker le rsultat d'une opration. Notion de masque Les masques permettent : - de tester l'tat d'un seul bit parmi les 8 bits d'un port, sans se proccuper de l'tat des 7 autres (en les masquant). - d'crire une valeur sur un seul bit parmi les 8 d'un port de sortie sans modifier les autres.

La variable RA0 est limage de ltat logique appliqu la broche A0 du Port A. Lecture ralise sur le Port A Lecture unique du bit A0 et masquage des sept autres.

Page 5/5