Ir ao conteúdo
  • Cadastre-se

Programar PIC em C


CIS

Posts recomendados

ola a todos! bom, não sou um profissional mas estou tentando entrar para programação...ja li bastante sobre linguagem C e agora pretendo começar com pequenas coisas... gostaria de começar com algo que eu imagino ser simples, mas como não tenho experiencia vim parar aqui programar um

PIC 12F675 I/P, para funcionar como temporizador. Se alguem puder me da dicas, o projeto é fazer ele ficar 2 horas desligado e 5 segundos ligados,passado os 5 segundos ele volta ao estado desligado, para funcionar de novo por 5 segundos depois de 2 horas desligado... na verdade eu nem sei por onde começar...mas vou ler o maximo e tentar... e depois vem a parte de programação, ainda não encontrei um compilador "bom" para C...dicas por favor...

Link para o comentário
Compartilhar em outros sites

um compilador excelente é o PIC C Compiler, tem algumas versão que você pode achar que são gratuitas, mas como sempre tem suporte para menos PICs. Se quer uma boa dica comece programando um 16F877A, ele é o rei para os iniciantes, tem tudo e mais um pouco do que você precisa.

próxima dica use o real PIC simulator ou o proteus para simular seu circuitos antes. E por ultimo e super importante tenha em mão um gravador de PIC.

um detalhe sobre programar um PIC é que se você esta usando o PIC C compiler você trabalha com o C na sua mais pura forma, tem funções que PIC tem e o PC não tem.

E aqui vai um aviso não tente usar o mikro C compiler, por que ele só vai te causar dor de cabeça, ele deixa no automático coisas que você quer poder controlar, ele não suporta várias funções do C e ele tem funções próprias dele que só ele usa. em resumo é um compilador de C que não trabalha com C.

Link para o comentário
Compartilhar em outros sites

um compilador excelente é o PIC C Compiler, tem algumas versão que você pode achar que são gratuitas,

Me chamem de antiquado e tal, mas é burrice pular direto pro C sem sequer dar uma olhadinha na arquitetura do PIC sem começar escovando bit la no assembly acho muito mais proveitoso você conhecer primeiro teu hardware depois vai subindo e outra aprendeu assembly uma vez para entender um outro microcontrolador você nunca vai apanhar tanto quanto das vezes anteriores.

Se quiser pular pro C mesmo assim, você quem sabe, so uma dica, cuidado com o PICC, a vantagem dele é ao mesmo tempo o principal defeito que é te dar tudo pronto, ja cansei de ver camarada aqui que no dia em que o LCD usa 4 e não 8 vias, simplesmente não sabe mais fazer nada...portanto olho nisso...se quer um compilador C use o PICC com moderação nas suas funções prontas ou use um compilador C com norma ANSI como o HITECH.

EDIT.: Gravador, digita PICKIT2 no google, é um projeto open source da microchip com dezenas de projetos na internet pra você mesmo montar (muito simples mesmo) ele grava todas as familiaas além de ser USB.

Abs.

Link para o comentário
Compartilhar em outros sites

Beleza!Como eu disse, estou começando e as primeiras apostilas que li eram em C, por isso achei que deveria ir direto no C...mas tudo bem, toda dica é bem vinda, vou procurar um material em ASSEMBLY para ver o que eu consigo aprender, tambem vou ver os gravadores sugeridos...

Mas agora as duvidas,

_Da para iniciar programando PIC 12F675 I/P em ASSEMBLY ?

Ja vi que não sei quase nada mesmo...kkkkkkkkkkk

sera que alguem tem um exemplo de um programa em assembly, que seja a nivel de iniciante, para começar com esse PIC?

Link para o comentário
Compartilhar em outros sites

Com esse PIC olha iniciante meeesmo não sei se e mas esse cara aqui adora programar em Assembly pra PIC:

http://www.dm.ufscar.br/profs/waldeck/pic/

Tem também um ebook super legal que explica tudo da arquitetura do PIC e sua programacão em Assembly, é muito boa pra comecar a andar, só que e mais generico:

http://www.mikroe.com/eng/products/view/11/book-pic-microcontrollers/

Esse ai é sem dúvida um dos melhores materias que ja encontrei em assembly,

por ultimo nao pode faltar o datasheet pra você conhecer os registradores e a arquitetura do PIC de perto:

http://ww1.microchip.com/downloads/en/devicedoc/41190c.pdf

E isso se quer mesmo aprender então faça direito, ai depois de escovar um pouco os bits vcpula pra linguagem de programacao que mais gostar.

Abs.

Link para o comentário
Compartilhar em outros sites

Eu concordo plenamente com o amigo felipe ,mas ca entre nos vai,o camarada iniciante quando começa estudar asm ,logo desiste e parte para c,a primeira vista é muito complicado.Eu iniciei em asm,mexi um pouco ,alguns projetinhos,depois basic ,agora uso o picc em c.... muito bom...Mais siga as dicas dos amigos e comece pelo começo.Abraços..

