apresentacao adc pic16f877a
TRANSCRIPT
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁUNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICADEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA
CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICACURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA
1UTFPR – Campus Curitiba
Prof. Amauri Assef
Disciplina de Sistemas MicrocontroladosDisciplina de Sistemas Microcontrolados
Conversor Analógico para Digital Conversor Analógico para Digital -- PIC16F877APIC16F877A
Prof. Amauri AssefProf. Amauri Assef
[email protected]@utfpr.edu.br
Conversor Analógico para DigitalConversor Analógico para Digital
Características do módulo A/DCaracterísticas do módulo A/D� 10 bits de conversão
� 8 canais de entrada
� AN0 – RA0
� AN1 – RA1
� AN2 – RA2
2UTFPR – Campus Curitiba
Prof. Amauri Assef
� AN2 – RA2
� AN3 – RA3
� AN4 – RA5
� AN5 – RE0
� AN6 – RE1
� AN7 – RE2
� Tensões de referência config.
� Vref+ (superior)
� Vref- (inferior)
CHS2:CHS0
Conversor Analógico para DigitalConversor Analógico para Digital
Diagrama em bloco do A/DDiagrama em bloco do A/D
PCFG3:PCFG0
PCFG3:PCFG0
3UTFPR – Campus Curitiba
Prof. Amauri Assef
Conversor Analógico para DigitalConversor Analógico para Digital
Modelo da entrada analógicaModelo da entrada analógica� Amostragem e retenção – sample and hold
4UTFPR – Campus Curitiba
Prof. Amauri Assef
Conversor Analógico para DigitalConversor Analógico para Digital
Diagrama em blocos do tratamento do sinal analógicoDiagrama em blocos do tratamento do sinal analógico
PIC16F877A
Grandeza física
de processo
(temperatura, Sinal analógico
convertido em Sinal analógico
5UTFPR – Campus Curitiba
Prof. Amauri Assef
Transdutor Condicionamento do sinal
A/D
PIC16F877A(temperatura,
umidade,
pressão, etc.)
convertido em
tensão ou
corrente
Sinal analógico
condicionado
Conversor Analógico para DigitalConversor Analógico para Digital
DefiniçõesDefinições� O módulo conversor analógico-digital (A/D) realiza a conversão de uma tensão
analógica em valores digitais, isto é, números binários;
� Para o PIC16F877A a conversão do valor analógico em digital é realizada com
comprimento de 10 bits;
� Quanto maior a quantidade de bits maior a resolução e precisão do A/D
Por exemplo: supondo que a tensão aplicada ao pino de A/D varia entre 0 a 5V
6UTFPR – Campus Curitiba
Prof. Amauri Assef
� Por exemplo: supondo que a tensão aplicada ao pino de A/D varia entre 0 a 5V
(tensão de fundo de escala), e o conversor possui 8 bits (N), a resolução é de:
� Alterando o conversor A/D para 10 bits, temos:
Conversor Analógico para DigitalConversor Analógico para Digital
Conversão do sinal analógico em digitalConversão do sinal analógico em digital� Parâmetros:
� A/D de 8 bits
� + Vref = Vdd = 5V
� - Vref = Vss = 0V
� Resolução de 19,61mV/bit
Níveis de Tensão (V) Representação binária
0 B’0000 0000’
19,61m B’0000 0001’
... ...
7UTFPR – Campus Curitiba
Prof. Amauri Assef
� Resolução de 19,61mV/bit
� Parâmetros:
� A/D de 10 bits
� + Vref = Vdd = 5V
� - Vref = Vss = 0V
� Resolução de 4,88mV/bit
... ...
5 B’1111 1111’
Níveis de Tensão (V) Representação binária
0 B’00 0000 0000’
4,88m B’00 0000 0001’
... ...
5 B’11 1111 1111’
Conversor Analógico para DigitalConversor Analógico para Digital
Exemplos de cálculo para conversão A/DExemplos de cálculo para conversão A/D� Parâmetros:
� A/D de 8 bits
� + Vref = Vdd = 5V
� - Vref = Vss = 0V
� Resolução de 19,61mV/bit
5V → 255
2,5V → X
8UTFPR – Campus Curitiba
Prof. Amauri Assef
� Resolução de 19,61mV/bit
� 2,5V = ?
� Parâmetros:
� A/D de 10 bits
� + Vref = Vdd = 5V
� - Vref = Vss = 0V
� Resolução de 4,88mV/bit
� 2,5V = ?
X = 127,5 ≈ 128
5V → 1023
2,5V → X
X = 511,5 ≈ 512
Conversor Analógico para DigitalConversor Analógico para Digital
Registradores de 8 bits do módulo A/DRegistradores de 8 bits do módulo A/D
� ADCON0 (A/D Control Register 0):
� Controla a operação do módulo A/D
� ADCON1 (A/D Control Register 1):
9UTFPR – Campus Curitiba
Prof. Amauri Assef
� ADCON1 (A/D Control Register 1):
� Configura as funções do PORTA e PORTE, e como o resultado será armazenado
� ADRESH (A/D Result High Register):
� Parte alta do resultado do A/D
� ADRESL (A/D Result Low Register):
� Parte baixa do resultado do A/D
Conversor Analógico para DigitalConversor Analógico para Digital
Registrador ADCON0 (Endereço 1FH Registrador ADCON0 (Endereço 1FH –– Banco 0)Banco 0)
� ADCS1:ADCS0: Seleção do clock de conversão do A/D
em conjunto com o ADCON1
� 00 - Fosc/2
� 01 - Fosc/8
� GO//DONE: Bit de status da conversão A/D
� 0 – conversor A/D em espera
� 1 – conversão A/D em progresso
10UTFPR – Campus Curitiba
Prof. Amauri Assef
� 01 - Fosc/8
� 10 - Fosc/32
� 11 – Frc (clock derivado do oscilador interno RC)
� CHS2:CHS0: Seleção do canal analógico
� 000 – canal 0 (AN0)
� 001 – canal 1 (AN1)
� 010 – canal 2 (AN2)
� 011 – canal 3 (AN3)
� 100 – canal 4 (AN4)
� 101 – canal 5 (AN5)
� 110 – canal 6 (AN6)
� 111 – canal 7 (AN7)
� (setar este bit para iniciar conversão)
� ADON: Bit para ligar o módulo A/D
� 0 – conversão A/D desligado
� 1 – conversor A/D ligado
Conversor Analógico para DigitalConversor Analógico para Digital
Registrador ADCON1 (Endereço 9FH Registrador ADCON1 (Endereço 9FH –– Banco 1)Banco 1)
� ADFM: Seleção do formato do resultado do A/D
� 0 – justificado à esquerda
� 1 – justificado à direita
11UTFPR – Campus Curitiba
Prof. Amauri Assef
� 1 – justificado à direita
� ADCS2: Seleção do clock em conjunto com os bits ADCS1: ADCS0 do registradorADCON0
Conversor Analógico para DigitalConversor Analógico para Digital
Registrador ADCON1 (Endereço 9FH Registrador ADCON1 (Endereço 9FH –– Banco 1)Banco 1)
� PCFG3:PCFG0: Bits de controle de configuração do PORTA e PORTE
12UTFPR – Campus Curitiba
Prof. Amauri Assef
Conversor Analógico para DigitalConversor Analógico para Digital
Registrador ADCON1 (Endereço 9FH Registrador ADCON1 (Endereço 9FH –– Banco 1)Banco 1)
� Resultado do A/D justificado
13UTFPR – Campus Curitiba
Prof. Amauri Assef
Conversor Analógico para DigitalConversor Analógico para Digital
Exemplo:Exemplo:
1) Escrever o firmware para mostrar o valor de conversor A/D do canal 0 através dos LEDS
conectados no PORTD. Utilizar Fosc/2 e dividir o valor lido por 4 para condicionar o resultado em
8 bits:
2) Escrever o firmware para digitalizar o valor analógico do sensor de temperatura LM35 (10mV/°C) e
14UTFPR – Campus Curitiba
Prof. Amauri Assef
2) Escrever o firmware para digitalizar o valor analógico do sensor de temperatura LM35 (10mV/°C) e
apresentar a temperatura equivalente no LCD 16x2:
Conversor Analógico para DigitalConversor Analógico para Digital
CH_1 CH_2
ADC_POT
ADC_POTADC_LM35
CH_1CH_2
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16
RC2/CCP1 17
RC3/SCK/SCL 18
RB7/PGD 40RB6/PGC 39
RB5 38RB4 37
RB3/PGM 36RB2 35RB1 34
RB0/INT 33
24RC4/SDI/SDA 23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI 15
1
U1
VDD
X1CRYSTAL
C1
15pF
C2
15pFR910k
VDD
R1010k
VDD50
%
RV1
VDD
15UTFPR – Campus Curitiba
Prof. Amauri Assef
ADC_LM35
RD0/PSP0 19
RD1/PSP1 20
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/RX/DT 26RC6/TX/CK 25
RC5/SDO 24RC4/SDI/SDA
MCLR/Vpp/THV1
PIC16F877A
R1110k
R1330
R2330
R3330
R4330
R5330
R6330
R7330
R8330
D1LED-RED
D2LED-RED
D3LED-RED
D4LED-RED
D5LED-RED
D6LED-RED
D7LED-RED
D8LED-RED
1k
27.0
3
1
VOUT 2
U2
LM35
VDD