Démarrage de la programmation PIC


13

J'ai cherché à faire de la programmation PIC, mais contrairement à certains des autres microcontrôleurs disponibles, le grand nombre de puces différentes disponibles m'a causé une certaine confusion. Il semble également que certaines des puces suggérées sur certains sites comme de bons choix pour les personnes débutant avec la programmation PIC aient été remplacées (ou je deviens peut-être encore plus confus).

Ma question se résume donc à trois parties:

  • Quelle serait une bonne puce PIC pour commencer?

  • Je suis assez content de faire l'assembleur ou un autre langage, alors quels IDE / langages suggéreriez-vous pour Linux?

  • Que recommanderiez-vous pour obtenir le code sur la puce, via une connexion USB à partir d'un ordinateur portable Linux (PicKit 2? Était une possibilité) et de quelle configuration de circuit / carte ai-je besoin pour ce faire?

Edit: Après une longue discussion avec Kortuk (voir les commentaires ci-dessous) sur les mérites de divers morceaux de kit, j'ai décidé de commencer avec le Kit de démarrage PicKit2. Cela vient avec une puce PIC16F690 installée.

Réponses:


7

Je suis d'accord avec les PIC18 mais pour quelqu'un qui vient de commencer, ils peuvent être un peu intenses. J'enseigne actuellement le développement PIC d'ingénieurs électriciens de niveau supérieur et même au sein des mêmes classes, leur éventail de formations peut être étonnant.

J'enseigne actuellement aux gens avec le compilateur CCS PIC-C mais cela coûte de l'argent. C'est incroyablement simple et a été choisi car la plupart de nos étudiants n'ont travaillé que dans un laboratoire avec un assemblage de base ou une programmation x86.

J'ai le sentiment qu'un PIC16 très simple peut être un meilleur ajustement, mais cela dépendra de votre expérience. Le PIC16F688 est un PIC très simple que nous utilisons pour notre premier projet de réchauffement.


1
J'ai un baccalauréat spécialisé en informatique de première classe qui comprenait beaucoup de programmation (C ++ principalement, un peu de VB6, un assembleur). J'ai aussi un diplôme en mathématiques et enseigne les mathématiques aux enfants du secondaire. Je peux et je fais des programmes dans une variété de langues (pas en C cependant) et j'examine diverses nouvelles choses, y compris jouer avec des microcontrôleurs.
Amos

1
Le 16F88 est un choix parfait. Il y a un million de PIC différents, et je pense qu'environ 50 000 d'entre eux sont bons pour commencer. La programmation des microcontrôleurs pose très souvent des problèmes aux personnes que j'ai aidées avec une formation CS car elles ne prenaient pas beaucoup de cours sur l'électricité, ce que j'aimerais qu'elles ajouteraient aux programmes d'études. Je ne pense pas que la programmation sera difficile du tout, mais ce ne serait probablement pas un mauvais choix pour obtenir un conseil de développement. Cela serait affecté par votre fourchette de prix. microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Kortuk

1
Je pense que le dernier lien que j'ai posté pourrait être un bon choix, il vous donnera une carte déjà branchée pour travailler avec pour 50 dollars (-25% si vous avez un email .edu) et ensuite vous avez un programmeur que vous pouvez utiliser pour tous les autres jetons que vous obtenez. J'ai hâte d'entendre comment se déroulent vos projets.
Kortuk

1
Si vous obtenez le DM164120-1, je vous suggère d'utiliser le PIC qui l'accompagne. Je suis en train d'aider quelqu'un avec un projet dont il a besoin pour donner des cours demain ou je chercherais plus, mais chaque endroit où je trouve votre tableau, je ne le trouve pas schématique. Je peux vous dire que sur la base du brochage du PIC16F631, il n'est pas compatible avec un PIC16F88. Les broches d'alimentation et de programmation ne s'alignent pas. Si vous achetez une carte de développement, utilisez simplement le PIC qui l'accompagne, vous serez beaucoup plus heureux.
Kortuk

2
Oui, vous avez bien fait vos recherches. Mon aide a peut-être été un peu erronée. Si vous voulez vous mouiller les pieds, une carte de développement est un moyen d'éviter de traiter le matériel de construction d'un PIC avant d'être prêt. Si vous suivez cette voie, je suggérerais d'utiliser le PIC fourni avec la carte et de déterminer votre prochain choix de PIC après être prêt à créer vos propres cartes. Si vous voulez votre propre photo depuis le début, achetez un programmeur, la photo et tout ce dont vous avez besoin pour exécuter la photo depuis le début. Vous pouvez économiser de l'argent et utiliser une planche à pain.
Kortuk

4

Pour le PIC, il existe un compilateur open source appelé JAL (Just Another Language)

