Ir ao conteúdo
  • Cadastre-se

PIC16F628A..comparador


CIS

Posts recomendados

Pessoal, o 16F628a possui dois comparadores, correto? mas e possivel usar os dois, ja que o pino 2(RA3) é ao mesmo tempos a entrada analogica 3 e saida do comparador 1 ?? e ainda, como aplicar tensão de referencia externa diferentes aos dois comparadores, isso e possivel?

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...
Já resolveu ?

seguinte: no datasheet do 628 tem uma página com os desehhos dos tipos de configurações para os comparadores e como configurar cada uma,

e sim é perfeitamente possível utilizar ambos ao mesmo tempo;

qualquer coisa posta aí

marcelo

Resolvi nada Marcelo.To com pouco tempo. Sera que você tem algum exemplo do uso dos comparadores desse pic (16F628A) no mickro C pro for PIC ?? que seja bem simples, como aqueles famosos pisca leds... obrigado pela ajuda desde ja...

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...
Resolvi nada Marcelo.To com pouco tempo. Sera que você tem algum exemplo do uso dos comparadores desse pic (16F628A) no mickro C pro for PIC ?? que seja bem simples, como aqueles famosos pisca leds... obrigado pela ajuda desde ja...

Como fazer um programa simples no mickro C para usar o comparador do PIC 16F628A... eu tento e ja tentei de tudo que sei... e nada, confuso dom Vref e CMCON... como defini-los ? porque ? alguem pode me indicar um caminho??

Link para o comentário
Compartilhar em outros sites

Ate aqui , to indo bem, mas na hora de entender a logica pra montar o codigo é que eu me perco... veja bem se estou indo no caminho certo...

CMCON = 0x03; (valor tirado do datasheet do PIC16F628A)

ainda assim, devo colocar uma tensão de referencia no pino RA2... e minhas entradas nos pinos RA0 e RA1... agora tenho as saidas nos pinos RA3(saida comparador1)

e RA4(saida comparador2)... agora a questão maior... entender quando a saida do comparador X sera 1 ou 0...

me perco nas configurações dos bits C2OUT C1OUT C2INV C1NV CIS do registrador CMCON...

Cheguei ate aqui, mas não sei se estou certo... não entendo como passar adiante...

codigo mickro C pro

void main() {

trisa = 0b00000011; // Todo este trecho foi o que

porta = 0b00000000; // o que eu entendi na inicialização

trisb = 0b00000000; // do comparador no datasheet

portb = 0b00000000; // do PIC16F628A.

cmcon = 0b00000011; // no datasheet esta em hexadecimal (0x03).

pir1.cmif = 0; // flag de interrupção do comparador, em 0 indica que não houve mudança na saida do comparador.

pie1.cmie = 1; // interrupção do comparador habilitada.

intcon.peie = 1; // habilita todas as interrupçãoes de periféricos.

intcon.gie = 1; // Habilita todas as interrupções.

while(1) {

// não sei como passar daqui.

}

}

Cheguei ate aqui, mas não sei se estou certo... não entendo como passar adiante...

codigo mickro C pro

void main() {

trisa = 0b00000011; // Todo este trecho foi o que

porta = 0b00000000; // o que eu entendi na inicialização

trisb = 0b00000000; // do comparador no datasheet

portb = 0b00000000; // do PIC16F628A.

cmcon = 0b00000011; // no datasheet esta em hexadecimal (0x03).

pir1.cmif = 0; // flag de interrupção do comparador, em 0 indica que não houve mudança na saida do comparador.

pie1.cmie = 1; // interrupção do comparador habilitada.

intcon.peie = 1; // habilita todas as interrupçãoes de periféricos.

intcon.gie = 1; // Habilita todas as interrupções.

while(1) {

// não sei como passar daqui.

}

}

Seguinte... so da pra usar o comparador do pic com interrupção??? eu uso um LM741 na função de comparador, da pra fazer o mesmo com o PIC ?

Link para o comentário
Compartilhar em outros sites

Seguinte... so da pra usar o comparador do pic com interrupção???

não, da pra usar sem as interrupções... é so desabilitar as interrupções no registrador intcon ou nos outros relacionados com interrupções

a saida do comparador sera 1 quando a tensão do pino ra0 ou do ra1 for maior que a tensão de referenciano pino ra2

Link para o comentário
Compartilhar em outros sites

não, da pra usar sem as interrupções... é so desabilitar as interrupções no registrador intcon ou nos outros relacionados com interrupções

a saida do comparador sera 1 quando a tensão do pino ra0 ou do ra1 for maior que a tensão de referenciano pino ra2

valeu!!! Acho que to no caminho, consegui fazer e interrupção...ainda me perco na logica, porque estou tentando com uma entrada de referencia(2,5V) e a outra entrada vinda de um divisor de tensão com um NTC + potenciomentro e um resistor. Demorei pra entender o desenhos a respeito da saidas, mas agora vi que ele pode deixar a saida só internamente ou não...acho que era isso a maior "encrenca" ... vou continuar tentando ate conseguir... valeu!!!

Link para o comentário
Compartilhar em outros sites

precisando de ajuda é so postar

Voltando ao incio... To aqui olhando o datasheet do 16F628A, no modulo comparador e, quando pensei que tinha entendido, como disse antes, não consegui fazer o esperado. to perdido em como configurar CMCON < CM2:CM0>

para ter as saídas nos em RA3 e RA4...

Por exemplo:

Se a configuração for " CMCON = 0b00000011; " eu terei RA0, RA1 e RA2 analogico, e RA3 digital.Certo???

porém, as minhas saidas dos comparadores estarão disponiveis apenas internamente,em C1OUT e C2OUT... estou certo ate aqui ???

Ja na configuração " CMCON = 0b00000110; "

Seria paras as minas saidas estarem em RA3 e RA4...

É isso mesmo pessoal, ou estou enganado??? To tonto com esse comparador..

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!