Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  

Recommended Posts

Olá!

Estou querendo iniciar em PIC's.

E.. preferi começar pelo simples (obviamente ^_^) , uma placa PCI , com uns 10 LED's e o PIC , para que eu possa programar sequencias de acendimento.

Minhas dúvidas são..

Qual PIC devo comprar?

Onde posso achar um esquema de gravador de PIC's?

Quais programas uso pra poder programar o PIC?

Outra dúvida... é necessário eu fazer 2 placas separadas? Tipo..

1 Para gravar o PIC e outra com os led's pra executar o que programei?

Desde já agradeço e aguardo respostas ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite! Cara, você pode começar a programar o PIC16F84A, que é bem básico e dá conta tranquilo do que você precisa fazer e também sugiro que você programe em C, como gravador, você pode montar o seu próprio ou comprar um, no meu caso, eu comprei um PIC Burner, tá em torno de 25 pila, mas dá e sobra para quem está começando. Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Valeu , pesquisei sobre ele e parece que é esse mesmo que vou comprar.

    Tem algum projeto pra mim começar?

    Algo com LED's de preferência =D

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Supondo que você utilize o compilador CCS para desenvolver abaixo colocarei um pequeno exemplo que será um oscilador, ligado um led e desligando o mesmo a cada segundo:

    #include <16F84A.h> //Configura o modelo do PIC

    #FUSES NOWDT,HS,NOPUT,NOPROTECT //Configura os bits de inicialização

    #use delay(clock=20000000) //Cristal usado

    void main()

    {

    for(;;){ //loop infinito

    delay_ms(1000); //tempo de 1 segundo em espera

    output_low(pin_b2); //desliga o led

    delay_ms(1000);

    output_high(pin_b2);//liga o led

    }

    }

    Basta lembrar que para ligar um led diretamente a um pino do PIC, é necessário colocar em série um resistor de 470R.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Caramba CeDahmer valeu pelo exemplo =D

    Tenho algumas dúvidas...

    Tem algum problema se eu não definir o modelo do PIC?

    #include <16F84A.h> //Configura o modelo do PIC

    Como assim o cristal? Isso varia de PIC pra PIC?

    #use delay(clock=20000000) //Cristal usado

    -EDIT-

    Esqueci de perguntar?

    Já fiz a lista de componentes para comprar , farei um gravador de PIC básico para o 16F84A.

    Depois que eu montar a PCB , qual o procedimento para conectar com o PC pela Porta Serial?

    E Você falou do Compilador CCS , acho que eles são pagos certo? Não existe algum Freeware?

    Editado por Skylord_one

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    É o seguinte, esse exemplo que eu te passei é no compilador CCS, existe sim compiladores gratuitos, mas para esse PIC acreditou que so o MPLAB, fornecido pela própria microchip, mas ele é em assembler, e não em C. Os microcontroladores inicialmente foram projetados para trabalharem com códigos hexadecimais elaborados em assembler, mas se criou compiladores em outras linguagem, como C e basic, mas é claro que quem criou quer receber por isso, o CCS, é o mais usado, para que esta começando é o que mais tem exemplos no google, e mais fácil de encontrar ajuda, existe uma versão demonstrativa do CCS, e gratuita, mas só faz pequenos programas até 2 K se eu não me engano, para esse problema já seria o sufiente. Não podemos incentivar a pirataria, mas tem até quem baixa a versão completa do emule, muitos fazem isso enquanto estudam e depois compram a versão.

    No #include voc~e precissa definir o tipo do PIC, pois na verdade você está indicando uma biblioteca de funções específicas para aquele PIC.

    O cristal é conectado externamente ao PIC, ligado em série a ele ainda tem dois pequenos capacitores de 15pf ao terra. E a frequência indicado tem que ser a mesma do cristal.

    Antes de estudar comunicação entre o PIC pela porta serial, estude e pratique bastante, pois tem muitos conceitos que você ainda precissa aprender, baixe o datasheet, desse uC, e procure estudá-lo bastante.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Obrigado , estou imprimindo o datasheet agora . vai ser meu livro de noite agora ^^

    Apareceram algumas dúvidas quanto ao gravador que quero fazer..

    Aqui vai o esquema.:

    schaltbildjdm.gif

    O Que eu quero saber é.: A Alimentação do circuito é fornecida pela própria porta serial?

    CeDahmer , você me forneceu o código , mas e sobre o Hardware ? Qual circuito eu aplico aquele código? Terei que comprar o cristal?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    A alimentação é fornecido pela porta serial. Para ser mais seguro compra um gravador, no mercado livre que custa R$ 28,00 se não me engano, e não corre o risco de voc~e queimar a porta do PC, e nem o PIc, a não ser que entenda de eletrõnica analógica, ou quer montar por satisfação própria.

    As peças que terá que comprar para usar junto ao capacitor, para uma montagem mínima, precisa ser um cristal de 4 mhz, no exemplo acima de passei 20 Mhz mas se não me enganho o 16f84, só suporta 4 Mhz, mas é precisso verificar, dois capacitores de 15 pf, tome cuidado é picoFarad e não microFarad e nem nanoFarad, resistor de 10 K para o pino MCLR, leds para os testes e resistores de 470r para ligar em série com os resistores. Abaixo segue o exemplo do circuito para o programa acima, lembrando que lá o valor do cristal tem que ser mudado para 4000000.

    post-9775-13884958278796_thumb.jpg

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Valeu deixa eu ver se entendi bem...

    1º Faço uma PCI com esse circuito.

    2º Gravo o 16F84A com aquele código ( mudando o clock para 4000000 )

    3º Ligo e curto a minha primeira montagem com PIC ^^

    E A Alimentação desse circuito?

    OBS.: Depois que eu fazer isso pretendo passar pra algo intermediário.:

    Usar um LM35 com um Display LCD + o 16F84A pra poder mostrar a temperatura.

    Eu sei que é errado tentar correr antes de aprender a andar , mas se eu tropeçar volto pro andador :D

    Não sabe o quanto sou grato pela ajuda ^^ Vou deixar o tópico em aberto para poder solucionar futuras dúvidas.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    É isso aí...

    A alimentação é feita com 5V, e 0V, não lembro qual são os pinos desse PIC para a alimentação, você encontrara fácil no datasheet, ou no amigo google, tome cuido que os PICs só aceitam no máximo 5,5V, mais que isso queima, com o tempo você verá os problemas que surgem, mas vai devagar, mas com um objetivo grande, e corra atrás. De preferência compra várias peças sobresalentes, pois são baratas, com certeza queimará algumas delas tentando, eu queimei vários PICs, e olha que começei com os de 40 pinos, que são mais caros.

    Boa sorte... e qualquer coisa conte com a ajuda dos amigos daqui. Eu sempre faço isso.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Eita , não demorou muito pra surgir uma dúvida :P

    Procurei e vi que VCC / VDD = Positivo (+)

    VEE/ VSS = Negativo (-)

    A Informação é correta?

    Já tenho a fonte de 5V , só fazer essa ligação?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    olá. voltando ao início do começo do princípio do tópico considere usar pic16f628 (o f84 é meio que obsoleto), mplab e proteus no teu início de carreira. passe os olhos sobre o asm rapidão MESMO! (pode até pular esta parte) logo em seguida, use o mikroc que tem muitos exemplos e continue simulando no proteus. depois parta para a parte prática. gravador tem às pencas na net. já tive sucesso com jdm e ic-prog.

    se eu perguntar se já visitou www.microchip.com vai me chingar? então faça de conta que não perguntei.

    sucessos!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Valeu deixa eu ver se entendi bem...

    1º Faço uma PCI com esse circuito.

    2º Gravo o 16F84A com aquele código ( mudando o clock para 4000000 )

    3º Ligo e curto a minha primeira montagem com PIC ^^

    E A Alimentação desse circuito?

    OBS.: Depois que eu fazer isso pretendo passar pra algo intermediário.:

    Usar um LM35 com um Display LCD + o 16F84A pra poder mostrar a temperatura.

    Eu sei que é errado tentar correr antes de aprender a andar , mas se eu tropeçar volto pro andador :D

    Não sabe o quanto sou grato pela ajuda ^^ Vou deixar o tópico em aberto para poder solucionar futuras dúvidas.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • olá. voltando ao início do começo do princípio do tópico considere usar pic16f628 (o f84 é meio que obsoleto), mplab e proteus no teu início de carreira. passe os olhos sobre o asm rapidão MESMO! (pode até pular esta parte) logo em seguida, use o mikroc que tem muitos exemplos e continue simulando no proteus. depois parta para a parte prática. gravador tem às pencas na net. já tive sucesso com jdm e ic-prog.

    se eu perguntar se já visitou www.microchip.com vai me chingar? então faça de conta que não perguntei.

    sucessos!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Será que alguém poderia me responder isso .:

    Eita , não demorou muito pra surgir uma dúvida

    Procurei e vi que VCC / VDD = Positivo (+)

    VEE/ VSS = Negativo (-)

    A Informação é correta?

    Já tenho a fonte de 5V , só fazer essa ligação?

    A informação está correta. Pode fazer a ligação.

    e outra.: Cristal de 4.000Mhz não é de 4Mhz certo? ( Daqui a uns anos quando eu aprender mais sobre eletrônica , vou falar meu deus eu era muito mula pra perguntar isso )

    Os cristais de 4.000MHz não são 4GHz. O ponto é uma vírgula. Até porque nunca vi cristais de 4GHz.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Apenas um comentário. Sim existe um compilador gratuito para PIC16f. É da Hi-TECH C, e se não me engano quando você instala o MPLAB ele pergunta se você quer instalar. Qualquer coisa o link é este: LINK

    A versão LITE não tem limite de codigo, apenas não otimiza ao maximo.

    Comentario 2: Eu compraria um PIC da familia 18F apenas pela reutilização do mesmo. Você poderá utilizar o mesmo PIC para muitos mais projetos. Ele não é muito mais complexo do que a familia 16f, porém tem BEM mais recursos de memoria e perifericos.

    Abs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Ajuda ai nesse circuito...

    Vi na revista Elektor de Dezembro/Janeiro , um circuito muito interessante , que usa apenas um PIC 16F616 , 8 Resistores e 7 Led's pra criar uma Mensagem Flutuante .

    Você monta isso em uma placa e liga , e sacode a placa na horizontal e a palavra aparece ,com a devida gravação do PIC Claro ^_^

    Aqui vai o Esquema.:

    circuitotm.th.jpg

    esquemay.th.jpg

    O Que eu queria saber é o seguinte , no site da ELEKTOR tem para baixar uma planilha que é usada para criar o código da palavra e gravar no PIC , e um arquivo .hex e um arquivo .bas

    message_flotant.hex

    message_flotoant.bas

    font_generator.xls <- Planilha pra criar o código da palavra.

    O Que são esse .hex e .bas? Devo gravá-los no PIC?

    -EDIT-

    AH! Esqueci de pedir...alguém tem algum circuito gravador de PIC16F616?

    Editado por Skylord_one

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Eu ja programo pic a quase 1 ano, uso o modelo 16F690. Faço projetos dos mais diversos e estou pensando em migrar para um 18F4550, tanto pelo usb, quanto pelo adicional de 40 pinos e uma vastidão de recursos que não há no meu atual. Se topar se arriscar indicaria ocmeçar ocm o 18F direto, pois futuramente tem bem mais proveito.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Ajuda ai nesse circuito...

    Vi na revista Elektor de Dezembro/Janeiro , um circuito muito interessante , que usa apenas um PIC 16F616 , 8 Resistores e 7 Led's pra criar uma Mensagem Flutuante .

    Você monta isso em uma placa e liga , e sacode a placa na horizontal e a palavra aparece ,com a devida gravação do PIC Claro ^_^

    Aqui vai o Esquema.:

    circuitotm.th.jpg

    esquemay.th.jpg

    O Que eu queria saber é o seguinte , no site da ELEKTOR tem para baixar uma planilha que é usada para criar o código da palavra e gravar no PIC , e um arquivo .hex e um arquivo .bas

    message_flotant.hex

    message_flotoant.bas

    font_generator.xls <- Planilha pra criar o código da palavra.

    O Que são esse .hex e .bas? Devo gravá-los no PIC?

    -EDIT-

    AH! Esqueci de pedir...alguém tem algum circuito gravador de PIC16F616?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Já fiz o gravador , só falta o PIC :lol:

    Alguém tem mais circuitos que usem PIC 16F84A?

    Valeu ^^

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Eu costumo usar o PICwizard do proprio CSS, mas desta vez eu pesquisei os fuses e tentei fazer um pisca com interrupção, sei que a velocidade que vai piscar é rápido, mas a intenção é só ver se funciona mesmo. Podem conferir itens como FUSES, CLOCK, INT que nao sei bem como faz.

    #include <16F690.h>
    #fuses RC,NOWDT,PUT,NOMCLR,NOPROTECT,NOCPD,NOBROWNOUT
    /*oscilador interno

    SEM:
    master clear
    watch dog
    code protect
    data protect
    brownout reset

    COM:
    power up timer*/
    #use delay(clock=4000000)
    #define led PIN_A0

    #INT_T0
    voit T0_isr(void)
    {
    output_toggle(led);
    }


    void main(void)
    {
    setup_timer_0(T0_INTERNAL|T0_DIV_BY_256);
    enable_interrupts(GLOBAL);
    enable_interrupts(INT_T0);
    output_low(led);
    while(1);
    }

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Corrigindo o código do EDU, temos uma interrupção que o LED pisca a cada 1 Segundo:

    #include <16F690.h>
    #fuses INTRC_IO,NOWDT,PUT,NOMCLR,NOPROTECT,NOCPD,NOBROWNOUT

    #use delay(clock=4000000)

    #define led PIN_B7

    int aux;

    #INT_TIMER0
    void trata_int(void)
    {
    if (aux > 16)
    {
    output_toggle(led);
    aux = 0;
    }
    aux++;
    }


    void main(void)
    {
    setup_timer_0(RTCC_INTERNAL |RTCC_DIV_256);
    enable_interrupts(GLOBAL);
    enable_interrupts(INT_TIMER0);
    output_low(led);
    while(1);
    }

    Falou

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×