HOMENAGEM
† 12 de março de 2016
Quem está conectado?
Há 192 usuários online :: 1 registrado, 0 invisíveis e 191 visitantes :: 1 motor de buscafjromero
O recorde de usuários online foi de 362 em Sex 9 Abr 2021 - 22:11
Últimos assuntos
Top dos mais postadores
Rafael Silveira (7816) | ||||
Caca Silva (6057) | ||||
renatoscp (3891) | ||||
CMeletronica (3234) | ||||
michel chagas (2791) | ||||
Railson (2119) | ||||
alexsandro rodrigues de a (1835) | ||||
naldo santos (1625) | ||||
ablacon64 (1222) | ||||
gilvantexas (1061) |
Tópicos semelhantes
Medidor de Velocidade
ajuda pic16f676
2 participantes
Página 1 de 1
ajuda pic16f676
bam dia, sou novo aqui no forum estou comecando agora com microcontroladores pic ja fiz alguns projetos com o 18f1320
para automatizar um gerador ficou muito bom , estou com um probleminha com o pic16f676 pois nao estou conseguindo fazer funcionar com o oscilador interno, utilizo o mickroc se alguem puder me ajudar fico grato.
para automatizar um gerador ficou muito bom , estou com um probleminha com o pic16f676 pois nao estou conseguindo fazer funcionar com o oscilador interno, utilizo o mickroc se alguem puder me ajudar fico grato.
Valdisergio- Nível 1
- Mensagens : 4
Data de inscrição : 19/02/2013
Idade : 48
Localização : sorocaba
Re: ajuda pic16f676
Valdisergio escreveu:bam dia, sou novo aqui no forum estou comecando agora com microcontroladores pic ja fiz alguns projetos com o 18f1320
para automatizar um gerador ficou muito bom , estou com um probleminha com o pic16f676 pois nao estou conseguindo fazer funcionar com o oscilador interno, utilizo o mickroc se alguem puder me ajudar fico grato.
Caro amigo!
a primeira pergunta é: o programa que você criou funciona com o clock externo?
se não testou teste então e me diga..se já fez este teste e funcionou então posta o codigo fonte e os fuses para ver o que esta acontecendo ai!!
Naldo Santos
naldo santos- MODERADOR
- Mensagens : 1625
Data de inscrição : 30/08/2012
Idade : 51
Localização : salvador-ba
Re: ajuda pic16f676
amigo obrigado pela atencao, fiz o circuito no simulador proteus e o engracado e que funciona mas na motagem real no protoboard a grande decepcao o mesmo nao funciona.
aqui esta o codigo fonte:
/**********************************************************************************************************************
* antes da funcao principal e carregado e definidas as bibliotecas que serao utilizadas *
* durante o funcionamento do microcontrolador e do algoritimo do programa. *
* nao estao escritas aqui pois foram definidas na configuracao dos fusiveis no copilhador. foi utilizado o mikroc pro *
*********************************************************************************************************************/
void main()
{
int a = 0; // aqui colocamos as variaveis que serao utilizadas durante o programa
ansel = 0x00; // portas como i/o e analogicas e digitais
adcon1 = 0b00001000; // configurando as portas como digitais e analogicas
osccal = 0b111111; // configurando o oscilador interno com o maximo de clocks
trisa = 0b00001000; // aqui e definido as portas de entradas e saidas do port_a
trisc = 0x00; // aqui e definido o port_c como saidas digitais
porta = 0x00; // definicao do port_a como 0 inicial
portc = 0x00; // aqui define o port_c como inicio de 0
//delay_ms(2);
// portc = 32;
// delay_ms(2);
portc = 32; // aqui aciona o led verde de pronto.
while (1) // Apatir daqui inicia o nosso programa nesta funcao while(1) temos um laco eterno.
{
inicio:
if (porta.ra3 == 0) // esta funcao comeca quando apertamos o botao de acionamento
{
porta.ra2 = 1; // aqui mantem o led amarelo monitor aceso continuo
delay_ms(30);
porta.ra1 = 1; // aqui o rele contator e acionado
delay_ms(30);
portc = 31;
delay_ms(5000);
portc = 30;
delay_ms(5000);
portc = 28;
delay_ms(5000);
portc = 24;
delay_ms(5000);
portc = 16;
delay_ms(2000);
for(a=30; a>=0; a--) // aqui comeca a contar o tempo de termino do tempo
{
portc.rc4 = ~portc.rc4; // aqui e invertido a condicao do led_1 pisca pisca.
delay_ms(500);
porta.ra5 = ~porta.ra5;
}
porta.ra5 = 0;
delay_ms(100);
portc = 0x00;
delay_ms(3);
porta.ra1 = 0; // aqui o rele contator e desligado
for(a = 10; a >=0 ; a --) // tempo de espera para o proximo acionamento
{
delay_ms(1000);
}
portc = 32;
delay_ms(1);
goto inicio;
}
a = a+1;
delay_ms(100);
if (a == 4) // led amarelo monitor:
{ // piscando = sistema em aguardado pressionar o botao
a=0; // aceso continuo = sistema em contagem
delay_ms(30);
porta.ra2 = ~porta.ra2;
delay_ms(30);
}
} // fim da funcao while(1)
} // fim do programa
gente ate agora estou quebrando a cabeca porque nao funciona com o oscilador interno.
Agradeco desde ja o auxilio aqui dos colegas.
aqui esta o codigo fonte:
/**********************************************************************************************************************
* antes da funcao principal e carregado e definidas as bibliotecas que serao utilizadas *
* durante o funcionamento do microcontrolador e do algoritimo do programa. *
* nao estao escritas aqui pois foram definidas na configuracao dos fusiveis no copilhador. foi utilizado o mikroc pro *
*********************************************************************************************************************/
void main()
{
int a = 0; // aqui colocamos as variaveis que serao utilizadas durante o programa
ansel = 0x00; // portas como i/o e analogicas e digitais
adcon1 = 0b00001000; // configurando as portas como digitais e analogicas
osccal = 0b111111; // configurando o oscilador interno com o maximo de clocks
trisa = 0b00001000; // aqui e definido as portas de entradas e saidas do port_a
trisc = 0x00; // aqui e definido o port_c como saidas digitais
porta = 0x00; // definicao do port_a como 0 inicial
portc = 0x00; // aqui define o port_c como inicio de 0
//delay_ms(2);
// portc = 32;
// delay_ms(2);
portc = 32; // aqui aciona o led verde de pronto.
while (1) // Apatir daqui inicia o nosso programa nesta funcao while(1) temos um laco eterno.
{
inicio:
if (porta.ra3 == 0) // esta funcao comeca quando apertamos o botao de acionamento
{
porta.ra2 = 1; // aqui mantem o led amarelo monitor aceso continuo
delay_ms(30);
porta.ra1 = 1; // aqui o rele contator e acionado
delay_ms(30);
portc = 31;
delay_ms(5000);
portc = 30;
delay_ms(5000);
portc = 28;
delay_ms(5000);
portc = 24;
delay_ms(5000);
portc = 16;
delay_ms(2000);
for(a=30; a>=0; a--) // aqui comeca a contar o tempo de termino do tempo
{
portc.rc4 = ~portc.rc4; // aqui e invertido a condicao do led_1 pisca pisca.
delay_ms(500);
porta.ra5 = ~porta.ra5;
}
porta.ra5 = 0;
delay_ms(100);
portc = 0x00;
delay_ms(3);
porta.ra1 = 0; // aqui o rele contator e desligado
for(a = 10; a >=0 ; a --) // tempo de espera para o proximo acionamento
{
delay_ms(1000);
}
portc = 32;
delay_ms(1);
goto inicio;
}
a = a+1;
delay_ms(100);
if (a == 4) // led amarelo monitor:
{ // piscando = sistema em aguardado pressionar o botao
a=0; // aceso continuo = sistema em contagem
delay_ms(30);
porta.ra2 = ~porta.ra2;
delay_ms(30);
}
} // fim da funcao while(1)
} // fim do programa
gente ate agora estou quebrando a cabeca porque nao funciona com o oscilador interno.
Agradeco desde ja o auxilio aqui dos colegas.
Valdisergio- Nível 1
- Mensagens : 4
Data de inscrição : 19/02/2013
Idade : 48
Localização : sorocaba
Re: ajuda pic16f676
Valdisergio escreveu:amigo obrigado pela atencao, fiz o circuito no simulador proteus e o engracado e que funciona mas na motagem real no protoboard a grande decepcao o mesmo nao funciona.
aqui esta o codigo fonte:
/**********************************************************************************************************************
* antes da funcao principal e carregado e definidas as bibliotecas que serao utilizadas *
* durante o funcionamento do microcontrolador e do algoritimo do programa. *
* nao estao escritas aqui pois foram definidas na configuracao dos fusiveis no copilhador. foi utilizado o mikroc pro *
*********************************************************************************************************************/
void main()
{
int a = 0; // aqui colocamos as variaveis que serao utilizadas durante o programa
ansel = 0x00; // portas como i/o e analogicas e digitais
adcon1 = 0b00001000; // configurando as portas como digitais e analogicas
osccal = 0b111111; // configurando o oscilador interno com o maximo de clocks
trisa = 0b00001000; // aqui e definido as portas de entradas e saidas do port_a
trisc = 0x00; // aqui e definido o port_c como saidas digitais
porta = 0x00; // definicao do port_a como 0 inicial
portc = 0x00; // aqui define o port_c como inicio de 0
//delay_ms(2);
// portc = 32;
// delay_ms(2);
portc = 32; // aqui aciona o led verde de pronto.
while (1) // Apatir daqui inicia o nosso programa nesta funcao while(1) temos um laco eterno.
{
inicio:
if (porta.ra3 == 0) // esta funcao comeca quando apertamos o botao de acionamento
{
porta.ra2 = 1; // aqui mantem o led amarelo monitor aceso continuo
delay_ms(30);
porta.ra1 = 1; // aqui o rele contator e acionado
delay_ms(30);
portc = 31;
delay_ms(5000);
portc = 30;
delay_ms(5000);
portc = 28;
delay_ms(5000);
portc = 24;
delay_ms(5000);
portc = 16;
delay_ms(2000);
for(a=30; a>=0; a--) // aqui comeca a contar o tempo de termino do tempo
{
portc.rc4 = ~portc.rc4; // aqui e invertido a condicao do led_1 pisca pisca.
delay_ms(500);
porta.ra5 = ~porta.ra5;
}
porta.ra5 = 0;
delay_ms(100);
portc = 0x00;
delay_ms(3);
porta.ra1 = 0; // aqui o rele contator e desligado
for(a = 10; a >=0 ; a --) // tempo de espera para o proximo acionamento
{
delay_ms(1000);
}
portc = 32;
delay_ms(1);
goto inicio;
}
a = a+1;
delay_ms(100);
if (a == 4) // led amarelo monitor:
{ // piscando = sistema em aguardado pressionar o botao
a=0; // aceso continuo = sistema em contagem
delay_ms(30);
porta.ra2 = ~porta.ra2;
delay_ms(30);
}
} // fim da funcao while(1)
} // fim do programa
gente ate agora estou quebrando a cabeca porque nao funciona com o oscilador interno.
Agradeco desde ja o auxilio aqui dos colegas.
Caro amigo esta linha aqui: osccal = 0b111111; // configurando o oscilador interno com o maximo de clocks
não tenho certeza mas acho que ela não pode ser usada quando esta utilizando o oscilador interno neste pic ,seria bom se pudesse colocar os fuses para dar uma olhada pois o programa esta aparentemente correto qual o programa que esta usando para gravar o pic? pois pode ser na hora de definir os fuses no programa do gravador tipo definições de clock :
• LP Low Power Crystal
• XT Crystal/Resonator
• HS High Speed Crystal/Resonator
• RC External Resistor/Capacitor (2 modes)
• INTOSC Internal Oscillator (2 modes) esta seria sua opção
• EC External Clock In
Mas tem 02 modos um com saida de clock e outro sem, o seu caso seria (no clockout)
e outra coisinha qual o clock que esta usando??
pois para utilizar o clock interno só é possivel até 4mhz acima disso tem que usar o clock externo com cristal oscilador!
naldo santos- MODERADOR
- Mensagens : 1625
Data de inscrição : 30/08/2012
Idade : 51
Localização : salvador-ba
Re: ajuda pic16f676
vou verificar os fusiveis e fazer testes, acho que vou verificar tambem se adcionei o adc.
apos os teste posto aqui.
ah o meu gravador de pic e o o pic burner adquiri no mercadolivre.
apos os teste posto aqui.
ah o meu gravador de pic e o o pic burner adquiri no mercadolivre.
Valdisergio- Nível 1
- Mensagens : 4
Data de inscrição : 19/02/2013
Idade : 48
Localização : sorocaba
Tópicos semelhantes
» Ligar lcd no PIC16f676
» Fonte simétrica para Bancada - LM317/337
» Ajuda com vu led com pic16f88!!!
» Fonte simétrica para Bancada - LM317/337
» Ajuda com vu led com pic16f88!!!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Ter 23 Abr 2024 - 18:00 por ROLDAO
» LAYOUT DA TIME ONE E OS PDF
Sex 19 Abr 2024 - 20:01 por cristaltec
» PI ITALIANO 6V DETECTOR DE METAL
Qua 10 Abr 2024 - 19:10 por Fardin pezzhan
» DETECTOR DE METAIS IDX-PRO
Sex 5 Abr 2024 - 19:51 por Fardin pezzhan
» Fonte Chaveada 2000W SG3525 & IR2110
Qui 4 Abr 2024 - 12:55 por sandy silva de oliveira
» Todas as revistas CTA VOL 1 A 12 - aproveitem.
Ter 2 Abr 2024 - 22:28 por Rodrigo L Santos
» >>>>>>> Sobre a criação de novos tópicos<<<<<<<<<<<<<<<
Dom 24 Mar 2024 - 16:10 por crisnich
» Defeito intermitente amplificador Ciclotron TIP5000
Qua 20 Mar 2024 - 9:13 por fastaveira
» Esquema Amplificador Audio Leader AL 5.0
Qua 20 Mar 2024 - 9:01 por fastaveira
» MK4000 - FONTE CHAVEADA FULL BRIDGE
Dom 17 Mar 2024 - 18:43 por sandy silva de oliveira
» amplificador class h tailandes
Sex 15 Mar 2024 - 22:41 por mehuysal
» Amplificador Super Strong
Qui 14 Mar 2024 - 13:03 por Reginaldo Silva
» Amplificador Classe D UCD1500
Qua 13 Mar 2024 - 13:07 por Guille
» NS450 - FONTE CHAVEADA PARTE 2
Seg 11 Mar 2024 - 6:55 por ffernand3s
» Amplificador Fonte Simples em teia de aranha
Sex 1 Mar 2024 - 12:17 por Reginaldo Silva