Вы находитесь на странице: 1из 9

0 mais Próximo blog» airtonjoseflores@gmail.

com Painel Sair

Projetos e tutoriais sobre programação de PIC, AVR e Arduíno.

Início Fórum

APP

<< >>

150

Tweet

Arduino Uno para Proteus


PESQUISAR NESTE BLOG
1 2 3 4 5
Fazer uma busca...

1 2 3 4 5

NOVIDADES DO BLOG - 17/11/16

Novo Blog
TurnItOn - Conecte seu Arduino
Cuidado!
PIC: MCP3201
PIC: DS1631
AVR: Display 7 Segmentos
AVR: Pull-ups
17/12/2012 AVR: Pisca-Pisca com ATMega328P
Curso: Aula 03 - Variaveis, vetores e funções
Utilizando o Comparador do PIC
PIC: 25XX320
PIC: RDA5807

Utilizando o Comparador do PIC PIC: SSD1306


Curso: Ementa Atualizada
Curso: Aula 02 - Portas I/O
PIC: PCF8583
Curso: Aula 01

TRANSLATE

Selecione o idioma Se
Powered by Tradutor
Powered by Tradutor

MARCADORES

Apostilas e Livros (3)


Arduino (11)
AVR (12)
Os comparadores são usados para fazer a interface de circuitos analógicos para um Bibliotecas (39)
circuito digital, comparando duas tensões analógicas e fornecendo uma indicação numérica das suas magnitudes
Circuitos (3)
relativas.
Componentes (1)

PIC16F877A Curso (4)


O módulo de comparação contém dois comparadores analógicos. As entradas para os comparadores são Downloads (10)
multiplexados com os pinos I/O das portas RA0, RA1, RA2 e RA3, enquanto as saídas são multiplexados para os pinos Games (2)
RA4 e RA5. Ladder (1)
PIC (79)
A Interrupção é habilitado pelo registro PIE2.CMIE. Sua flag é PIE2.CMIF.
Projetos (47)
Sensores (9)
Tutoriais (47)
Wireless (2)

SEGUIR-ME POR EMAIL

Email address... Submit


C2OUT: Bit de saída do Comparador 2
Caso C2INV = 0:
1 - C2Vin+ maior que C2Vin-
POSTAGENS DO BLOG
0 - C2Vin+ menor que C2Vin-
Caso C2INV = 1:
► 2016 (3)
1 - C2Vin+ menor que C2Vin-
0 - C2Vin+ maior que C2Vin- ► 2015 (7)
► 2014 (34)
► 2013 (60)
▼ 2012 (48)
▼ Dezembro (17)
C1OUT: Bit de saída do Comparador 1
Livros sobre Programação de
Caso C1INV = 0:
Arduino
1 - C1Vin+ maior que C1Vin-
Projeto 20: Timer utilizando o
0 - C1Vin+ menor que C1Vin-
PIC16F628A
Caso C1INV = 1:
Projeto 19: Dado Eletronico
1 - C1Vin+ menor que C1Vin-
0 - C1Vin+ maior que C1Vin- Projeto 18: Timer com PIC16F877A
Projeto 17: CapMeter (Capacímetro
Digital)
C2INV: Inversão da saída do comparador 2 Utilizando o Comparador do PIC
1 - Invertido
Utilizando o TIMER2 do PIC
0 - Não Invertido
Video: Simulando o Arduino no
Proteus
Projeto 16: Termômetro Digital via
C1INV: Inversão da saída do comparador 1
I2C
1 - Invertido
Arduino - Componente para o
0 - Não-Invertido
Proteus
Apostilas e Livros sobre
Microcontroladores
CIS: Pino de entrada do comparador
Emulador do Kit Picgenios 18F4520

Caso CM2:CM0 = 110: Projeto 15: Relógio e Calendário


Digital com RTC D...
1 - C1Vin - Pino RA3
C2Vin - Pino RA2 Utilizando as interrupções do PIC
Tutorial 6: Biblioteca MikroC: I2C
0 - C1Vin - Pino RA0
Comunicação I2C
C2Vin - Pino RA1
Utilizando o TIMER1 do PIC

► Novembro (7)
CM2:CM0: Modo do Comparador
► Outubro (8)
► Setembro (16)

TOP SEMANAL