Link para o comentário
Compartilhar em outros sites

ok! ja to vendo umas apostilas de assembler.... mas ainda estava tentando algo com C, um desses programinhas do começo, tentando faze-lo no DEV C++...

#include<stdio.h>

/*Meu inicio em programação*/

int main()

{

printf("Ola!Eu estou aprendendo a programar!\n");

return(0);

}

mas quando eu compilo de tento executar ele não fica na tela, apenas pisca na tela bem rápido, eu o fiz conforme ta na apostila aqui...

alguem tem uma dica???

Link para o comentário
Compartilhar em outros sites

Certo Felipe, mas eu não sei muito, na verdade nada....

sera que você poderia escrever esse programa pra eu ver como ficaria? e pra eu mudar ou acrescentar mais palavras, é so mudar o que estiver entra as aspas??

informações assim vai me ajudar muito cara!!!

valeu !

Link para o comentário
Compartilhar em outros sites

Da para iniciar programando PIC 12F675 I/P em ASSEMBLY ?

Dá sim, aliás, Assembly para PIC é fácil.

É como o dragão do filme Sherek. Depois de conhecido não assusta mais.:D

Comigo aconteceu o contrário. Eu não sabia que era possível escrever programas para microcontroladores em outra linguagem que não fosse Assembly. Hoje não sinto necessidade de usar outra.

Temos tambem,o material do colega do forum.

http://www.4shared.com/file/OYRrYeLb/Tutorial_de_Programao_Assembly.html

Não se assuste se achar 'difícil',póis microcontroladores é assim mesmo.

Obrigado pela indicação, vtrx. :-BEER

Link para o comentário
Compartilhar em outros sites

ok! ja to vendo umas apostilas de assembler.... mas ainda estava tentando algo com C, um desses programinhas do começo, tentando faze-lo no DEV C++...

#include<stdio.h>

/*Meu inicio em programação*/

int main()

{

printf("Ola!Eu estou aprendendo a programar!\n");

return(0);

}

mas quando eu compilo de tento executar ele não fica na tela, apenas pisca na tela bem rápido, eu o fiz conforme ta na apostila aqui...

alguem tem uma dica???

como o Felipe disse, o programa entra em execução, imprime na tela, e termina ... voce acaba nem vendo o que aconteceu ... voce deve acrescentar um comando ao final para "travar" a execução.

tenta compilar esse código, nele eu acrescentei o getch() para que o programa aguarde uma tecla:


#include<stdio.h>
#include <conio.h>

/*Meu inicio em programação*/

main()
{

printf("Ola!Eu estou aprendendo a programar!\n");

getch(); // Aguarda tecla.

}

no caso de voce estar estudando linguagem C para computador, recomendo acrescentar mais uma biblioteca no inicio #include <conio.h> . Possui alguns comandos interessantes.

no caso de estar estudando linguagem c para microcontroladores, como ja dito, é melhor começar por assembler.

Link para o comentário
Compartilhar em outros sites

Bom dia pessoal! queria informações de qual é a diferença entre programação de pic e de computador... eu quero estudar programação PIC, sera que é a programação direcionada a objetos???

galera , eu to ficando perdido.......kkkkkkkkkkkkk

se alguem tiver alguma dica de material pra PIC, livros , apostilas, etc

.............

Agora deu certo HenriqueHAck...mas esse programa então é pra computador, não é isso... sabe de algum material ASSEMBLY bom, uma apostila ou um livro completo e direcionado a PIC pra eu começar...se tiver dicas vai ser muito bom pra mim cara...

valeu!!!!!!!!!!!!!

Link para o comentário
Compartilhar em outros sites

A programação direcionada a computador,é direcionada a um sistema operacional.

Quando se programa no Windows,voce pode e deve usar API do windos.

Programar para microcontroladores,voce tem que pensar no Hardware do micro e os compiladores C para micros,são direcionados a este hardware.

Link para o comentário
Compartilhar em outros sites

A programação direcionada a computador,é direcionada a um sistema operacional.

Quando se programa no Windows,voce pode e deve usar API do windos.

Programar para microcontroladores,voce tem que pensar no Hardware do micro e os compiladores C para micros,são direcionados a este hardware.

valeu vtrx, mas eu to ficando totalmente perdido agora... cara, eu quero aprender programar PIC,vi uma coisa falando sobre programação direcionada a objetos, seria isso o q devo estudar?? to lendo agora um livro do Jaime Evaristo de Programação em C, mas pra PIC e melhor ASM, como o pessoal ja me disse, tem alguma dica boa ai???

Link para o comentário
Compartilhar em outros sites

Assim, você precisa estudar a arquitetura do microcontrolador que deseja programar . Por isso que é melhor começar com uma linguagem de um nivel menor que o C... O assembler, por exemplo. Nele, voce vai ter muito mais trabalho, vai ter que movimentar e trabalhar bit a bit no microcontrolador, o lado bom é voce aprende a lidar melhor com o dispositivo e otimiza seus programas (um programa feito em ASM, geralmente, fica menor que o mesmo programa feito em outra linguagem mais avançada).

