Logiciels > Programmation PIC > Bases

Dernière mise à jour : 02/11/2014

Livre PIC pour les débutants avec MikroPascal

Exemples de codes

Exemples pour PIC + MikroPascal - Configuration minimale, interruptions, lecture d'entrées, activation de sorties, utilisation de composants I2C tels que 24C02, PCF8583, PCF8574, PCF8591, etc. Uniquement pour le langage MikroPascal !

Présentation

Quand je me suis décidé à attaquer le monde des PICs, j'ai aimé trouver des exemples de code qui permettaient d'entrer rapidement en mode pratique. Des bouts de codes dans lesquels j'arrivais à extraire quelques informations utiles, mais sans bien trop comprendre la finalité de certaines fonctions, je dois l'avouer. On trouve sur le net, plein de pages sur les bases de la programmation des PICs, et les formidables cours de BigOnOff, ainsi que les nombreux exemples de Dany, ne peuvent pas être passés sous silence. Fantastique travail de pédagogie et de clarté pour ces deux là ! Oui mais voilà, on hésite un peu à se lancer dans du code machine (cas des cours de BigOnOff), et on aimerait bien utiliser un compilateur dont le langage de base est le Pascal, le Basic ou le C. C'était mon cas, moi qui développais déjà des applications Windows avec Delphi (langage Pascal). Je me suis donc lancé dans la programmation des PIC avec le langage Pascal de l'éditeur / compilateur MikroPascal, et ai fouiné à gauche et à droite sur la toile pour trouver divers exemples de code, en y allant par petits bouts. Ma platine de développement EasyPic 4 et le logiciel MikroPascal m'ont bien aidé, les exemples fournis avec le logiciel étaient dans le langage que j'avais choisi d'utiliser. A ce jour, mes besoins en logiciel PIC ne sont pas critiques, surtout en ce qui concerne les temps d'exécution. Il m'importe peu, pour le moment tout du moins, de disposer d'un code parfaitement optimisé et les résultats que j'obtiens pour mes applications me suffisent. Je suis un amateur, mes activités sont diverses (électronique, informatique, musique, occupations avec les enfants), je n'ai pas le temps de me spécialiser dans la programmation.

Avertissement

Les pages d'exemples que j'ai écrites sont destinées aux débutants, et j'espère qu'elles leur seront utiles. Elles ne constituent pas une bibliothèque "professionnelle", mais juste quelques idées, quelques façons de faire des choses simples, pour s'initier avec les PICs sous l'environnement de développement MikroPascal. N'espérez pas trouver ici des exemples de code hautement optimisés, et encore moins du langage assembleur, car je n'y connais rien. Tous les exemples de codes sont fournis en langage MikroPascal. Ne connaissant le Basic et le C que de très loin, je ne peux pas vous "traduire" mes lignes de code dans ces autres langages. Mais je pense que dans certains cas, vous pourrez faire une analogie entre les différents langages, le cas échéant.

Organisation des exemples

Quand on sait d'avance que les exemples vont être nombreux et parfois un peu volumineux, on hésite forcement à tout mettre sur une page unique. C'est pourquoi j'ai décidé de créer une page différente par type d'exemple de code. Ainsi, vous trouverez une page décrivant les configurations de base à spécifier pour obtenir tel comportement de tel ou tel pic. Une autre page donnant des exemples d'utilisation avec des boutons poussoir, en mode parallèle ou en mode multiplexé, une autre page dédiée à la lecture / écriture de données en EEProm, etc. Afin d'établir un lien rapide entre le matériel (le PIC lui-même avec ses composants autours) et le logiciel (MikroPascal), mes exemples comportent la plupart du temps un schéma électronique et le code logiciel qui exploite ce qui est montré sur le schéma. Par exemple, si un exemple porte sur l'analyse d'un bouton poussoir cablé sur la ligne 1 du port A d'un microcontroleur (pour savoir s'il est enfoncé ou relaché), vous trouverez un exemple de code mettant en oeuvre le port RA1, et le schéma électronique correspondant montrera la connexion du poussoir sur la borne RA1 dudit microcontroleur.

Conventions schémas

Les schémas électroniques associés aux exemples de codes fonctionnent principalement avec des signaux électriques de nature "logique", qui peuvent prendre trois états différents : état logique bas, état logique haut et état logique indéterminé. Afin de faciliter le repérage de ces états logiques, des petits carrés de couleur sont placés sur chaque liaison du schéma, ce qui permet en un coup d'oeil de voir ce qui s'y trouve. Dans chaque schéma, les mêmes couleurs représentent les mêmes états :

pic_tuto_base_config_minimale_001a

Astuce visuelle à retenir
Dans mes schémas, une patte d'un PIC qui n'est raccordée à rien peut se voir attribuer une des trois couleurs, selon la façon dont elle a été configurée :
Dans le schéma exemple ci-avant :
- RA0 est configurée en entrée et est à l'état logique haut (raccordée au +5 V, qu'on ne voit pas sur le schéma)
- RA3 est configurée en entrée mais n'est raccordée à rien, état logique indéterminé
- RB1 est configurée en sortie et son état logique a été forcé par logiciel à l'état bas (0 V)

Cas des tensions analogiques
Certains PICs intègrent un convertisseur analogique et certaines entrées peuvent être configurées en entrées analogiques, capables de lire une tension quelconque (par exemple comprise entre 0 V et +5 V). La représentation de ces tensions sur le schéma ne peut pas être assurée de la même façon que pour les niveaux logiques, mais elle reste cependant "lisible" :