PIC18DevBoard: simulando placa de desenvolvimento para PIC18

Estou trabalhando em algumas "placas" de desenvolvimento simuladas no Proteus VSM. O objetivo destes projetos é desenvolver plataformas de baixo custo para iniciantes em microcontroladores, junto com códigos de exemplo simples mostrando os primeiros passos para no desenvolvimento de sistemas embarcados.
A primeira plataforma traz um PIC18, muito difundido entre estudantes e hobbistas. A placa ainda não está completa, mas já possui recursos suficientes para testarmos muitas características do microcontrolador.

PIC18DevBoard

Download

[DOWNLOAD]

Esse pacote trás os projetos de hardware e firmware. Apenas descompacte o arquivo no local que preferir.


Hardware

A primeira versão da placa traz os seguintes recursos:
  • PIC18F4520;
  • 4x LEDs;
  • 4x chaves;
  • LCD 16x2;
  • Potenciômetro para conversor A/D;
  • Terminal serial;
  • EEPROM SPI 512 kbit.
Utilize o Proteus ISIS 7 para abrir a placa localizada no caminho: "PIC18DevBoard\Board".
Mais recursos serão adicionados ao hardware nas próximas versões.


Firmware

Para facilitar o trabalho com o microcontrolador e prever compatibilidade, estou escrevendo bibliotecas de drivers. Estas bibliotecas fazem uma interface entre o programa escrito pelo usuário e o hardware do microcontrolador.
Nessa versão inicial estão disponíveis 5 projetos de exemplo:
  • BasicDemo: código fonte com o mínimo necessário para ler uma entrada e ativar uma saída do PIC18. Sugiro que iniciantes comecem por este exemplo;
  • InputOutput: praticamente as mesmas funções do BasicDemo, mas utiliza o driver de I/Os e manipula mais entradas e saídas;
  • HelloLCD: imprime uma mensagem no LCD, utilizando o driver;
  • HelloSerial: imprime uma mensagem no terminal serial, utilizando o driver UART;
  • ADConverter: exemplo mais completo, lê a tensão do potenciômetro por meio do conversor A/D e mostra o resultado nos LEDs, no LCD e no terminal serial;
Mas tenha em mente: o uso desse tipo de bibliotecas facilita o desenvolvimento, mas limita o aprendizado.
Utilize o MPLAB X IDE para abrir os projetos. Os projetos de exemplo estão localizados no caminho: "PIC18DevBoard\Firmware\Examples".
Em breve irei escrever postagens dedicadas para cada exemplo, explicando cada um com detalhes, além de mais exemplos utilizando os demais recursos do microcontrolador.


Toolchain

Os projetos foram testados utilizando o MPLAB X IDE, e duas opções de compilador: MPLAB C18 e SDCC. As versões utilizadas foram as seguintes (clique nos links para downloads):
Porém o projeto não deve se limitar a essas ferramentas e essas versões.


Compilando e executando os exemplos

Vamos utilizar o exemplo "HelloLCD" para demonstração:

1 - Inicie o MPLAB X e selecione "File->Open Project...";


2 - Localize a pasta "PIC18DevBoard\Firmware\Examples\HelloLCD.X" e clique em "Open Project";


3 - Agora vamos compilar o projeto. Selecione "Run->Clean and Build Prject (HelloLCD)";


4 - Após o processo de compilação terminar, devemos obter um resultado semelhante ao da figura abaixo;


5 - Com o firmware compilado, vamos executar a simulação no Proteus ISIS. Inicie o Proteus e selecione "File->Open Design...";


6 - Localize o arquivo em "PIC18DevBoard\Board\PIC18DevBoard.DSN" e selecione "Abrir";


7 - Com o projeto aberto, clique com o botão direito sobre o PIC18F4520 e selecione "Edit Properties";


8 - Na janela de propriedades do componente, clique no ícone com o símbolo de uma pasta;


9 - Localize o arquivo "PIC18DevBoard\Firmware\Examples\HelloLCD.X\dist\PIC18DevBoard_C18\production\
HelloLCD.X.production.cof" e selecione "Abrir". Esse é o arquivo binário que seria gravado no microcontrolador. Depois clique em "OK";


10 - Pronto, agora é só iniciar a simulação clicando no botão "PLAY", no canto inferior direito da tela.


O resultado esperado é que o microcontrolador imprima as seguintes mensagens no LCD:


Para os demais exemplos, siga o mesmo passo-a-passo.


Colaborações são bem vindas! Não hesite em propor melhorias e correções.

5 comentários:

  1. Cesar muito obrigado pelo material mais baixei o arquivo em winrar e nao tem nada na pasta dist

    ResponderExcluir
    Respostas
    1. Olá amigo!
      O arquivo que você baixou é o "PIC18DevBoard-0001.zip"?
      Muito obrigado pelo interesse e vamos fazer isso funcionar!

      Excluir
    2. VOCÊ LEMBRA DESSE;
      PIC18 Dev Board: simulando placa de desenvolvimento para PIC18
      http://labdegaragem.com/group/pic/forum/topics/pic18devboard-simulando-placa-de-desenvolvimento-para-pic18?commentId=6223006%3AComment%3A205458&xg_source=msg_com_gr_forum
      EU DISSE Á VOCÊ O SEGUINTE:
      Cesar, Inicialmente, eu pensei em PIC, mas como me disseram que arduino era mais fácil, ai estou em arduino agora,
      Mas legal a sua atitude.
      SUA RESPOSTA:

      Legal Eduardo, e como está seu avanço?

      Se quiser começar a mexer com o PIC18 também, tem todo o meu apoio. Os códigos estão comentados em português e acho que bem simples de entender.
      Coloquei o projeto em anexo na postagem.

      VOCÊ TEM TEMPO E PACIÊNCIA PARA ME AJUDAR? ESTA TRABALHANDO?

      Poderia me responder no meu e-mail? miragempro@hotmail.com
      abraço

      Excluir

  2. Estou muito interessado em aprender PIC, será que conseguirei a ajuda suficiente para apreender? tenho um projeto que vi que tem pouco material na internet a respeito, que é sobre balanças eletrônicas ( digital )
    O que acha de fazer ele aqui? Assim eu apreenderia e outros a trabalhar com balanças? o sistema de pesagem é útil para varias coisas na automação industrial, e seria um material quase inédito na inter, pesquisei muito e não tem quase nada na internet. Não sei fazer sozinho, caso aja interesse seu em postar aqui, me envie um e-mail miragempro@hotmail.com Trata-se de parte de um projeto meu, mais detalhe lhe forneço depois. Abraço Eduardo

    ResponderExcluir
  3. Ok, excelente postagem, me ajudou bastante.

    ResponderExcluir