Ir ao conteúdo

Posts recomendados

Postado

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 

  • Membro VIP
Postado
#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

  • Membro VIP
Postado

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

Postado

@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
  • 2 meses depois...
Postado

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?

  • Membro VIP
Postado
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
Postado

@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

  • Membro VIP
Postado

@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
Postado
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

Postado

@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

 

 

  • Membro VIP
Postado

é isso. Não tem como resumir mais e ser mais simples que isso:

Aplique o sinal numa entrada de um timer e use outro como base de tempo.

  • 2 meses depois...
Postado

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/

Visitante
Este tópico está impedido de receber 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...