WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Programmation en C du micro contrôleur PIC 16F877

( Télécharger le fichier original )
par Karim SAAD
Usto Oran - Licence Electronique 2008
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2. Architecture Interne :

Figure I.2 : Schéma interne du PIC

2.1 Coeur du PIC : le microprocesseur :

Un microcontrôleur, c'est avant tout un microprocesseur : une unité de traitement logique qui effectue l'une après l'autre les opérations contenues dans un programme stocké en mémoire (la mémoire FLASH). On peut le voir sur le schéma de la figure I.2, il est essentiellement composé de :

· L'ALU (Unité Arithmétique et Logique) : Exécute les opérations sur les donnés.

· Le registre de travail « W reg. ».

· Le multiplexeur « MUX ».

· Le registre de statut « status reg ».

· Le registre « FSR reg » utilisé pour l'adressage direct et indirect.


· Le multiplexeur d'adresse « Addr mux ».

· Le compteur programme « Program Counter » : Pointage des instructions à exécuter

· La pile à 8 niveaux « 8 level Stack ».

· Le registre d'instruction « Instruction reg »

Figure I.3 : Schéma de L'ALU

Bus du programme

AddrMUXM

Direct Adrr

Indirect Adrr

STATUS

Wreg

2.2 Horloge :

L'horloge peut être soit interne soit externe. L'horloge interne est constituée d'un oscillateur à quartz ou d'un oscillateur RC. Avec l'oscillateur à quartz, on peut avoir des fréquences allant jusqu'à 20 MHz selon le type de microcontrôleur.

Le filtre passe bas (Rs, C1, ) limite les harmoniques dus à l'écrêtage et réduit l'amplitude de l'oscillation. Avec un oscillateur RC, la fréquence de l'oscillation est fixée par Vdd, Rext et Cext. Elle peut varier légèrement d'un circuit à l'autre.

Dans certains cas, une horloge externe au microcontrôleur peut être utilisée pour synchroniser le PIC sur un processus particulier. Quelque soit l'oscillateur utilisé, l'horloge système dite aussi cycle d'instruction est obtenue en divisant la fréquence par 4. Le terme Fosc/4 désigne l'horloge système. Par exemple on obtient un cycle d'instruction de 1 MHz, en utilisant un quartz de 4 MHz.

10

 

13

 

Bus de Données 8

Mémoire
Flash

 
 

P.C

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Pile

Figure I.4 : Schéma de l'horloge

2.3 Pile et Compteur Programme :

Le « Program Counter » ou PC est le compteur qui pointe, dans la mémoire de programme, la prochaine instruction à exécuter. Il est lié à la pile système (Stack en anglais) à 8 niveaux dans le 16F877. C'est-à-dire qu'on peut avoir jusqu'à 8 niveaux d'imbrication d'appels de sous-programmes ou fonctions.

Figure I.5 : Schéma de la pile

3. Mémoires du PIC :

Le PIC 16F877 contient trois types de mémoires :

3.1 Mémoire FLASH :

C'est dans celle-ci qu'est stocké le programme du PIC. Après compilation du fichier source, le compilateur génère un fichier « .hex », Celui-ci est transféré ensuite dans la mémoire programme du PIC à l'aide du programmateur. La capacité de cette mémoire est de 8Kmots.

Cette mémoire n'est pas reliée au bus de données (DATA Bus), elle sert à stocker le programme du PIC, mais pas les variables du programme. L'avantage de cette mémoire c'est qu'on peut l'effacer et la réécrire facilement.

3.2 Mémoire RAM :

Fait partie de la zone d'adressage des données. Elle comprend tous les registres spéciaux permettant de contrôler le coeur du PIC ainsi que ses périphériques. Les variables des programmes pourront être stockées dans des cases mémoires à usage commun.

3.3 Mémoire EEPROM :

L'EEPROM est une mémoire de stockage de données. Sur le PIC 16F877, il y a 256 octets d'EEPROM disponibles. Le nombre de cycles d'effacement / écriture sur la mémoire EEPROM est limité d'ordre du million pour le PIC, mais cette limite pourrais être atteinte plus vite pour le stockage des variables modifiées plusieurs milliers de fois par seconde.

Figure I.6 : Schéma interne des mémoires

4. Architecture Externe :

Le boîtier du PIC 16F877 décrit par la figure I.7 comprend 40 pins : 33 pins d'entrées/sorties, 4 pins pour l'alimentation, 2 pins pour l'oscillateur et 1 pin pour le reset (MCLR).

Figure I.7 : Brochage du PIC

12

- La broche MCLR sert à initialiser le pic qui dispose de plusieurs sources de RESET

(POR: la mise sous tension, EXTERNAL RESET: remise à zéro externe, WDT: chien de garde, BOR : baisse de tension d'alimentation).

- Les broches VDD (Broche 11 et 32) et VSS (Broche 12 et 31) servent à alimenter le PIC.

On remarque qu'on a 2 connections «VDD» et 2 connections « VSS ». La présence de ces 2 pins s'explique pour une raison de dissipation thermique. Le courant porté dans le PIC n'est pas négligeable parce qu'il existe de nombreuses lignes d'entrées/sorties disponibles.

- Les broches OSC1 (Broche 13) et OS (Broche 14) permettent de faire fonctionner

l'oscillateur interne du PIC qui peut être (un quartz, un résonateur céramique, un oscillateur externe ou un réseau RC).

5. Ports d'Entrées Sorties :

Le microcontrôleur dispose de 5 PORTS (A, B, C, D et E). Tous les ports d'entrées sorties sont bidirectionnels. La plupart des lignes ont une double fonction.

Remarque : L'indicateur x signifie un bit non implémenté. L'indicateur Gras signifie un bit utilisé.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"L'imagination est plus importante que le savoir"   Albert Einstein