Depois de tiver dominio do funcionamento do seu chip, sera muito mais fácil implementar e estudar uma outra linguagem.

E isso não serve só para quem esta iniciando na programação. Mesmo um profissional que trabalha com isso, toda vez que for apresentado a um novo microcontrolador, vai ter que estuda-lo. Logico que vai ser muito mais fácil do que foi quando aprendeu o primeiro chip, mas de qualquer forma ele tem que estudar a nova arquitetura.

mas enfim, dois livros de C que eu, particularmente gosto, são:

- Treinamento em Linguagem C, 2ª ed. - Victorine Viviane Mizrahi

- C completo e total 3ª ed. - herbert schildt - makron books

mas são livros gerais sobre o assunto. Para implementa-los ao seu PIC, voce deve conhecer a arquitetura do mesmo.

Link para o comentário
Compartilhar em outros sites

Colegas! Recomendo esse tutorial (em inglês, ou espanhol) sobre como programar em C com o compilador MikroC, ensina todo o básico do programa, incluso um pouco da arquitetura dos microcontroladores PIC, fora que é um compilador super ultra fácil de usar.

http://www.mikroe.com/eng/products/view/285/book-pic-microcontrollers-programming-in-c/

Link para o comentário
Compartilhar em outros sites

CIS,se voce não tem conhecimento em eletronica,principalmente digital,voce deve começar por ela,porque como citado,um Microcontrolador não tem um sistema operacional e só programar não vai 'tirar do papel' o circuito.

Por exemplo,um microcontrolador pode fazer quase tudo que se imagina,só com ele ou com circuitos periféricos conectados a ele.

voce pode imaginar assim:

Quero que um PIC se conecte a um PC pela USB e leia dados de um programa e ative periféricos que estão conectados ao PIC.

voce não vai apenas 'programar 'isso e o PIC vai fazer tudo sozinho,voce terá que 'montar' as rotinas.

Mas então voce ja ouviu que alguns compiladores tem as rotinas 'prontas'.

Na verdade são rotinas 'básicas' e não é só 'junta-las',pois envolve o Hardware tambem.

De uma pesquisada na sua nescessidade antes de sair programando.

Link para o comentário
Compartilhar em outros sites

Galera, alguem pode me ensinar o passo a passo pra programar um PIC:

tipo :primeiro monto o programa fonte, e depois o que eu faço, compilo e salvo no computador ou direto no PIC...to cheio de duvidas sobre isso, to começando do zero....

to no assembly...

bom, respondendo a sua pergunta... com o programa fonte pronto, tu tem que compilar para gerar o arquivo ".hex", utilizar um programa especifico para conetar o PC ao microcontrolador (vai depender do seu dispositivo, procure na net o programa) e passar o arquivo .hex para o microcontrolador ...

só lembrando que é necessário tu ter em mãos uma placa eletronica "gravadora" para conectar-se ao programa no PC via serial ou paralela.

e, como vtrx sugeriu, procure estudar junto à programação, a parte eletrônica também ... em microcontroladores não se programa em cima de sistemas, se programa em cima de eletrônica...

Link para o comentário
Compartilhar em outros sites

bom, respondendo a sua pergunta... com o programa fonte pronto, tu tem que compilar para gerar o arquivo ".hex", utilizar um programa especifico para conetar o PC ao microcontrolador (vai depender do seu dispositivo, procure na net o programa) e passar o arquivo .hex para o microcontrolador ...

só lembrando que é necessário tu ter em mãos uma placa eletronica "gravadora" para conectar-se ao programa no PC via serial ou paralela.

e, como vtrx sugeriu, procure estudar junto à programação, a parte eletrônica também ... em microcontroladores não se programa em cima de sistemas, se programa em cima de eletrônica...

creio estar tudo certo na parte de eletronica digital, ja li bastante sobre portas logicas, op-amp, e muita coisa na net e em apostilas, inclusive a do senai...tenho em mãos um esquema ja montado de algo que peguei na internet, que é um termostato e temporizador para chocadeira, ambos montados numa mesmo placa e sendo portanto um circuito (certo??)

a questão é que o temporizador usa um PIC 12F675,e depois de montado tudo é que veio a necessidade de estudar a programação desse pic, e ai vocês ja viram, duvidas aos montes...mas obrigado a todos pelas dicas, ja estou adquirindo tudo que preciso, tipo um gravador, varios PIC,protoboard e baixando os programas necessarios, ja li sobre logica de programação, comecei e ler linguagem C, mas conforme as dicas passei pra ASSEMBLY, vou tocando em frente com a ajuda de vocês... valeu pessoal, obrigado mesmo...se alguem tiver uma passo a passo vai ser otimo mesmo...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!