Iniciando a programação PIC

13

Eu estive pensando em fazer alguma programação PIC, mas, ao contrário de outros microcontroladores disponíveis, o grande número de chips diferentes disponíveis me causou alguma confusão. Parece também que alguns dos chips sugeridos em alguns sites como boas escolhas para as pessoas que começam com a programação PIC podem ter sido substituídos (ou talvez eu esteja ficando ainda mais confuso).

Então, minha pergunta se resume a três partes:

  • Qual seria um bom chip PIC para começar?

  • Estou muito feliz em fazer assembler ou alguma outra linguagem, então quais IDEs / idiomas você sugeriria para o Linux?

  • O que você recomendaria em termos de inserção do código no chip, em uma conexão USB de um laptop Linux (PicKit 2? Era uma possibilidade) e que configuração de circuito / placa precisarei para fazer isso?

Edit: Após uma longa discussão com Kortuk (ver comentários abaixo) sobre os méritos de vários bits do kit, eu decidi começar com o PicKit2 Starter Kit. Isso vem com um chip PIC16F690 instalado.

Amos
fonte

Respostas:

7

Eu concordo com os PIC18s, mas para alguém que está começando, pode ser um pouco intenso. Atualmente, ensino o desenvolvimento de PIC de engenheiros elétricos de nível sênior e, mesmo nas mesmas classes, sua gama de experiências pode ser surpreendente.

Atualmente, ensino pessoas com o compilador CCS PIC-C, mas isso custa dinheiro. É incrivelmente simples e foi escolhido, pois a maioria dos nossos alunos só trabalhou em um laboratório com montagem básica ou programação x86.

Sinto que um PIC16 muito simples pode se encaixar melhor, mas isso depende do seu histórico. O PIC16F688 é um PIC muito simples que usamos no nosso primeiro projeto para aquecer as pessoas.

Kortuk
fonte
1
Eu tenho uma licenciatura de primeira classe em computação, que incluiu muita programação (C ++ principalmente, um pouco de VB6, algum assembler). Eu também sou formado em matemática e ensino matemática para crianças do ensino médio. Eu posso e faço programas em uma variedade de idiomas (embora não C) e estou estudando várias coisas novas, incluindo jogar com microcontroladores.
Amos
1
O 16F88 é uma escolha perfeita. Há um milhão de PICs diferentes por aí, e acho que cerca de 50.000 deles são bons para começar. Os microcontroladores de programação muitas vezes possuem problemas para as pessoas que ajudei na área de CS porque elas não tiveram muitas aulas sobre eletricidade, algo que gostaria que acrescentassem aos programas de graduação. Eu não acho que a programação seja desafiadora, mas provavelmente não seria uma má escolha para você ter uma placa de desenvolvimento. Isso seria afetado pela sua faixa de preço. microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Última modificação
1
Eu acho que o último link que eu postei pode ser uma boa escolha, ele fornecerá uma placa já conectada para trabalhar por 50 dólares (-25% se você tiver um e-mail .edu) e, em seguida, você terá um programador que poderá usar para quaisquer outros chips que você receber. Estou ansioso para ouvir como vão seus projetos.
22909 Kortuk
1
Se você receber o DM164120-1, sugiro que você use o PIC que vem com ele. Estou bem no meio de ajudar alguém com um projeto que eles precisam dar aula amanhã, ou eu procuraria mais, mas em todos os lugares em que encontro seu quadro não consigo ser esquemático. Posso dizer que, com base na pinagem do PIC16F631, ele não é compatível com o PIC16F88. Os pinos de alimentação e de programação não se alinham. Se você comprar uma placa de desenvolvimento, basta usar o PIC que acompanha, você ficará significativamente mais feliz.
21909 Kortuk
2
Sim, você fez sua pesquisa bem. Minha ajuda pode ter sido um pouco equivocada. Se você quiser se molhar, uma placa de desenvolvimento é uma maneira de evitar lidar com o hardware de criar um PIC antes de estar pronto. Se você seguir esse caminho, sugiro usar o PIC que acompanha o quadro e determinar sua próxima escolha depois de estar pronto para criar seus próprios quadros. Se você quiser sua própria foto desde o início, compre um programador, a foto e tudo o que você precisa para executá-la desde o início. Você pode economizar dinheiro e usar uma tábua de pão.
21430 Kortuk
4

