99 Questions que vous vous posez
sur les PIC (ou microP) sans jamais oser le demander

Ça faisait longtemps que je comptais me lancer dans l´application des PIC et j´ai déjà rassemblé quelques kilos de littérature... Quasiment tout ce que je possède en livres et sites web concerne le PIC modèle 16F84 ! Quelles raisons vous ont fait en choisir un autre, moins connu  ?

  La réponse est donnée par les auteurs eux-mêmes des livres et sites en question : le 16F84 est obsolète ! Il est vieux, cher, peu riche en fonctions, nécessite un quartz... À son époque, naturellement, il était sensas, mais aujourd´hui c´est fini.
Reboux comme Mayeux ont choisi de continuer avec le 16F628, compatible patte pour patte avec l´ancêtre, et expliquent dans leurs bouquins les différences et les enrichissements.
 
Psi a décidé de nous lancer avec le minuscule (la taille d´un 555) 12F675, représentant le PIC moderne multifonction... Le seul souci, c´est qu´il a peu de pattes. [Mais ça n´est pas aussi grave que ça en a l´air, cf. la Techno]. Après, on verra.

Je n´ai pas envie de jouer au train avec mon ordinateur, qui m´emm... déjà assez comme ça aussi bien au travail qu´à domicile. Que Ptitrain continue le Meccano et ces choses sympa sans tomber dans les pièges du cher et compliqué !
Il ne s´agit toujours pas, sur Ptitrain, d´obliger à utiliser un microordinateur (ce domaine possède des centaines de sites Internet, sa littérature propre [par exemple : EDiTS Pro ] et ses hagiographes), ni de dépenser des sommes importantes dans des solutions commerciales propriétaires.
Un PIC coûte deux euros : c´est le grand frère idéal pour les montages sympas et cools que vous réclamez. La différence entre Meccano (jusqu´à aujourd´hui) et Pictrain n´est pas la complexité ni le prix. C´est le choix de continuer à proposer des montages copiables et bidouillables par tous. Si nous continuons le Meccano à base uniquement de composants séparés (555, CMOS, 4017...), nous allons arriver à des schémas et des circuits impossibles à dupliquer par nos lecteurs, chez eux... Allez percer 300 trous dans du Cimec, allez dénuder et souder plus de 25 straps, allez souder plus de 100 pattes de C.I., et 50 diodes (dans le bon sens !) et deux douzaines d´optocoupleurs : vous allez passer mille ans, ça ne pourra pas marcher du premier coup (errare electronicum est), et vous sortirez dégoûtés.
Toute cette partie éreintante, et disons-le totalement inintéressante des schémas ambitieux peut être remplacée par... du traitement de texte !
  EDITS Pro,
une aventure humaine...

Jidé dit qu´un PIC “n´a rien à voir avec un Pentium ou un DualCore mais ressemble beaucoup plus à votre tiroir rempli d´une centaine de 555, de 741 et de 4017, de portes et-ou-non, de boutons poussoirs, de relais...” Puis-je avoir un peu plus d´éclaircissements ?
Bien sûr... Nous avons décidé de ne pas pénétrer dans les entrailles du microP lors de nos premières expériences, pour privilégier le côté logiciel. Mais il faudra bien y passer un jour, et là... les bonnes surprises vont affluer ! Trois exemples seulement pour commencer :
Un PIC aussi petit que le nôtre contient deux amplificateurs opérationnels genre 741 qui permettent de comparer entre elles des valeurs et de prendre une décision selon ces valeurs. C´est avec de tels comparateurs que Rob Paisley (par exemple) contrôle tout ses montages simples (comparables au Meccano). Ses comparateurs à lui (les célèbres LM339) ont besoin de huit pattes pour travailler. Une utilisation typique de la comparaison de valeurs : un détecteur photoélectrique pour connaître la présence d´un train...
Un PIC aussi peu cher que le nôtre contient des pilotes très puissants, l´équivalent de six transistors extérieurs (donc 30 soudures !)  : c´est jusqu´à 0,125 ampère et 0,8 watt que ses sorties peuvent fournir ou absorber...
Une poignée de 555 peuvent être fabriqués avec un seul PIC. Ils seront précis au millième de seconde et cela sans aucun composant extérieur (condensateurs, résistances, diodes)... Un 4017 à vingt sorties avec les huit pattes de notre microP, c´est aussi possible, encore une fois sans rien d´extérieur  !
Encore un mot : quand on s´en sert peu, le PIC s´endort et ne consomme plus rien (il tire moins sur une batterie que celle-ci ne perd quand elle est toute seule, rangée dans un tiroir) ; quand on en a besoin il se réveille en un millionième de seconde !