Proteus 8.1 Professional

Utilizando o TIMER0 do PIC


MikroC PRO for PIC,
dsPIC, PIC32, 8051,
AVR

Arduino Uno para


Proteus

Tutorial 7:
Configuração do PWM

Utilizando as
interrupções do PIC

Apostilas e Livros sobre


Microcontroladores

O Registro CVRCON é usado quando a tensão de referência for interna ( CM2:CM0 = 110 ) usando o Módulo de Conversor A/D
Tensão de Referência do Comparador.

SEGUIDORES

Seguidores (156) Próxima

Seguir

CONTATO

microcontrolandos2012@gmail.com

PERFIL

Tiago Melo - Graduando em Ciência da


Computação na Universidade Federal de
Itajubá - UNIFEI e Técnico em Eletrônica
pelo SENAI.
CVREN: Habilita Tensão de referência do comparador
1 - Habilitado
0 - Desabilitado

CVROE: Bit de saída do Comparador 1


1 - CVREF é conectado ao pino RA2
0 - CVREF é desconectado
CVRR: Seleção da gama de tensão de Referência CVref
1 - gama baixa
0 - gama alta

CVR3:CVR0: Valor da tensão VREF(0 a 15)


Caso CM2:CM0 = 110:
1 - C1Vin - Pino RA3
C2Vin - Pino RA2

0 - C1Vin - Pino RA0


C2Vin - Pino RA1

EXEMPLO:

01. void interrupt()


02. {
03. PORTB.F0 = CMCON.C1OUT;
04. PIR2.CMIF = 0;
05. }
06.
07. void main()
08. {
09. INTCON.GIE; //habilita interrupção global
10. INTCON.PEIE=1; //habilita interrupção periféricos
11. PIE2.CMIE=1; //habilita interrupção do comparador
12. CMCON=0b00000011; //modo 011(dois comparadores independentes com saída)
13. TRISA=0b00001111; //pinos RA5/RA4 output; RA3/RA2/RA1/RA0 input
14. TRISB=0;
15. }

PIC16F887
O módulo de comparação do PIC16F887 posui as seguintes características:

Controle de comparação Independente;


Seleção de entrada programável;
Saída do comparador está disponível internamente / externamente;
Polaridade de saída programável;
Interrupção por mudança;
Wake-up de suspensão;
Desligamento do PWM;
Porta Timer1 (habilitação da contagem);
Sincronização de saída para Timer1 entrada de clock;
Latch SR;
Referência de tensão programável e fixo.

COMPARADOR C1
C1ON: Habilita Comparador C1
1 - Habilitado
0 - Desabilitado

C1OUT: Bit de saída do Comparador 1


Caso C1POL = 0:
1 - C1Vin+ maior que C1Vin-
0 - C1Vin+ menor que C1Vin-
Caso C1POL = 1:
1 - C1Vin+ menor que C1Vin-
0 - C1Vin+ maior que C1Vin-

C1OE: Ativação da saída do Comparador C1


1 - Ativada
0 - Desativada

C1POL: Inversão da saída do Comparador C1


1 - Invertida
0 - Não-Invertida

C1R: Seleção da referência do Comparador C1


1 - A entrada C1Vin+ é ligada a tensão de referência C1Vref
0 - A entrada C1Vin+ é ligado ao pino C1IN+

C1CH1:C1CH0: Seleção do pino de entrada para C1Vin- do comparador C1


00 - C1Vin- é ligado ao pino C12IN0-
01 - C1Vin- é ligado ao pino C12IN1-
10 - C1Vin- é ligado ao pino C12IN2-
11 - C1Vin- é ligado ao pino C12IN3-

COMPARADOR 2
C2ON: Habilita Comparador C2
1 - Habilitado
0 - Desabilitado

C2OUT: Bit de saída do Comparador C2


Caso C2POL = 0:
1 - C2Vin+ maior que C1Vin-
0 - C2Vin+ menor que C1Vin-
Caso C2POL = 1:
1 - C2Vin+ menor que C2Vin-
0 - C2Vin+ maior que C2Vin-

C2OE: Ativação da saída do Comparador C2


1 - Ativada
0 - Desativada

C2POL: Inversão da saída do Comparador C2


1 - Invertida
0 - Não-Invertida

C2R: Seleção da referência do Comparador C2