Para o PIC, existe um compilador de código aberto chamado JAL (Just Another Language)

Como outras linguagens de programação, permite a possibilidade de usar bibliotecas de hardware para simplificar bastante o processo de conexão do PIC escolhido a outro hardware. O software também permitirá que você compile e envie programas via seu PIC2 (ou um clone deste programador)

JAL é uma linguagem baseada em Pascal e é um software livre (sempre bom se você está apenas começando)

Entrada da Wiki JAL

Quanto aos livros, "Microcontroladores PIC, 50 projetos para iniciantes e especialistas" Por Bert Van Dam, vale uma olhada como uma introdução à JAL

Até agora, usei apenas o chip 16F877A da PIC, aparentemente um bom chip para iniciantes. Muito barato e com muitos portos disponíveis.

Justblair
fonte
Saúde, vou dar uma olhada. A JAL usa um IDE específico, existe um disponível para Linux?
Amos
1
Sim, tem um chamado JAL Editar, vai mantê-lo direito no lado de codificação e tem as ferramentas típicas que você tende a encontrar no IDE jal.sunish.net/jaledit
Justblair
Infelizmente esse é apenas o Windows, parece haver um para o Linux chamado PicShell, a versão beta atual é: linux.softpedia.com/get/Text-Editing-Processing/IDEs/…
Amos
2

Para o chip, observe a série 18F, quase tão barata quanto a 16F, muito mais coragem. 18F2550 é um chip agradável e inclui USB, existem outros da mesma série. Dê uma olhada nas tabelas de seleção de microchips no site deles.

IDE grátis do microchip, incluindo C, que você deve usar sobre o IMHO do assembler. Não tenho certeza se o IDE do microchip é executado no Linux, mas pode.

O PicKit pode ser bom para programação, pode querer gravar um gerenciador de inicialização pela primeira vez e depois carregar via USB. O Bitwacker (google it) é uma boa configuração para usar ou copiar.

Existem muitos fóruns e outros sites, apenas o google. Um problema com o PIC é que existem tantos idiomas e nenhum é o mesmo (mesmo dentro de compiladores c). Se você puder escrever uma boa pergunta, faça piclist.com, mas faça sua lição de casa primeiro. Os fóruns não são o melhor lugar para aprender, procure por sites tutoriais para isso (novamente o site bitwacher é bom, também o Google "Embedded Adventures", o cara fez muito em C (mas não o microchip)

russ_hensel
fonte
Marquei Embedded Adventures para quando tenho uma ou duas horas para matar e dei uma olhada no Bitwacker para referência futura. Felicidades.
Amos
1

O quadro Dwengo é baseado no PIC18F4550, eles também possuem um clone PICkit2 de baixo custo e alguns tutoriais muito bons para você começar: http://www.dwengo.org/tutorials

Wim
fonte
Interessante. Você não seria o mesmo Wim, que também é da equipe Dwengo, seria?
Amos
Sim, o mesmo ;-)
Wim
1

Para referências a algumas coisas, fiz uma pequena programação com o PIC usando o Pik Kit 2 Pickit 1, eu recomendaria os 100 projetos de microcontroladores para o gênio do mal, também tenho algumas postagens de blog que lidam com essas coisas

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

Eu pretendo postar uma atualização SPI, bem como quando descobrir como lidar com o tráfego de barramento CAN usando alguns chips de microchip, também terei atualizações.

Obrigado,

onaclov

onaclov2000
fonte
Parece interessante, vou dar uma olhada em suas coisas quando chegar um minuto.
Amos
Eu talvez só não sei para onde olhar o tempo todo, mas se sente como em comparação com avr e arduino praticamente não há tutoriais sobre PIC de e eu realmente gostaria de mudar isso ....
onaclov2000
1

Se você quiser usar PICs, consideraria seriamente a série PIC24 de fotos de 16 bits ou a dsPIC33 muito semelhante. Eles são mais rápidos, mais poderosos, de muitas maneiras mais fáceis de programar e não custam mais do que os mais básicos de 8 bits. Os mais baixos também estão disponíveis em pacotes de soquetes DIP compatíveis com a placa de ensaio.

É muito mais difícil encontrar exemplos na internet, mas até onde posso ver, essa é a principal desvantagem.

John Burton
fonte