Ptitrain commence à engendrer un sacré charabia, ça va pas s´arranger !
C´est vrai, un genre d´“argot maison” s´est constitué entre lecteurs des pages “électronique” de Ptitrain, avec bonheur puisque des mots très précis sont utiles dans les domaines techniques pour éviter l´ambiguïté (par exemple, “Youbitonmatic” ou “BalBid” ne sont utilisés sur aucun autre site au monde). Mais un lexique franco-Pictrain est en ligne !

J´ai gravé quelques 12F675 et je les garde quelque temps afin de comparer différentes versions après améliorations... Naturellement je me perds dans le tas de ces petites bêtes, j´ai bien pensé à les numéroter avec un feutre blanc...
Une solution bien peu élégante, comme vous l´avez vite remarqué  ! Une autre possibilité consiste à écrire vos nom de programme, remarques, etc. sous forme de data (dt) au bas du programme en assembleur (exemple ci-dessous, ligne 208 : le nom Multipinv5a.asm)  :

Ces données ne sont évidemment pas traitées par le microP qui se contente de les stocker dans un coin, en clair, en français !
Il n´y a plus qu'à demander à IC-Prog de lire le microP (read) et on peut y apercevoir les données en clair.

Comment Ptitrain fait-il apparaître des couleurs codées pour les listings en assembleur ?
Beaucoup d´éditeurs de textes pour programmeurs (pas les “traitements de texte” pour bureautique !) tels que l´indispensable NotePad++ (gratuit, en français, Windows, site web ici) supportent la coloration automatique du code (figure ci-contre ) ; il suffit d´enrichir ce code (via ce menu  :)

par les mots qui figurent dans assembleur Microchip et, hop, le tour est joué ...
Naturellement, je vous cite, “vous n´avez pas que ça à faire” ! Aussi Ptitrain vous confie-t-il ses propres fichiers de coloration [...]

... Suivait à cet endroit un bla bla un peu trop compliqué... et donc supprimé ! Nous reviendrons sur ce sujet avec des solutions beaucoup plus cools, bientôt !

Un “truc” à la Ptitrain pour mémoriser la valeur d´OSCCAL des PIC 12F629/675 ?
Les PIC 12F629 et 12F675 ont une valeur de calibration d´oscillateur réglée en usine, écrite dans le dernière case mémoire durant la fabrication. Quand on programme le PIC, le logiciel et le programmateur devront d´abord lire cette valeur puis la replacer dans le programme en cours d´écriture.
Cependant, si cette opération a été négligée, le PIC aura définitivement oublié cette valeur et, dès lors, son oscillateur interne à 4 MHz perdra la précision de sa fréquence (1 %).
Il est donc important, dès l´achat, de noter cette valeur ; notre “truc” vous permettra de retrouver TOUJOURS les huit bits de cette valeur !
Placez votre PIC neuf sur son support, dans votre carte programmateur. Lisez [READ] les valeurs contenues.
Placez-vous à la dernière case mémoire ['03FF']
Notez la valeur hexadécimale qui s´y trouve, de la forme '34xx' ( ci-dessous dans l´encadré rouge, le nombre '348C') :
Le '34' est une instruction (RETLW), le '8C' est la valeur à laquelle nous nous intéressons aujourd´hui. Elle varie d´un PIC à l´autre...
Convertir le nombre hexa en nombre binaire : par exemple, '8C' = 1000 1100
Comme le PIC a huit pattes... il suffit de prendre un marqueur à DVD (encre permanente) et de noircir les pattes correspondant à des “un”, en commençant par la première...
S´il vous arrivait de perdre cette valeur au cours d´une programmation, vous pourriez la retrouver sans même devoir toucher au PIC (note à l´attention de ceux qui, pour l´instant, écrivent ce code sous le PIC  !).
Si vous avez perdu la valeur avant d´avoir pu la noter, voyez cette page, in English, mais c´est plutôt coton !
[Extrait du très intéressant site Practical PIC Projects, par Pete Griffiths. Page originale (V.O.) ici.]

Il n'y a pas 99 questions ni 99 réponses dans votre page !
Ça viendra.

Psi
& Jidé

17/8/08
N.B. — Textes, schémas, programmes © Psi ou Jidé pour Ptitrain, ou D.R. quand signalé. — Toutes vos remarques et commentaires sont bienvenus, et les pages de Ptitrain ne sont pas statiques : les erreurs sont corrigées sitôt connues, les améliorations, éclaircissements, etc. feront l´objet de mises à jour fréquentes.
Ptitrain, l´e-magazine du train éclectique. — Directeur de la publication : Christophe Franchini.
Rédacteur en chef : Jean-Denis Rondinet