Ir ao conteúdo
  • Cadastre-se
Avilen

Programar pic 12f629

Recommended Posts

Amigos eu tenho um pic 12f629 

Mas não consegui desenvolver um programa pra rodar nele 

Alguém pode mandar um modelo pra mim ex: piscar um LED 

Att: Avilen 

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <seus_includes.h>
#define led GPIO0
delay(unsigned int dl)
{
while (dl--);
}

main()
{
//sua inicialização do hw
for(;;)
{
led^=1;
delay(10000);
}
}

Se achar que ctrl-c ctrl-v vai funcionar, receba um cóqui virtual bem dado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Sr: Ferraz ,mas uma dúvida !

Não tenho que desabilitar os comparadores neste código? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se GPIO0 for uma entrada de comparador, tem sim meu querido.

Isto está implícito na...

//sua inicialização do hw

E tem mais: tem que torná-lo saída.

 

Por gentileza, queira dar uma olhadela no datasheet bem como analisar como seu compilador acessa o hw do mc

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Avilen ,

 

Não é Sr Ferraz, mas sim Senhorita Isadora !

 

Veja o nome.... A foto é uma brincadeira porque se ela coloca o verdadeiro rosto, vai chover gavião nela !

 

Paulo

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, bom dia a todos estou precisando de um código que receba a leitura de uma frequência externa que em condições normais esta em 230 hz e se manter nesta frequência por 5 minutos liga um rele e se por acaso durante a contagem a frequência alterar acima de 240 hz desliga a contagem e so inicia  novamente do zero a contagem após a frequência retornar a 230 hz.

 

Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Isadora Ferraz

 

o que esse for(;;)  faz?

E qual significado disso? ^=

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 18/08/2016 às 16:21, Isadora Ferraz disse:

for(;;) { led^=1; delay(10000); }

{faz tudo o que estiver aqui dentro, pra sempre}

^= operação OR exclusivo ou inverte o bit

led^=1 o mesmo que led=led^1 ou faz um OR exclusivo com 1 só no bit 0. Mas no caso led=GPIO0 que só tem 1 bit mesmo uai!

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Isadora Ferraz Ah entendi, esse " ^= " seria o mesmo que " ~ " ?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@cabana real,

 

Primeiro, poste qual vai ser o hardware utilizado, tipo o microcontrolador que vai ser utilizado, cristal utilizado, se vai ter relógio externo, quais os pinos que estarão envolvidos, o tipo de sinal ( senoidal / onda quadrada / ????/ ) ', etc.

 

Depois, qual a linguagem que você sabe programar.

 

voce faz alguma ideia de como se mede uma determinada frequência ?

 

Código pronto não vai ter, mas podemos te ajudar a fazer o que você precisa, com as dicas de vários membros, ok ?

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Philippe Henrique  é quase sim amigo. Considerando que fazer um OU EXCLUSIVO com 1 é o mesmo que inverter

Com o ^= você pode inverter apenas os bits que quiser

Algo como

PORTB^=0b00100000;// inverte só bit5 onde está o led p.ex.

e com ~

PORTB=~PORTB;//inverte tudo

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em ‎05‎/‎11‎/‎2016 às 10:18, aphawk disse:

@cabana real,

 

Primeiro, poste qual vai ser o hardware utilizado, tipo o microcontrolador que vai ser utilizado, cristal utilizado, se vai ter relógio externo, quais os pinos que estarão envolvidos, o tipo de sinal ( senoidal / onda quadrada / ????/ ) ', etc.

 

Depois, qual a linguagem que você sabe programar.

 

voce faz alguma ideia de como se mede uma determinada frequência ?

 

Código pronto não vai ter, mas podemos te ajudar a fazer o que você precisa, com as dicas de vários membros, ok ?

 

Paulo

Boa noite, o hardware eu mesmo vou fazer quando tiver as pinagens e o código pronto,quero usar o pic 12f629 devido o baixo custo do componente ,não vai ter relógio externo, os pinos que estarão envolvidos podemos escolher, o sinal vai ser de um alternador veicular, fiz um curso de microcontrolador pic18f4550 porém fiz alguns projetos mas ainda tenho dificuldades em montar o código as bibliotecas sei medir as frequências minha especialidade e eletrônica construção de placas pelo proteus montar o hardware e calcular os componentes mas a programação ainda nescessito de muita ajuda já fiz um código para o pic18f4550 de um relógio e programei algumas horas para armar e desarmar reles ligar led e etc se puderem me ajudar posso colocar o código aqui e mudar ele para o que preciso.

 

A linguagem e em C

Compartilhar este post


Link para o post
Compartilhar em outros sites

@cabana real ,

 

Bom, vai ter de fazer um adaptador para transformar o sinal do alternador em uma onda quadrada entre 0 e 5 Volts.

 

Sugiro usar um dos Timers do seu PIC no modo de Counter, durante um certo tempo, por exemplo durante 500 milissegundos você conta as bordas de subida do sinal, e ao final basta multiplicar por 2 e você já tem a frequência.

 

Pode usar um outro Timer para gerar uma interrupção a cada 500 milissegundos, para verificar qual foi a contagem, e zerar tudo para uma nova contagem.

 

Agora, é importante você definir o esquema para que o pessoal possa ir te ajudando.

 

Não posso te ajudar na programação, pois não entendo nada de C, mas outros irão te ajudar.

 

Paulo

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite para todos,gostaria de usar este exemplo deste link,para acionar um sistema de fechadura e mais 3 funções,acender um LED por dois minutos e acionar um buzzer depois de 1,50 ,e usar um minuto,e usar um botão para acionar a fechadura  e as demais. http://blog.larios.tecnologia.ws/iBlog/archives/category/microcontroladores/projetos-de-leitores/

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×