1 - A entrada C2Vin+ é ligada a tensão de referência C2Vref
0 - A entrada C2Vin+ é ligado ao pino C2IN+

C2CH1:C2CH0: Seleção do pino de entrada para C2Vin- do comparador C2


00 - C2Vin- é ligado ao pino C12IN0-
01 - C2Vin- é ligado ao pino C12IN1-
10 - C2Vin- é ligado ao pino C12IN2-
11 - C2Vin- é ligado ao pino C12IN3-

OUTRO REGISTRO

MC1OUT: Cópia do bit C1OUT

MC2OUT: Cópia do bit C2OUT

C1RSEL: Seleção da referência do Comparador C1


1 - CVref é usado como referência para Comparador C1
0 - Tensão fixa de 0.6V é usado como referência para Comparador C1

C2RSEL: Seleção da referência do Comparador C2


1 - CVref é usado como referência para Comparador C2
0 - Tensão fixa de 0.6V é usado como referência para Comparador C2

T1GSS: Seleção da porta do temporizador TMR1


1 - A porta do gate de TMR1 é T1G
0 - A porta do gate de TMR é SYNC2OUT

C2SYNC: Sincronização da saída do Comparador C2


1 - A saída de C2 é sincronizada no flanco descendente do clock de TMR1
0 - A saída de C2 é assincrona

TENSÃO DE REFERÊNCIA

Módulo Fonte de Tensão de Referência

VREN: Ativação da tensão de referência de C1


1 - CVref ligado
0 - CVref desligado

VROE: Ativação da tensão de referência de C2


1 - CVref conectado ao pino RA2/AN2/VREF-/CVREF/C2IN+
0 - CVref desconectado do pino RA2/AN2/VREF-/CVREF/C2IN+

VRR: Seleção de Faixa


1 - gama alta
0 - gama baixa

VRSS: Seleção de Faixa de VRef do comparador


1 - CVRSRC = (VREF +) - (VREF-)
0 - CVRSRC = VDD - VSS

VR3:VR0: Seleção de valor para CVref (0 < VR < 15)


Caso VRR=1
CVREF = (VR(3:0)/24) * VDD

Caso VRR=0
CVREF = VDD/4 + (VR(3:0)/32) * VDD

Curtir 3 Compartilhar Tweet

Recomende isto no Google


5 comentários:

Anônimo domingo, 21 de abril de 2013 02:33:00 BRT


ola poderia mostra o codigo como e feito noccs pois ja tentei de todas as formas que imaginei

mais isso nao compila


Responder

Anônimo domingo, 21 de abril de 2013 02:35:00 BRT


tambem tento fazer no pic 16f68a

mas nao cosigo...se puder dar uma força agradeço


Responder

Tiago Henrique domingo, 21 de abril de 2013 10:47:00 BRT


Olá!! Não estou acostumado a utilizar o CCS, mas acho q o código ficaria desse jeito:

void isr(){
//código
}

void main(){

setup_comparator(A0_A3_A1_A2);//dois comp. independentes(A0-A3 e A1-A2)


setup_vref(FALSE);//desliga tensao de referencia
enable_interrupts(INT_COMP);//ativa interrupcao do comparador
enable_interrupts(GLOBAL);//ativa interrupcao global

while(TRUE){
//codigo
}
}
Responder

Anônimo segunda-feira, 6 de outubro de 2014 16:20:00 BRT


Olá! você poderia dar uma dica de como obter o sinal de saída?

Grato

Francisco
Responder

Alex Brandini quinta-feira, 18 de agosto de 2016 11:14:00 BRT


Oi Tiago, bom dia
Tenho o seguinte problema em um programa de leitura analógica com o PIC 16f877, estou tentando
realizar a leitura simultânea de dois canais (RA01 e RA02), porém, quando chega a leitura para mim o
valor do canal 01 oscila com a do canal 02, ou seja, ora lê o valor de um, ora lê o valor do outro no no
mesmo label, nao estou conseguindo separar os valores em label distintos para leitura no c++ buider 6,
pode me ajudar aonde estou errando?
Responder
Digite seu comentário...

Comentar como: airtonjoseflores Sair

Publicar Visualizar Notifique-me

Assinar: Postar comentários (Atom)

Вам также может понравиться