Sistemas Microcontrolados Aula 4 Conversores AD
Prof. Ronaldo Vaqueli de Paula
Objetivo
• Configurar e acessar o AD do microcontrolador AD (Conversor Analógico Digital)
Em muitas aplicações, pode ser necessário realizar a leitura de grandezas analógicas do mundo exterior.
Normalmente, utilizam-se sensores especiais para converter a grandeza desejada em um nível de tensão proporcional. Pode-se efetuar a leitura destas tensões por intermédio de um conversor analógico/digital, cuja função é converter a tensão analógica em um número binário, proporcional à tensão analógica.
Nos conversores A/D, utiliza-se uma tensão de referência (normalmente chamada de
Vref), que serve de fundo de escala para o sinal de saída do conversor, ou seja, as saídas do conversor estarão todas em nível “1”, quando a tensão de entrada do conversor for igual ou maior que a tensão de Vref.
AD (Conversor Analógico Digital)
Para um conversor A/D com resolução de 10 bits e tensão de referência de 5V, o valor de cada bit será:
Valor de cada bit = 5 / (210 – 1) = 4,8876mV
Um resultado igual a 100 (em decimal) , teremos uma tensão de 100 *4,8876mV =
0,48876V
Para um conversor A/D com resolução de 8 bits e tensão de referência de 5V, o valor de cada bit será:
Valor de cada bit = 5 / (28 – 1) = 19,61mV
Um resultado igual a 100 (em decimal), teremos uma tensão de 100 * 0,01961V =
1,961V
Exemplo 1:
DEFINE ADC_BITS
8 ' ajusta número de bits do conversor A/D
DEFINE ADC_CLOCK
3
' ajusta fonte de clock
DEFINE ADC_SAMPLESUS 50 ' ajusta o tempo de amostragem em us
CONVERSOR
VAR BYTE
TRISA = %11111111
TRISD = %00000000
ADCON1 = %00000010
INICIO:
ADCIN 0,CONVERSOR
PORTD = CONVERSOR
PAUSE 1
GOTO INICIO
Exemplo 2:
DEFINE
DEFINE
DEFINE
ADC_BITS
10 ' ajusta número de bits do conversor A/D
ADC_CLOCK
3
' ajusta fonte de clock
ADC_SAMPLESUS 50 ' ajusta o tempo de amostragem em us
ADVAL
VAR
WORD
TRISA = %11111111
TESTE3:
IF ADVAL > 600 THEN TESTE4
PORTB = %00000111
GOTO INICIO
TESTE4:
TRISB = %00000000
IF ADVAL >