16F877

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

16F877 est le nom d'un microcontrôleur Microchip de la famille PIC 16Fxxx.

Désignation[modifier | modifier le code]

Le numéro 16 signifie qu'il fait partie de la famille "MID-RANGE". C'est un microcontrôleur de la famille 8 bits[1]. Cela veut dire que l'ALU (Arithmetic and Logique Unit ou Unit Arithmétique et Logique en français) traite naturellement des mots de 8 bits maximum.

La lettre F indique que la mémoire programme de ce PIC est de type "Flash". Chaque ligne de mémoire est un mot de 14 bits.

Les trois derniers chiffres permettent d'identifier précisément le PIC, ici c'est un PIC de type 877.

La référence 16F877 peut avoir un suffixe du type "-XX" dans lequel XX représente la fréquence d'horloge maximale que le PIC peut recevoir.

Caractéristiques[modifier | modifier le code]

Fonctionne à 20 MHz maximum.

Possède :

Mémoire Flash[modifier | modifier le code]

Pourquoi une ligne de cette mémoire (Mémoire flash) a 14 bits ?
L'ALU permet de faire des opérations mathématiques simples : OPERANDE_1 OPERATEUR OPERANDE_2.

  • Les OPERANDE_1 et OPERANDE_2 sont des mots de 8 bits (car le 16F877 est un µC 8bits).
  • L'OPERATEUR est l'une des 35 instructions disponibles (donc codable sur 6 bits)

La mémoire Flash est composée d'un mot de 8 bits (OPERANDE_1) et d'un mot de 6 bits (OPERATEUR).
Quid de l'OPERANDE_2 ? Celle-ci est :

  • soit le résultat de l'opération précédente,
  • soit elle n'existe pas (ex : un décalage),
  • soit elle a été chargée dans le registre W lors de l'opération précédente.

Pour bien comprendre ces informations, reportez-vous à : figure 1-2 (page 7), au chapitre 3 (page 33 à 39), et au tableau 15-2 (page 160) de la documentation du PIC 16f877 donné en Notes[1].

Applications[modifier | modifier le code]

Le microcontrôleur PIC 16F877 est devenu un microcontrôleur très populaire dans l'électronique loisir. Sa simplicité, son prix, et l'accessibilité des outils de programmation peuvent expliquer sa popularité.

Programmation[modifier | modifier le code]

Les méthodes de programmations disponibles (il en existe peut-être d'autres) sont :

  • Écrire directement un fichier en Hexadécimal (comme dans les années 1960),
  • Écrire en assembleur,
  • Écrire en C,


Notes[modifier | modifier le code]

  1. a et b Microchip - PIC16F87xA datasheet
  2. http://ww1.microchip.com/downloads/en/devicedoc/30292c.pdf Timer1: 16-bit timer/counter with prescaler, can be incremented during SLEEP via external crystal/clock

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]