Aucune difficulté particulière, si ce n'est qu'il existe deux modules adaptateurs, un premier pour les références 16C54, C56, C58 (18 pattes DIL) et un second pour les références 16C55, C57 (28 pattes DIL). Difficile de faire plus simple, le schéma est composé d'un condensateur de découplage d'alimentation de 100 nF et d'un support de programmation.
Les chronogrammes de programmation du Pic sont d'une simplicité déconcertante: la patte MCLR reçoit la tension de programmation, les mots de data/program au format 12 bits sont présents sur les broches RB7-RB0 et RA3-RA0. Un front descendant sur INCPC (OSC1) incrémente le compteur programme, tandis que PROG/VER (RTCC) sert à la fois d'impulsion de programmation et de vérification.
Le fichier de données se présentera sous forme de mots de 16 bits dont les 4 premiers sont positionnés à zéro. Les mots de data/program transmis au programmateur seront donc sous la forme 0000xxxx xxxxxxxx en binaire (x est un bit à 'zéro' ou à 'un'), ou encore sous la forme 0XXX en hexa ASCII (X est un caractère de 0 à F). Ils sont obtenus par conversion d'un fichier exécutable issu d'un assembleur pour MicroChip. En général, ce fichier est disponible sous plusieurs formats, notamment le format HexIntel classique.
Si le mot de configuration est utilisé (adresse FFFh dans le fichier de données), le fichier de données aura une longueur fixe de 4Kmots (ceux qui sont situés entre la dernière adresse utile du programme et FFFh, des mots de remplissage en général positionnés à zéro, sont alors non significatifs et non programmés). Pas de panique si la LED jaune est allumée dans les différents modes de lecture. La tension +Vpp est normalement utilisée en lecture rapide. Voilà, tout est dit!
Extensions Vous disposez maintenant d'un programmateur de 80C51. Lors d'un développement, les avantages de la version micro contrôleur à ROM intégrée, par rapport à la version classique micro contrôleur
74LS373 + EPROM externe sont de trois ordres :
* l'encombrement réduit (un seul boîtier 40 pattes au lieu de trois boîtiers)
* un dessin de circuit imprimé ultra-simplifié (plus de passage de piste entres les pattes)
* le nombre d'entrées-sorties passant de 14 à 32 (plus de liaison EPROM-micro contrôleur) Deux inconvénients cependant (encore heureux qu'il en existe!):
* il vous faut un micro UVPROM pour le développement (la version finale sera implantée en
* OTP dont le prix avoisine le total micro + latch + EPROM) vous avez besoin d'un programmateur (mais est-ce réellement un problème, maintenant?)
Il vous est possible d'utiliser la carte de base pour programmer tout autre composant. Par exemple, vous souhaitez disposer d'un programmateur de Z4XW32 (sortie prévue en 2025).
Première étape
Schéma électronique et dessin du circuit imprimé à partir des données constructeur du composant. Vous disposez au niveau du support de programmation de 3 bus de 8 bits complets (P0, P1, P2), de 4 lignes de contrôle (P32 à P35) d'une tension commutable (0V, 5V, 13V) et d'un quartz de 4 MHz. Si votre application demande des éléments supplémentaires, il est tout à fait possible de les ajouter sur votre carte adaptatrice.
Deuxième étape
Ecriture du soft. A ce sujet, il faut être clair: vous allez devoir aligner les octets! Le 8051 est un micro-contrôleur de complexité moyenne, il faut le prendre dans le sens du poil. En réalité, les choses sont un peu plus simples qu'elles ne le paraissent. Le développement ne requiert pas l'utilisation des fonctions spéciales du 8051, si ce n'est pour la gestion de la liaison série RS232. Pour cela, il faut charger les bons registres à la bonne valeur:
th1=F4h Vitesse 2400 bauds, 8 bits data, pas de parité
scon=52h SM0-SM1=01 (mode1), SM2=0, REN=1, TI=1 (autorisations RxTx)
tmod=20h Mode auto reload timer 1 tr1=1 Démarrage du TIMER 1
C'est la seule difficulté: le reste se résume à de la commande de ports d'entrées-sorties et de la gestion temps réel. Une fois programmé en 87C51 ou équivalent UVPROM grâce à votre tout nouveau programmateur, vous montez le micro-contrôleur à la place de son prédécesseur.
Autre possibilité: vous pouvez développer une application qui n'a rien à voir avec de la programmation de composant, par exemple 30 entrées-sorties commandées par ordinateur (vous pouvez si nécessaire récupérer les ports P36-P37). Attention cependant! Plutôt que de commencer à 'bidouiller' votre carte programmateur, nous vous conseillons de tirer un deuxième circuit imprimé, ceci afin de vous éviter ultérieurement des surprises désagréables . Une fois le 'logiciel qui va bien' fondu dans un 80C51 OTP ou UVPROM, il ne reste plus qu'à 'pluger' votre carte entrées-sorties dans votre ex-support de programmation. Voilà, le monde extérieur vous est ouvert, alors à vos claviers!


