Adaptation logiciel
Générateur MLI universel
Je présente ici la transposition logicielle que j'ai effectuée à partir d'une application parue dans la revue Elektor n° 385/386 en juillet 2010 page 45. J'ai été rapidement intrigué par l'utilisation de son auteur d'un encodeur rotatif pour la sélection des options d'iun Menu. J'ai tenté à plusieurs reprises de programmer un PIC16F628A (en fait j'en ai deux exemplaires), mais le soft refuse de fonctionner. Le software a été je pense développé à l'origine en C(++) avec probablement un compilateur CCS.
Possèdant une carte EasyPICv7 de mikroElektronika ainsi que la licence de mikroC, j'ai entrepris de transposer le logiciel d'origine pour constater là encore son dysfonctionnement. J'ai repris l'analyse complète du soft, modifié quelques lignes d'instructions, et programmé le fichier hex dans cette fois un PIC16F88 car le PIC16F628A manquait de mémoire RAM1, la bibilothèque gérant le LCD étant probablement plus gourmande en ressources que celle utilisée par son développeur Alexander ZIEMEK. Même en déplaçant en ROM les "variables" qui sont plutôt des constantes comme les messages texte destinés à l'afficheur LCD et qui n'ont rien à faire en RAM, c'est cette fois de la mémoire ROM qui manquait au PIC16F628A (Flash: 2048 octets). Il aurait fallu que j'utilise plutôt un PIC16F648A (Flash: 4096 octets) mais n'en ayant pas, j'ai choisi un PIC16F88 totalement compatible broche à broche.
J'ai ainsi réussi à obtenir un système parfaitement fonctionnel, mais qui reste sûrement perfectible.
J'ai également ajouté de nombreux commentaires tout au long du script, rendant ainsi sa lecture et sa compréhension plus aisée. Il va sans dire que j'ai travaillé sur ce projet en tant qu'amateur, n'étant absolument pas un progammeur avéré.
Le schéma présenté ici est très légèrement modifié (correction en bleu) car je n'utilise pas la pin RW du LCD, qui demeure reliée à la masse. Ceci libère ainsi la pin RA2 du processeur pour une autre utilisation..
Je n'ai pas dessiné de circuit imprimé pour cette application qui demeure dans mon cas un projet non abouti, seul le principe de fonctionnement m'intéressait.
Package comprenant :
◊ Logiciel écrit en langage mikroC (source et exécutable)
◊ Schéma modifié
1 Occupation mémoire du PIC16F88 lors de la compilation :
Available RAM: 352 [bytes], Available ROM: 4096 [bytes]
Used RAM (bytes): 82 (23%) Free RAM (bytes): 270 (77%)
Used ROM (program words): 3096 (76%) Free ROM (program words): 1000 (24%)