↑ Return to Assembleur

PIC16

Les articles suivants qui concernent la famille 8-bit PIC® Microcontrollers / Mid-range sont principalement basés sur des développements dans le cadre d’un pic16f628a (data sheet officielle de Microchip) dont une synthèse de la data sheet est disponible en français dans ce rapport d’étude. A noter que le micro contrôleur 16f628a peut avantageusement remplacer le pic16f84 :

Au cours de certains développements nécessitant l’emploi d’une arithmétique longue comme l’addition ou la division sur 32 bits, nous avons été amenés à utiliser les routines assembleur proposées par le site http://avtanski.net/projects/math/ et générées en ligne au moyen d’un formulaire. A noter que le code généré n’est pas optimisé en taille ni en vitesse mais à contrario, l’utilisation des ces routines fait gagner un temps non négligeable dans l’écriture et le test d’un programme.

Notice

Le nombre N demandé dans le formulaire correspond à une arithmétique N x 8 bits
(e.g. Pour une arithmétique 32 bits, sélectionner N = 4).

Important!

A titre d’exemple, une génération de code est disponible en téléchargement qui implémente les 4 opérations addition, soustraction, multiplication et division entière sur 32 bits.
A noter que les algorithmes implémentés permettent de travailler sur une arithmétique 8 x N bits et ce, avec la seule définition d’assemblage  #define PRECISION N et son impact sur les réservations en mémoire des 3 registres REG_X, REG_Y et REG_Z.

 

  • La gestion des interruptions

Les articles suivants présentent des descriptions et implémentations de fonctionnalités particulières rencontrées au fil des réalisations des projets :

  • Détection de la vitesse de communication UART (autobaud detect)
  • Gestion d’une FIFO (écriture et lecture)

 

Quant aux articles suivants, ils concernent la famille 8-bit PIC® Microcontrollers /  Enhanced Mid-Range qui se caractérise par un nombre d’instructions plus grand tout en restant compatible avec celles de la famille Mid-Range hormis les instructions utilisant des registres propres à cette famille comme le registre BSR (Bank Select Register) ou les registres FSRs (File Select Registers).

Pour ces articles nous avons retenu le pic16f1827 pour sa compatibilité broche à broche avec le pic16f628a.