Comme d'autres langages de programmation, il permet d'utiliser des bibliothèques matérielles pour simplifier considérablement le processus de connexion de votre PIC choisi à un autre matériel. Le logiciel vous permettra également de compiler et de télécharger des programmes via votre PIC2 (ou un clone de ce programmeur)

JAL est un langage basé sur Pascal et est un logiciel gratuit (toujours agréable si vous débutez)

Entrée Wiki JAL

Quant aux livres, "PIC Microcontrollers, 50 projets pour débutants et experts" par Bert Van Dam vaut le détour comme introduction à JAL

Jusqu'à présent, je n'ai utilisé que la puce 16F877A de PIC, une bonne puce pour débutants, apparemment. Assez bon marché et beaucoup de ports disponibles.


À la vôtre, je vais jeter un œil. JAL utilise-t-il un IDE spécifique, y en a-t-il un disponible pour Linux?
Amos

1
Oui, il en a un appelé JAL Edit, il vous gardera du côté du codage et a les outils typiques que vous avez tendance à trouver sur jal.sunish.net/jaledit de
Justblair

Malheureusement, ce n'est que Windows, il semble y en avoir un pour Linux appelé PicShell, la version bêta actuelle est à: linux.softpedia.com/get/Text-Editing-Processing/IDEs/…
Amos

2

Pour la puce, regardez la série 18F, presque aussi bon marché que le 16F, beaucoup plus de tripes. 18F2550 est une belle puce et comprend USB, il y en a d'autres dans la même série. Jetez un œil aux tableaux de sélection des micropuces sur leur site Web.

IDE gratuit à partir de micropuce, y compris C que vous devez utiliser sur l'assembleur à mon humble avis. Je ne sais pas si l'IDE de la puce fonctionne sous Linux, mais c'est possible.

PicKit peut être bon pour la programmation, peut vouloir graver un chargeur de démarrage la première fois puis charger sur USB. Le Bitwacker (google it) est une belle configuration à utiliser ou à copier.

Il y a une tonne de forums et d'autres sites, juste google. Un problème avec le PIC est qu'il y a tellement de langues et aucune n'est tout à fait la même (même dans les compilateurs c) Si vous pouvez écrire une bonne question, posez-la sur piclist.com, mais faites d'abord vos devoirs. Les forums ne sont pas le meilleur endroit pour apprendre, cherchez des sites de tutoriels pour cela (encore une fois, le site bitwacher est bon, aussi google "Embedded Adventures" le gars a fait beaucoup en C (mais pas la puce électronique)


J'ai mis en signet Embedded Adventures pour quand j'ai une heure ou deux à tuer, et j'ai jeté un œil au Bitwacker pour référence future. À votre santé.
Amos

1

La carte Dwengo est basée sur le PIC18F4550, ils ont également un clone PICkit2 à faible coût et de très bons tutoriels pour vous aider à démarrer: http://www.dwengo.org/tutorials


Intéressant. Vous ne seriez pas le même Wim qui fait aussi partie de l'équipe Dwengo, n'est-ce pas?
Amos

Oui, le même ;-)
Wim

1

Pour des références à certaines choses, j'ai fait un peu de programmation avec le PIC en utilisant Pik Kit 2 Pickit 1, je recommanderais les 100 projets de microcontrôleur pour le génie maléfique, j'ai aussi quelques articles de blog qui traitent de telles choses

http://blog.onaclovtech.com/2010/01/interrupts.html

http://blog.onaclovtech.com/2010/01/analog-inputs.html

http://blog.onaclovtech.com/2010/02/pic-16f913-quick-reference-guide.html

http://blog.onaclovtech.com/2010/02/pic-16f913.html

Je prévois de publier une mise à jour SPI ainsi que lorsque je trouverai comment gérer le trafic de bus CAN à l'aide de puces à puce, j'aurai également des mises à jour.

Merci,

onaclov


Semble intéressant, je vais regarder de plus près vos affaires quand j'aurai une minute.
Amos

Je ne sais peut-être tout simplement pas où chercher tout le temps, mais j'ai l'impression que, par rapport à avr et arduino, il n'y a pratiquement pas de tutoriels sur les PIC et j'aimerais vraiment changer cela ....
onaclov2000

1

Si vous souhaitez utiliser des PIC, je considérerais sérieusement la série PIC24 de photos 16 bits ou le très similaire dsPIC33. Ils sont plus rapides, plus puissants, à bien des égards plus faciles à programmer et ne coûtent pas plus cher que les 8 bits les plus basiques. Les extrémités inférieures sont également disponibles dans des boîtiers de prise DIP conviviaux.

Il est cependant beaucoup plus difficile de trouver des exemples sur Internet, mais pour autant que je sache, c'est le principal inconvénient.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.