Electrotécnica
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
CBOX-Shout
junho 2024
SegTerQuaQuiSexSábDom
     12
3456789
10111213141516
17181920212223
24252627282930

Calendário Calendário

Procurar
 
 

Resultados por:
 


Rechercher Pesquisa avançada

Quem está conectado?
9 usuários online :: 0 registrados, 0 invisíveis e 9 visitantes

Nenhum

O recorde de usuários online foi de 34 em Dom Ago 13, 2023 1:30 pm
Estatísticas
Temos 318 usuários registrados
O último membro registrado é Buggsoulmitor

Os nossos membros postaram um total de 1475 mensagens em 209 assuntos

Dicas de introdução à programação de PICs

3 participantes

Ir para baixo

Dicas de introdução à programação de PICs Empty Dicas de introdução à programação de PICs

Mensagem  ATGomes Ter Ago 14, 2012 10:32 pm

Com este tópico apenas pretendo dar as dicas mais básicas de como programar PICs. É aconselhável que já se tenha um conhecimento prévio do que é um microcontrolador PIC, quais as várias famílias, principais características, etc. Este texto em pt-br explica bem essa parte (link). É também importante que se esteja registado no site da Microchip (http://www.microchip.com/).

Há muitas maneiras de programar PICs, com diferentes softwares, diferentes programadores, diferentes compiladores, etc, no entanto neste texto vou seguir um caso em particular.

1- Para produzir o código aconselho o MPLAB IDE, que está disponível gratuitamente no site da Microchip. Para compilar depende da família do microcontrolador, mas para cobrir as famílias 16F e 18F (mais utilizadas) os suites HI-TECH ou Microchip XC8 devem ser suficientes. De qualquer modo uma pesquisa pelo site da Microchip deve fornecer software suficiente.

2- Para simular o firmware produzido o Proteus é bastante útil. Procurem isso na net Wink

3- Para programar os microcontroladores fisicamente existe uma gama muita variada de hardware que pode ser utilizado. Neste tópico (link) está um exemplo.

Como existem centenas de tutoriais disponíveis por todo o lado não era muito vantajoso eu ir fazer outro. Deixo aqui (link) um entre muitos outros, também em pt-br.

Agora o que era interessante era as pessoas partilharem as suas dúvidas e os seus conhecimentos caso a caso conforme forem avançando na programação de PICs.
ATGomes
ATGomes
Fundador
Fundador

Mensagens : 460
Data de inscrição : 28/09/2011
Idade : 33
Localização : Zona Centro

http://electroforuns.vacau.com

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  João_Ferreira Qua Ago 15, 2012 9:12 pm

Boas

Bem, eu estou bastante interessado em começar a trabalhar com PIC's, mas realmente a minha experiência e contacto a esse nível é muito reduzido...

Como tal, se alguém aqui puder dar algumas dicas, de material básico e inicial que se possa comprar e onde, para fazer projectos básicos, era óptimo uma ajuda Wink

Abraço
João Ferreira
João_Ferreira
João_Ferreira
Nível 2
Nível 2

Mensagens : 7
Data de inscrição : 08/08/2012

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  ATGomes Qua Ago 15, 2012 11:09 pm

João_Ferreira escreveu:Boas

Bem, eu estou bastante interessado em começar a trabalhar com PIC's, mas realmente a minha experiência e contacto a esse nível é muito reduzido...

Como tal, se alguém aqui puder dar algumas dicas, de material básico e inicial que se possa comprar e onde, para fazer projectos básicos, era óptimo uma ajuda Wink

Abraço
João Ferreira

O material básico aconselho-te a procurares no eBay, principalmente se não tiveres muita pressa pois as coisas podem demorar um bocado (muito) a chegar. Inscreve-te no site da Microchip com o teu mail da universidade para poderes mandar vir os microcontroladores gratuitamente (através do programa de free samples) ou até comprares algumas coisas que queiras que tenham qualidade garantida (estudantes universitários têm desconto de 20 ou 25%, não me lembro bem).

O material básico pode depender muito do que queres fazer, mas o essencial é mesmo o microcontrolador (Microchip) e um programador de PICs (eBay ou Microchip). Vais também precisar de uma placa para fazeres as montagens (eBay), componentes electrónicos básicos, principalmente resistências/potenciómetros, condensadores, díodos, LEDs e transístores (eBay) e outros componentes como amplificadores operacionais e outros CIs. Para isso inscreve-te, por exemplo, no site da Texas Instruments ou da Maxim, eles também têm programas de free samples para esse tipo de componentes.

Vai procurando as coisas e se tiveres alguma dúvida, com o funcionamento do eBay ou outro site diz! Wink

Entretanto, nada te impede de agarrares no MPLAB e no Proteus e começares a experimentar umas coisas!

Qualquer coisa diz!
ATGomes
ATGomes
Fundador
Fundador

Mensagens : 460
Data de inscrição : 28/09/2011
Idade : 33
Localização : Zona Centro

http://electroforuns.vacau.com

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  João_Ferreira Qui Ago 16, 2012 3:17 pm

E qual microcontrolador, programador de PIC's e placa para montagens devo comprar? A nível de equipamento estou à nora xD

Abraço
João_Ferreira
João_Ferreira
Nível 2
Nível 2

Mensagens : 7
Data de inscrição : 08/08/2012

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  ATGomes Qui Ago 16, 2012 4:08 pm

João_Ferreira escreveu:E qual microcontrolador, programador de PIC's e placa para montagens devo comprar? A nível de equipamento estou à nora xD

Abraço

Microcontrolador: manda vir uns da família 16F e outros da família 18F, por exemplo 16F688 e o 18F4550. Para isso fazes login no site da microchip, e depois vais a parte de samples, http://www.microchip.com/samples/. Aí escolhes o que queres e mandas vir. A encomenda chega no máximo numa semana.

Programador: se quiseres material com qualidade garantida e que não te dê problemas, aconselho-te o PicKit 2 ou 3, http://www.microchipdirect.com/ProductDetails.aspx?Catalog=BuyMicrochip&Category=PICKit%20Debugger%20or%20Programmer&mid=1&treeid=6. Se não também há muito bom material no eBay, por exemplo http://www.ebay.com/itm/PIC-USB-Automatic-Programming-Develop-Microcontroller-Programmer-K150-ICSP-/320959514638?pt=LH_DefaultDomain_0&hash=item4abaad880e ou http://www.ebay.com/itm/iCP02-USB-Microchip-PIC-dsPIC-Programmer-3-3V-5-0V-/280686678976?pt=LH_DefaultDomain_0&hash=item415a3ad3c0.

Placa de montagens: a breadbord pode ser uma qualquer por exemplo esta http://www.ebay.com/itm/Breadboard-830-Point-Solderless-PCB-Bread-Board-MB-102-MB102-Test-Develop-DIY-/280918919308?pt=LH_DefaultDomain_0&hash=item416812888c#ht_2613wt_1271. Mas manda vir mais do que uma porque deres por ti já não tens espaço para nada.

Importante também é não te esqueceres de comprar uns LEDs, por exemplo estes http://www.ebay.com/itm/370412399989?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 que até já trazem as resistências para 10V. Os LEDs são importantes porque se fores seguir exemplos da net, a maior parte dos exemplos mais básicos que se podem construir com PICs envolve acender, apagar ou piscar LEDs lol!
ATGomes
ATGomes
Fundador
Fundador

Mensagens : 460
Data de inscrição : 28/09/2011
Idade : 33
Localização : Zona Centro

http://electroforuns.vacau.com

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  João_Ferreira Qui Set 06, 2012 1:11 am

Quanto ao Proteus, que versão devemos usar? Onde arranjaste?
Qualquer dicar seria óptimo Wink


Abraço
João_Ferreira
João_Ferreira
Nível 2
Nível 2

Mensagens : 7
Data de inscrição : 08/08/2012

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  ATGomes Sex Set 07, 2012 1:08 pm

João_Ferreira escreveu:Quanto ao Proteus, que versão devemos usar? Onde arranjaste?
Qualquer dicar seria óptimo Wink


Abraço

Eu tenho a 7.8 SP2. Procura na net, até no youtube deves encontrar uns links porreiros Wink
ATGomes
ATGomes
Fundador
Fundador

Mensagens : 460
Data de inscrição : 28/09/2011
Idade : 33
Localização : Zona Centro

http://electroforuns.vacau.com

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  João_Ferreira Sáb Set 08, 2012 5:37 pm

Ora bem, então é assim já tenho o proteus e já está a funcionar.

Já estive a experimentar o proteus, e parece fácil de usar. Agora o problema, é que queria fazer um pequenino "programa"/teste a isto tudo, mas não faço ideia como começar.

Também já tentei funcionar com o MPLAB, mas não estou a perceber muito bem como funciona. Tive a ler uns tutoriais e supostamente no proteus precisamos de um ficheiro para simular, que supostamente terá sido compilado no mplab, se é que entendi bem, no entanto não sei como compilar lá :S

Se me pudessem ajudar neste 1º "projecto" era nice, visto que tou a zeros...

Deixo aqui já o material que tenho:
PIC16F688
PIC18F4550
PICKIT2
LEDS e resistencias e breadboard
MPLAB e XC8
Proteus

Abraço
João
João_Ferreira
João_Ferreira
Nível 2
Nível 2

Mensagens : 7
Data de inscrição : 08/08/2012

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  ATGomes Dom Set 09, 2012 12:22 am

Pronto já dá para fazeres uma montagem muito simples para fazer um LED piscar, por exemplo Wink

Vou te tentar aqui deixar os passos básicos para fazeres o teu 1º projecto.

  1. Abres o MPLAB e em Project escolhes o Project Wizard.
  2. Clicas em seguinte e escolhes PIC16F688
  3. Clicas em seguinte novamente e em Active toolsuite escolhes "Microchip XC8 Toolsuite"
  4. Clicas em seguinte outra vez e em Create New Project File escolhes a directoria onde vai ficar o teu projecto e dás-lhe um nome
  5. Continuas a clicar em seguinte até ao fim. Clicas em concluir.


Pronto agora que tens o projecto criado está na hora de lhe adicionares ficheiros.

Vais a File->New. Isso abre-te uma janela de editor de texto. É aqui que vais escrever o teu código em C. Escreves em comentário algumas informações sobre o projecto, por exemplo:
Código:
/****************************************************************
*                                                              *
*   Ficheiro: main.c                              *
*   Data: 17/08/2012                                            *
*   Versão: xxx                                                *
*                                                              *
*   Autor: André Teixeira Gomes                                *
*                                                               *
*****************************************************************
*                                                               *
*   Arquitectura: Mid_range PIC                                *
*   Processador: 16F688                                        *
*   Compilador:                                                *
*                                                *
*****************************************************************
*                                                              *
*   Ficheiros necessários: nenhum                              *
*                                                              *
*****************************************************************
*                                                              *
*   Descrição:                                                  *
*                                                              *
*****************************************************************
*                                                              *
*   Pinos utilizados:                                          *
*                                                              *
****************************************************************/

Agora vais a File->Save As, escolhes a directoria e dás um nome ao teu ficheiro. Não te esqueças de colocar .c no fim do nome!

Pronto agora já tens o teu ficheiro main criado tens que o adicionar ao projecto. Na janela que aparece no canto superior direito carregas com o botão direito em cima de Source Files e escolhes Add Files. Escolhes o ficheiro que criaste antes e adicionas.

Já tens o teu projecto criado e com o ficheiro que tem o código adicionado. Agora tens que criar o código que faça o que queres. Para fazer isso tens que ler com algum pormenor a datasheet do PIC16F688 (que podes sacar do site da microchip) e ainda o ficheiro header "pic16f688" que deves ter algures aqui: C:\Program Files (x86)\HI-TECH Software\PICC\9.83\include. Esse ficheiro é importante pois contém todos os nomes dados aos dispositivos internos e portas do PIC.

Aqui está um exemplo de código:
Código:
#include <htc.h> //o ficheiro htc.h basicamente inclui todas as bibliotecas standard
#define _XTAL_FREQ 4000000 // frequência do oscilador 4MHz

/*****CONFIGURAÇÃO*****/
__CONFIG(MCLRE_ON & FOSC_INTOSCIO & BOREN_OFF & CP_OFF & PWRTE_OFF); http://v9.83

void main(void)
{

  //Inicialização
  TRISC = 0b111011; //configura RC2 (apenas) como saída
  PORTC = 0b000000; //RC2 inicialmente desligado

  //cliclo principal
  while(1)
  {
   PORTC = 0b000100; //liga RC2
   __delay_ms(200); //espera 0.2 segundos
   PORTC = 0b000000; //desliga RC2
   __delay_ms(800); //espera 0.8 segundos
  }
}

Para perceberes a parte do "__CONFIG(..." tens que ler o ficheiro que te disse acima, mas resumidamente é para configurar o funcionamento do PIC.

De resto eu tentei comentar tudo mais ou menos a explicar o que faz cada linha de código, com o hábito vai ficar tudo muito mais natural Wink

Pronto o que o código acima faz é ligar a porta RC2 (vê a datasheet do PIC) 0.2 segundos e desligar durante 0.8.

Gravas o ficheiro (Ctrl + S). Agora tens que compilar o projecto. Para isso vais a Project->Build.

Agora na pasta onde tens o projecto já deves ter mais alguns ficheiros, entre eles um ficheiro .hex, é esse ficheiro que vais gravar no PIC. No entanto, embora esse ficheiro .hex possa funcionar com alguns programadores é melhor habituares-te a criar o ficheiro .hex da seguinte forma: File->Export->OK. O ficheiro criado agora é o que vais colocar na PIC no Proteus.

A parte de criação do programa está feita! Agora vamos simular. Abre o Proteus (ISIS), vai a Pick Devices (P) e adiciona os seguintes componentes: PIC16F688, resistência de 330 ohms (por exemplo) e um LED (Library ACTIVE->Animated LED model).

Com estes componentes na lista de devices podes agora fazer a montagem. Não te esqueças de ligar o LED ao Ground. Agora tens que adicionar o firmware que criaste ao PIC. Para isso carregas duas vezes no PIC e em Program File metes o teu ficheiro .hex. Verifica se em Processor Clock Frequency está 4Mhz, se não estiver mete.

Pronto está tudo feito. Podes iniciar a simulação clicando na setinha de "Play" no canto inferior esquerdo.

Se estiver tudo a funcionar como esperado estás pronto a trazer isso para a realidade Razz

Agarra na breadboard e faz a montagem que tinhas no Proteus com a diferença de que agora tens que ligar uma fonte de +5V ao pino 1 (Vdd) e o Ground ao pino 14 (Vss). Faz questão de ligar o Ground antes de aplicares tensão ao chip.

Pronto e é tudo, assim que tiveres aplicado os 5V ao Vdd o LED deve acender (não te esqueças da resistência! deves colocar um valor adequado para que não tenhas muita corrente a passar pelo LED, algo na ordem dos 20mA é bom) durante 200ms e ficar apagado os seguintes 800 sucessivamente.

Isto é do mais básico que podes fazer, a partir daqui é fácil complicar, por exemplo, adicionar interruptores para acender e apagar LEDs ou fazeres efeitos bonitos tipo luzes de natal, basta adicionar mais umas linhas de código.

Não sei se está muito confuso mas qualquer dúvida diz.

Boa sorte!


PS: esqueci-me de te explicar a parte de programar o PIC LOL mas se tens o Pickit2 tens que fazer as ligações assim:

Dicas de introdução à programação de PICs Connec10

Depois no programa PICkit 2 Programmer aquilo deve detectar-te qual o chip que tens ligado, fazes File->Import Hex e carregas no botão Write. Bastante simples! Wink
ATGomes
ATGomes
Fundador
Fundador

Mensagens : 460
Data de inscrição : 28/09/2011
Idade : 33
Localização : Zona Centro

http://electroforuns.vacau.com

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  João_Ferreira Qua Set 12, 2012 2:43 pm

Bem, após algum tempo e algumas tentativas lá consegui acender o LED! tongue

Graças a esse grande tutorial que escreveste! Wink

Aqui fica a imagem do LED ligado!

Dicas de introdução à programação de PICs 2012_09_12_15_28_12


Tenho aqui também o vídeo do LED a piscar. Noto um problema parece que está a funcionar tudo bem, mas existe um periodo de tempo em que ele fica mais tempo ligado do que era suposto... Já agora está com delay de 500ms em ambos

Dicas de introdução à programação de PICs SmPZk
João_Ferreira
João_Ferreira
Nível 2
Nível 2

Mensagens : 7
Data de inscrição : 08/08/2012

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  electr0 Sáb Out 06, 2012 6:51 pm

Como ficou isso João? Nunca mais ninguém disse nada...
avatar
electr0
Nível 3
Nível 3

Mensagens : 16
Data de inscrição : 14/12/2011

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  João_Ferreira Qua Jan 09, 2013 5:34 pm

Acabei por conseguir ligar o LED, no entanto fiquei com aquele pequeno bug do LED piscar umas vezes mais depressa do que outras.

Não fiz mais nenhum projecto pois o PC avariou-se na altura e depois começaram as aulas. Quando tiver mais tempo volto a dedicar-me Smile
João_Ferreira
João_Ferreira
Nível 2
Nível 2

Mensagens : 7
Data de inscrição : 08/08/2012

Ir para o topo Ir para baixo

Dicas de introdução à programação de PICs Empty Re: Dicas de introdução à programação de PICs

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos