Vous êtes sur la page 1sur 2

1 ELN : COURS D' LECTRONIQUE

MISE EN OEUVRE D'UN MICROCONTROLEUR PIC

page 1 / 2

A GNRALITS
PORT A

Les microcontrleurs sont des composants programmables. Ils intgrent dans un seul botier l'environnement minimal d'un systme microprocesseur (l'UC, la RAM, l'EPROM et les interfaces). Ils sont prsents dans la plupart des systmes lectroniques embarqus ou ddis une application unique. Il en existe de nombreux modles diffrents avec parmi les plus courants : le 8051 de Intel, le 68HC11 de Motorola... et les PIC de Microchip

MEMOIRE PROGRAMME

RAM

RA0 RA1 RA2 RA3 RA4 RA5 PORT B RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7

I LES PIC 16F...


Les PIC de Microchip contiennent un processeur jeu d'instruction rduit (RISC : Reduced Instructions-Set Computer constitu de 35 instructions seulement). La srie 16F contient de la mmoire "Flash", reprogrammable des centaines de fois (idale pour dvelopper). Il existe un grand nombre de PIC disponibles disposant d'un nombre d'entre / sorties ou de ports diffrents, de mmoires de tailles variables, ou encore de capacits fonctionnelles diffrentes (pour la communication, la commande de moteurs courant continu, etc...)
CPU Traitement

PORT C RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7 PORT D RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7 PORT E RE0 RE1 RE2

B PRSENTATION DU PIC 16F877A


HORLOGE

numrique

I SYNOPTIQUE SIMPLIFI DU 16F877A


C'est le modle qui sera utilis en TP. Le synoptique simplifi est donn ci-contre.

EEPROM

CONVERTISSEUR ANALOGIQUE NUMERIQUE

1 L'UNIT 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. 2 LES MMOIRES Elles se divisent en trois blocs distincts : - la mmoire programmes Flash (8 k mots de 14 bits), - la RAM (368 octets) est utilise pour le stockage temporaire des donnes et rsultats, - l'EEPROM (256 octets) qui peuvent tre lus et crits depuis le programme. Ces octets sont conservs aprs une coupure de courant et sont trs utiles pour conserver des paramtres semi-permanents.
TIMERS COMMUNICATION SERIE PARALLELE

1 ELN : COURS D' LECTRONIQUE 3 L'HORLOGE

MISE EN OEUVRE D'UN MICROCONTROLEUR PIC

page 2 / 2

Associ un quartz externe de 8 MHz, elle gnre le signal qui cadence l'excution des instructions. Chaque instruction du programme est traite en un cycle machine (une priode de l'horloge avec une division interne par 4 soit 2 MHz effectifs). La dure d'excution d'une instruction est donc de 500ns. 4 LES PORTS 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. Le microcontrleur reoit les informations sur un port d'entre : - informations logiques issues de capteurs sur un ou plusieurs bits d'un port d'entre, - informations numriques codes sur 8 bits sur un port entier (le code d'une touche d'un clavier par exemple). - informations analogiques variables dans le temps (une tension reprsentative d'une temprature par exemple) si le PIC est dot d'un convertisseur analogique / numrique. Le microcontrleur traite ces donnes et les utilisent pour commander des circuits qui sont connects sur un port de sortie. 5 LES TIMERS Le PIC 16F877A dispose de 3 timers : ce sont des modules programmables dont les fonctions principales sont : - la gnration de signaux priodiques (astable), - la gnration d'impulsions (monostable), - le comptage d'vnements (compteur), - la gnration de signaux PWM (modulation de largeur d'imuplsions pour les MCC).

Il peut convertir 8 tensions analogiques (variables entre 0 et 5V) appliques sur ses 8 entres (PORT A et PORT E) en nombres binaires cods sur 10 bits. Les rsultats des conversions sont stocks dans des registres internes de l'UC).

C LANGAGES DE PROGRAMMATION POUR LES PIC


Les microcontrleurs sont des composants programmables. Ils font ce que leur dit de faire le programme et rien d'autre. Le programme est une suite d'instructions. Elles sont codes en binaire pour pouvoir tre excutes par le microcontrleur (code machine). Pour crire un programme, il existe plusieurs solutions mais chacune ncessite une forme de traduction. On peut crire le programme dans un langage de programmation de haut niveau (quelque chose proche de l'Anglais) et ensuite utiliser plusieurs programmes pour le traduire en code machine. On peut crire le programme dans un langage proche du code machine. C'est un langage de bas niveau appel assembleur. Il est alors ais de le traduire en code machine. La premire mthode est habituellement plus rapide et plus facile pour le programmeur, mais sa traduction n'est pas optimise (la taille du programme est plus grande). La deuxime est plus longue pour le programmeur mais elle permet de produire un code optimis. Dans tous les cas, la programmation dbute par un algorithme ou un algorigramme qui dcrit l'enchanement des actions raliser. A partur de l, le programmeur traduit chaque tape de l'algorithme en langage volu, comme le langage C ou en assembleur. Pour programmer les PIC nous utiliserons un logiciel de programmation graphique, FLOWCODE, grce auquel le programme implanter dans le PIC est directement reprsent sous forme d'ordinogramme.

6 LE CONVERTISSEUR ANALOGIQUE NUMRIQUE (CAN)