Outils libres pour développer des applications sur les micro-contrôleurs PIC sous GNU Linux. Retour
P.Launay 2006
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
La licence GPL en anglais COPYING La licence GPL non officiel en français gplv3-fr.txt La licence GPL non officiel en espagnol gplv3-es.txt
Ce travail est basé principalement sur 3 logiciels spécifiques :
« Le projet Open Source Liberlab propose une initiation ludique à l'EXAO (Expérimentation Assistée par Ordinateur) avec la réalisation d'un laboratoire personnel … » Site : http://www.liberlab.net/
Les autres logiciels plus classiques employés peuvent être installés dans une distribution avec Synaptic très facilement. Logiciels utilisés
Enfin, je remercie l'association Gulliver et ses adhérents qui m'ont aidé à réaliser ce travail.
Dans un premier temps, il vous faut une carte PIC ou une plaquette d'essai, voir carte liberlab
Un schéma de base pour PIC
Ce schéma a été réalisé avec le logiciel libre Kicad (GPL) Vous trouverez ce schéma et d'autres dans le répertoire kicad/realisation/pic16f877
Pour l'alimentation vous pourrez utiliser une vieille alimentation de PC à récupérer dans un vieux PC ou chez un assembleur de PC, pour les branchements reportez vous sur ce site POLO ASTUCIEN UN PEU DE TECHNIQUE
N'oublier pas de mettre une résistance de 1k (1000 ohms) entre PS-ON et la masse borne 3 et 4 du connecteur de puissance, sans cette résistance si l'alimentation est sur “1” derrière le ventilateur ne marche pas, avec cette résistance le ventilateur doit fonctionner.
Technique: cette résistance qui va de PS-On à la masse, s'appelle résistance de tirage vers le bas ou pull down en anglais, on dira mettre une résistance de tirage vers le bas de 1k sur PS-ON ou mettre un pull down de 1k sur PS-ON
Quelques repères, sur les alimentations de PC <color black>le noir </color> c'est la masse,<color red>le rouge </color> le +5V et <color yellow> le jaune </color> le +12V, si vous préférez une autre alimentation, elle devra fournir au minimum du +5V 100mA et du +12V 100mA pour commencer, tout dépend ensuite de vos propres applications.
N'oublier pas un câble série DB9-DB9 non croisé entre votre PIC et le PC
La première chose à faire est de mettre le moniteur dans le PIC16F877.
La première fois plusieurs techniques : vous pouvez trouver un programmateur de PIC et vous mettez le programme moniteur.hex dedans lire la documentation dans moniteur pour créer celui de votre choix.
Programmateur sur port parallèle : vous trouverez dans kicad_pic un répertoire progPic avec tous les fichiers pour le fabriquer
Programmateur sur port série : si vous avez installez Kicad, dans le répertoire demos/pic_programmer, vous avez tous les fichiers pour le fabriquer
Pour programmer vous pourrez utiliser Pikdev sur KDE, sur Gnome vous pouvez installer juste pkp lire le fichier aide_pkp
Une fois le premier PIC programmé, vous pourrez en programmer d'autres vierges ou changer de moniteur avec 2 pics et <color red>le logiciel skypic_down</color>, pour des informations plus complètes : >Graver des PICs
Vous souhaitez mettre un simple programme utilisateur dans un PIC avec la liaison série
Pour en savoir plus Moniteur PIC16F877
Un petit exemple très simple de programme C avec SDCC et d'utilisation avec gtkterm :Programme simple
Quelques Bibliothèques pour SDCC pour la liaison série, l'I2C, le Timer1, afficheur LCD source bibliothèque
Des exemples dans le répertoire sdcc
Un exemple I2C avec l'horloge temps réel DS1307 pour SDCC 2.6.0 i2c_ds1307
Un autre petit exemple de télécommande RCS80 télécommande
Des explications en odt ou en html dans télécommande RCS80
Pour finir voici la liste des fichiers présents sur ce site Liste des fichiers de Pik Digor
A vous la main, écrivez vos programmes en assembleur ou en C et testez les avec GTKTerm ou Liberlab, faites des belles présentations en python et adapter Liberlab à vos besoins et n'oubliez pas de les publier sous licence GPL
Partager vos connaissances et vos problèmes avec d'autres utilisateurs de GNU Linux
Contacter un GUL dans votre région Liste des GUL francophones
Un problème dans cette présentation, me contacter <color blue> per point launay arobase free point fr</color>