Você está na página 1de 20

MICROPROCESSADORES

Maikon Lucian Lenz


Conversores analógico
para digital
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:

„„ Diferenciar sinais elétricos analógicos e digitais.


„„ Analisar conversores analógico–digitais.
„„ Caracterizar conversores digital–analógicos.

Introdução
Os sinais elétricos podem ser contínuos ou discretos. Entre os sinais dis-
cretos há uma categoria especial muito utilizada: os sinais digitais. Um
sinal digital possui apenas dois níveis de tensão e codifica a informação
no tempo, além de ser mais eficiente para manipular a informação, pro-
cessando e transmitindo dados. Uma vez que os microcontroladores
precisem interagir com variáveis do meio externo, é natural que possuam
mecanismos que permitam a interação entre sinais elétricos analógicos
e digitais integrados a eles. Os conversores analógico-digital e digital-
-analógico possuem muitas características em comum, mas o primeiro,
em algumas metodologias de conversão, pode fazer uso do segundo.
Para o programador, ambos os conversores são manipulados, alterando
a configuração de registradores diretamente vinculados a seu hardware
nos endereços de memória reservados para estes.
Neste capítulo, você compreenderá a diferença entre sinais elétricos
analógicos e digitais, assim como aprenderá a analisar conversores analó-
gico–digitais. Você conhecerá, também, as características de conversores
digital–analógicos.
2 Conversores analógico para digital

Tipos de sinais elétricos


Um sinal pode ser definido como um fenômeno físico que varia ao longo do
tempo e é utilizado para transferir algum tipo de informação (ROBERTS,
2009). Os sinais são úteis para os microcontroladores justamente por per-
mitirem a comunicação e a manipulação de informações por meios físicos.
Assim, processadores, sensores, atuadores e até memórias podem utilizar um
sinal para exercer funções, sem a necessidade de intervenção. Cabe ressaltar
que o fenômeno físico envolvido não tem, na maioria das vezes, qualquer
relação com a informação mensurada ou transmitida, servindo apenas de
instrumento para que os dispositivos possam operar de maneira adequada. Ou
seja, a mesma informação pode ser transmitida por som, luz, eletricidade ou
algum outro fenômeno físico. A escolha deste será de acordo com sua maior
eficiência para se trabalhar.
Sinais elétricos já eram amplamente utilizados antes da eletrônica digi-
tal, no entanto, com a modernização da eletrônica, a potência envolvida na
transmissão, captura e processamento de sinais, reduziu de forma drástica,
tornando as ondas eletromagnéticas um dos meios mais utilizados para todos
os tipos de aplicações.
Os sinais elétricos podem ser divididos em analógicos (Figura 1a), que
variam de forma contínua no tempo e são mais comuns na natureza; e digitais
(Figura 1b), sinais de natureza discreta, com finitas divisões ao longo do tempo
(TOKHEIM, 2013). Normalmente, sinais digitais são fruto da amostragem
de um sinal analógico por algum equipamento elétrico e a posterior codifi-
cação para um padrão determinado, usualmente o sistema numérico binário
(ROBERTS, 2009).

Figura 1. (a) Sinal analógico. (b) Sinal digital.


Fonte: Adaptada de Roberts (2009).
Conversores analógico para digital 3

Ao fazer a amostragem de um sinal analógico e codificá-lo para digital,


haverá sempre alguma interferência do equipamento que irá modificá-lo,
mesmo que em pequena intensidade. O sinal digital jamais será capaz de
manter a resolução de um sinal analógico, já que a única forma de garantir a
integridade do sinal original seria o uso de infinitas amostragens, que resul-
tariam no mesmo sinal analógico.
Inicialmente, sinais analógicos seriam melhores para um sistema que deman-
dasse precisão e exatidão, como é o caso dos processadores e microcontroladores.
No entanto, parte da energia de qualquer sinal elétrico é perdida ou utilizada pelos
dispositivos que o transmitem e o manipulam, de forma que um sinal analógico
demanda boa eficiência de transmissão e/ou equipamentos capazes de regenerar
o sinal original, amplificando a potência perdida de tempos em tempos.
Já para o sinal digital há significativa perda de resolução durante a amostra-
gem, mas essa desvantagem passa a ser uma vantagem à medida que o sinal é
utilizado, pois a renegação de um sinal discreto é mais simples e a interferência
e a dissipação de potência sofridas por ele também tendem a impactar menos.
O meio utilizado para modificar um sinal é chamado de sistema, que entrega
um novo sinal na saída, reagindo a um estímulo na entrada. Junto ao sinal que
contém as informações transmitidas, é comum a presença de ruídos, tipo de
sinal indesejado e que não contém informação relevante para o sistema, mas
que pode afetar seu funcionamento. O ruído pode surgir em qualquer parte
do sistema (ROBERTS, 2009).
O sinal sempre flui de um emissor para um receptor, sejam eles pertencen-
tes a um mesmo dispositivo ou não. O sinal pode ser transmitido entre dois
equipamentos distantes um do outro ou entre componentes dentro do mesmo
equipamento, como é o caso do sinal de clock gerado por um circuito oscilado
em conjunto com um cristal que dita o ritmo de trabalho da unidade de controle
do microcontrolador. O caminho percorrido pelo sinal entre emissor e receptor
é comumente chamado de canal (Figura 2) (ROBERTS, 2009).

Figura 2. Fluxo da informação.


Fonte: Roberts (2009, p. 1).
4 Conversores analógico para digital

Com a transformação do sinal analógico em digital, apesar da perda inicial


de resolução, a informação amostrada é preservada e manipulada com maior
facilidade. Isto decorre da própria natureza do sinal digital, que utiliza valores
discretos com grande diferença de valor entre cada nível para representar
uma determinada informação. Assim, pequenas variações de potência ou
interferências não afetarão os dados.

Circuitos que transformam um tipo de sinal em outro são chamados de interface e


conectam duas formas diferentes de representar o mesmo dado/informação (TOKHEIM,
2013).

Conversor digital–analógico
Microprocessadores e microcontroladores trabalham com sinais digitais devido
às vantagens oferecidas na manipulação e na transmissão de informações
nesta metodologia.
Os fenômenos físicos, por sua vez, são em sua maioria analógicos e, para
que tenham algum sentido em microcontroladores, precisam ser convertidos
para um sinal digital. O mesmo é válido para a maioria das situações em
que o microcontrolador precisa manipular alguma variável externa a ele.
Ao controlar a amplitude da tensão sobre um atuador, pode-se controlar a
temperatura de um ambiente, a pressão em uma caldeira ou a velocidade de
um motor. É claro que existem outras formas de atuação direta ou indireta,
mas muitas delas necessitam de uma tensão continuamente variável ou o mais
próximo que se possa obter disso.
De um modo geral, na conversão digital-analógica, o que se pretende é
converter um número binário presente na memória do microcontrolador em
uma tensão proporcional a este número. A tensão mais baixa corresponderá
ao menor valor numérico, a tensão mais alta ao valor máximo, e cada estado
intermediário estará igualmente divido entre esses limites.
Conversores analógico para digital 5

Percebe-se que a resolução possível está diretamente restringida ao tamanho


da palavra binária. Um número de 4 bits, que representasse um valor entre 0
e 12 V de tensão, teria apenas 16 níveis de tensão diferentes — Equação (1).

estados = 2N (1)

em que
N: quantidade de bits

Sendo o primeiro estado o valor de 0V, haveria outros 15 níveis que deveriam
ser divididos igualmente — Equação (2).

(2)

em que
Vmax: tensão máxima
Vmin: tensão mínima

Neste caso, a menor variação possível de ser representada pelo conversor


digital-analógico seria de 0,8V — Equação (3).

(3)

Conhecendo a resolução determinada pela quantidade de bits da palavra


binária e os níveis de máximo, mínimo e variação de tensão, pode-se representar
o problema na forma de tabela-verdade, na qual são especificados os valores
de tensão e binário em todas as situações possíveis (Quadro 1).
6 Conversores analógico para digital

Quadro 1. Tabela-verdade de um conversor digital–analógico de 4 bits para 0 a 12 V

Entradas digitais Saída analógica

# D C B A Tensão (V)

1 0 0 0 0 0

2 0 0 0 1 0,8

3 0 0 1 0 1,6

4 0 0 1 1 2,4

5 0 1 0 0 3,2

6 0 1 0 1 4,0

7 0 1 1 0 4,8

8 0 1 1 1 5,6

9 1 0 0 0 6,4

10 1 0 0 1 7,2

11 1 0 1 0 8,0

12 1 0 1 1 8,8

13 1 1 0 0 9,6

14 1 1 0 1 10,4

15 1 1 1 0 11,2

16 1 1 1 1 12,0

Existem várias formas de implementar um amplificador deste tipo. Pode-


-se, por exemplo, distribuir resistores de valores diferentes para cada um
dos bits a serem convertidos, considerando que quanto mais à esquerda do
número, maior é seu peso; e utilizar um amplificador operacional para que
com a variação de corrente na sua entrada o mesmo efeito seja percebido em
sua saída. O ganho de um amplificador operacional depende da combinação
de componentes em suas entradas e da realimentação utilizada. No caso,
pretende-se obter um somador ponderado cujo ganho é definido pela relação
entre a impedância de realimentação e a impedância da entrada inversora —
Equação (4) (TOKHEIM, 2013).
Conversores analógico para digital 7

(4)

A resistência de realimentação deverá ser 15 vezes maior que a resistência


utilizada para o bit A, o de menor peso, para manter a mesma variação de 0,8
V da tabela-verdade. Cada bit mais significativo será ligado a uma resistência
duas vezes menor que o bit imediatamente anterior (Figura 3).

Figura 3. Conversor digital–analógico.

A partir deste circuito, basta que o endereço de memória vinculado a cada


um dos bits especificados por A, B, C e D do conversor possuam os valores
corretos para ter controle de uma tensão próxima da analógica.
Microcontroladores podem conter um conversor digital–analógico integrado
aos demais periféricos. Para tanto, um endereço de memória do microcon-
trolador está diretamente interligado ao conversor e costuma ser reservado
exclusivamente para esta finalidade. Qualquer valor que seja escrito pelo
programador neste endereço resultará em uma saída analógica.
Nos microcontroladores PIC, a configuração do conversor digital–analógico
costuma incluir a seleção do nível de tensão de referência, que pode ser a
mesma da alimentação, algum outro padrão abaixo disso ou a tensão existente
em um pino especificamente atribuído para servir de nível de referência.
Outras configurações podem incluir a escolha de um gatilho para alterar a
8 Conversores analógico para digital

tensão analógica em vez de a mudança ocorrer no instante em que o valor é


alternado na memória, funcionamento em modo de baixa potência, justificação
dos dados na memória, entre outros (MICROCHIP TECHNOLOGY, 2012).
A família PIC24F possui conversores de 10 bits construídos a partir da
técnica de resistores em escada, como o exemplo da Figura 3. O diagrama de
blocos pode ser observado na Figura 4.

Figura 4. Diagrama de blocos dos conversores digital-analógico de 10 bits da família PIC24F.


Fonte: Microchip Technology (2012, p. 2)

Repare que o barramento de 10 bits é alimentado por um buffer e um


registrador denominado DACxDAT. Este consiste em duas unidades de me-
mória de 8 bits cujos dados podem ser justificados à direita ou à esquerda.
Além deste, outro registrador é responsável por controlar o funcionamento do
módulo, o registrador DACxCON. Na terminologia utilizada pelo fabricante,
o x é substituído pelo índice do módulo, já que um mesmo microcontrolador
pode ter mais de um canal ou módulo de mesma função. No caso, o módulo 1
de conversão digital–analógica utilizaria o registrador DAC1DAT. O mesmo é
Conversores analógico para digital 9

válido para o pino de saída DACx e o flag de interrupção do módulo DACxIF


(MICROCHIP TECHNOLOGY, 2012).
A nomenclatura utilizada costuma ser a mesma no datasheet e nas biblio-
tecas adicionadas ao compilador para o PIC.
Enquanto o registrador DACxDAT armazena o valor que será convertido
de digital para analógico, o DACxCON faz a habilitação do módulo e da
saída, a justificação dos dados, seleciona a forma de gatilho, faz a operação
em modo de hibernação e configura a tensão de referência (MICROCHIP
TECHNOLOGY, 2012).
Um multiplexador seleciona o periférico que dispara o gatilho para alteração
da saída analógica, configurado pelos bits 0 a 4 do registrador DACxCON
ou somente como DACTSEL. Outro multiplexador seleciona a tensão de re-
ferência, dependendo da configuração de DACREF (bits 0 e 1 do registrador
DACxCON). Já o buffer de saída libera o sinal com base nas configurações
do DACSIDL (parar quando ocioso), DACSLP (parar quando em hibernação),
DACEN (habilitação do módulo) e DACOE (habilitação da saída) (MICRO-
CHIP TECHNOLOGY, 2012).

Um microcontrolador é alimentado pela tensão de 5 V e se deseja obter o valor de 2,5


V no pino de saída do módulo analógico 1 deste, sem gatilho. Deve-se configurar a
referência como sendo a própria alimentação, já que a tensão de 2,5 V corresponde à
metade desta e pode-se obter um valor bem próximo. Além disso, o módulo deverá
ser ligado e a saída habilitada. Ao consultar o datasheet, constata-se que será necessário:
„„ Configurar os bits 1 e 0 (DACREF) do registrador DAC1CON como 1 e 0 respec-
tivamente.
„„ Configurar o bit 8 (DACTRIG) do registrador DAC1CON como 0 para realizar a con-
versão imediatamente após a mudança de valor na memória.
„„ Gravar o valor 512 no registrador DAC1DAT para obter metade da tensão de refe-
rência, já que o valor máximo para uma resolução de 10 bits é de 1024.
„„ Configurar o bit 15 (DACEN) do registrador DAC1CON como 1 para habilitar o módulo.
„„ Configurar o bit 7 (DACOE) do registrador DAC1CON como 1 para habilitar o buffer
de saída.
10 Conversores analógico para digital

Para tanto, o compilador dispões dos comandos:

BSET F, X Ativa o bit X do registrador F


BCLEAR F, X Desliga o bit X do registrador F
MOVLW X Move o valor X para o registrador W
MOVF X Move o valor de W para o registrador X

BSET DAC1CON, 1
BCLEAR DAC1CON, 0
BCLEAR DAC1CON, 8
MOVLW 512
MOVF DAC1DAT
BSET DACEN, 15
BSET DACOE, 7

Uma vez executadas estas instruções, espera-se que o valor da saída analógica seja
de aproximadamente 2,5 V.

Conversores analógico–digital
Para converter um sinal analógico para digital é necessário realizar a amos-
tragem, a quantização e a codificação (ROBERTS, 2009). A amostragem
consiste em determinar a amplitude de um sinal em diferentes instantes de
tempo, normalmente distantes por um mesmo intervalo. Nesse momento, o
sinal deixa de ser contínuo no tempo, mas ainda é contínuo em termos de
intensidade (ROBERTS, 2009).
A quantização enquadra o sinal dentro de níveis finitos e conhecidos,
restringindo os valores possíveis de representação. Agora o sinal é discreto,
não sendo mais contínuo no tempo ou em termos de valor (ROBERTS, 2009).
Por fim, a codificação irá transformar o valor obtido pela quantização
em um equivalente binário. Como cada dígito binário possui somente dois
estados (0 ou 1), a quantidade de valores possíveis de representação após a
quantização deverá ser equivalente à quantidade de dígitos disponíveis para
representar o mesmo número de forma binária. Todo o processo pode ser
observado na Figura 5.
Conversores analógico para digital 11

Figura 5. Etapas da digitalização de um sinal.


Fonte: Roberts (2009, p. 5).

Um dado de informação pode ser de vários bits. O tamanho normalmente


está ligado à precisão e à capacidade de amostragem/quantização do circuito,
mas é comum o uso de dimensões múltiplas de 8 bits, por ser o equivalente
a um byte. O byte é a unidade de tamanho mais utilizada para determinar
quantidade de informações digitais (WEBER, 2012).
Assim, a qualidade e a precisão do sistema de conversão analógico–digital
terá relação direta com a eficiência dos circuitos que efetuam a amostragem,
a quantização e o tamanho da palavra binária utilizada pelas memórias ou
restante do sistema. Os elementos costumam ter resoluções similares entre si, a
fim de evitar desperdícios de recurso, o que normalmente aumentaria o custo.
12 Conversores analógico para digital

A construção de um conversor analógico–digital reúne elementos de ele-


trônica analógica e eletrônica digital, mas se equipara muito a um circuito
codificador. O esquema básico de um conversor deste tipo é demonstrado na
Figura 6.

Figura 6. Conversor analógico–digital.


Fonte: Tokheim (2013, p. 464).

Durante a amostragem, um buffer é alimentado diretamente pela tensão


de entrada a ser convertida, isto para evitar que a variação no sinal de entrada
durante a conversão ocasione algum erro. A partir da tensão amostrada,
um circuito fará a quantização da tensão para níveis que se enquadrem na
resolução do conversor.
Uma forma de quantizar o sinal é utilizar um circuito comparador de
tensão, que pode ser construído com o auxílio de um amplificador operacional
novamente. O comparador recebe a tensão de entrada analógica e a tensão
quantizada atual. Caso a tensão de entrada ainda seja maior que a quantizada,
um contador incrementa o valor binário que também alimenta um conversor
digital–analógico (TOKHEIM, 2013).
Para que um contador funcione é necessário detectar a mudança de sinal
no terminal de clock. Assim, em conjunto com o comparador de tensão, que
sempre será igual a 1 enquanto a tensão quantizada for menor que a tensão da
codificada, será combinado com uma porta AND com o sinal de clock. A cada
pulso de clock, a porta AND passa por um momento em que sua saída é igual
Conversores analógico para digital 13

a 1, servindo de gatilho para o circuito contador. O resultado da contagem é


o próprio valor da codificação, último estágio da conversão analógico–digital
que serve de base para o conversor digital–analógico que alimenta o compa-
rador de tensão. Para esta técnica, o módulo analógico–digital necessita de
um conversor digital–analógico (Figura 7) (TOKHEIM, 2013).

Figura 7. Conversor analógico–digital com comparador e contador.


Fonte: Tokheim (2013, p. 466).

No momento em que a tensão de quantização for maior que a tensão de


entrada, o contador não será mais disparado e o valor permanecerá estável até
que aquele endereço de memória seja reiniciado, momento em que a tensão do
circuito de quantização, novamente em 0 V, será menor que a tensão de entrada.
A conversão analógico–digital, no entanto, requer mais cuidados se com-
parada ao processo inverso. Haverá uma quantidade maior de configurações.
Nos microcontroladores PIC, os módulos analógicos, apesar de possuírem
mais de um canal, são capazes somente de efetuar a conversão de um canal
por vez. Assim, o microcontrolador consegue converter o sinal de fontes di-
ferentes, ao mesmo tempo. Por aproveitar o mesmo módulo de conversão para
todos os canais, o circuito e a quantidade de memória ocupada são reduzidos
(MICROCHIP TECHNOLOGY, 2009).
14 Conversores analógico para digital

Muitas características são comuns aos módulos analógico–digital e digi-


tal–analógico, como o uso de dois registradores com modo de justificação/
orientação dos dados configuráveis. No entanto, uma vez que o valor é obtido
pela aproximação sucessiva de conversões digitais–analógicas comparadas
à tensão de entrada e a amostragem requer que o tempo de estabilização do
buffer seja obedecido, o tempo de conversão costuma ser maior e deve-se
configurar inclusive a frequência de conversão para garantir a qualidade.
O diagrama de blocos básico do módulo de conversão analógica–digital
do PIC16F877A pode ser observado na Figura 8. Perceba que vários pinos
compartilham de um mesmo barramento para a entrada do módulo. Estes
são selecionados pela configuração de CHS2, CHS1 e CHS0, bits 5, 4 e 3 do
registrador ADCON0, respectivamente, responsável por parte da configuração
do conversor (MICROCHIP TECHNOLOGY, 2003).

Figura 8. Diagrama de blocos do módulo de conversão analógico-digital do PIC16F877A.


Fonte: Microchip Technology (2003).

Repare ainda que, na Figura 8, cada um dos oito canais de entrada do


conversor está ligado a um pino com mais de uma função atribuída. Todos
possuem alguma função vinculada e configurada pelo módulo analógico, mas
Conversores analógico para digital 15

também podem ser pinos de entrada e saída digital da porta A ou E, assim


como a tensão de referência utilizada pelo comparador de tensão pode ser a
tensão de alimentação ou os pinos RA3/AN3/VREF+ e RA2/AN2/VREF-.
Outras configurações envolvem a frequência de conversão em ADCS2,
ADCS1 e ADCS0, que correspondem aos bits 6 do registrador ADCON1, 7 e 6
do registrador ADCON0, respectivamente; a habilitação da conversão (ADON,
bit 0 do registrador ADCON0); o alinhamento dos bits na representação do valor
convertido (ADFM, bit 7 do registrador ADCON1); e a configuração da função
dos pinos envolvidos, que podem ser entrada/saída digital ou pertencerem ao
módulo analógico, à depender da combinação fornecida ao PCFG3, PCFG2,
PCFG1 e PCFG0, bits 3, 2, 1 e 0 do registrador ADCON1, respectivamente
(MICROCHIP TECHNOLOGY, 2003).
A rotina de conversão consiste em configurar os pinos e as tensões de
referência; selecionar o canal para ser amostrado; determinar a frequência de
conversão; habilitar o módulo; habilitar as interrupções; aguardar o tempo
de amostragem especificado no datasheet; ordenar a conversão (ligando o
endereço GO, bit 2 do registrado ADCON0); e aguardar que a interrupção
sinalize o final do processo. A partir daí é possível fazer a leitura dos regis-
tradores ADRESH e ADRESL que, em conjunto, representam o resultado da
conversão (MICROCHIP TECHNOLOGY, 2003).

Utilizando um PIC16F877A, escreva um código que efetue a conversão do canal 0


(AN0) do microcontrolador, considerando um clock de 1 MHz e as orientações do
datasheet a seguir.
„„ Tempo de aquisição mínimo de 19,72 µs.
„„ Configurar todos os bits PCFG como 1, exceto PCFG0, para manter apenas o pino
RA0/AN0 em função analógica e a tensão de referência a mesma da alimentação.
„„ Configurar todos os bits de ADCS como 0 para ter o maior tempo de aquisição.
„„ Configurar ADFM como 1 para que o resultado seja justificado à direita.
„„ Configurar todos os bits CHS como 0 para selecionar o canal 0 (AN0).
„„ Zerar o flag que sinaliza a interrupção do módulo analógico (ADIF, bit 6 do regis-
trador PIR1).
„„ Habilitar a interrupção do módulo analógico (ADIE, bit 6 do registrador PIE1).
„„ Habilitar as interrupções de periféricos (PEIE) e globais (GIE), bits 6 e 7 do registrador
INTCON, respectivamente.
„„ Aguardar o tempo de aquisição.
„„ Ordenar a conversão, configurando o bit GO como 1.
16 Conversores analógico para digital

Para isto, o compilador dispõe dos comandos a seguir.

BSF F, X Ativa o bit X do registrador F


BCF F, X Desliga o bit X do registrador F
MOVLW X Move o valor X para o registrador W
MOVF X Move o valor de W para o registrador X
NOP Aguarda um ciclo de máquina (quatro pulsos de clock)

Com um clock de 1 MHz, o tempo para cada pulso corresponde a 1 µs e um ciclo


de máquina de 4 µs. Pode-se garantir o tempo de aquisição necessário aguardando
cinco ciclos de máquina pelo comando NOP.

BSF ADCON1, 3
BSF ADCON1, 2
BSF ADCON1, 1
BCF ADCON1, 0

BCF ADCON1, 6
BCF ADCON0, 7
BCF ADCON0, 6

BSF ADCON1, 7

BCF ADCON0, 5
BCF ADCON0, 4
BCF ADCON0, 3

BCF PIR1, 6
BSF PIE1, 6
BSF INTCON, 6
BSF INTCON, 7

NOP
NOP
NOP
NOP
NOP

BSF ADCON0, 2

Ao final da conversão, o módulo deve sinalizar por ADIF a sua conclusão. O programa-
dor pode monitorar este bit para saber a partir de que momento o valor presente no
endereço de memória utilizado pelo conversor pode ser considerado um valor válido.
Conversores analógico para digital 17

MICROCHIP TECHNOLOGY. 10-Bit A/D Converter. Chandler, 2009. Section 17. 42 p. Dis-
ponível em: http://ww1.microchip.com/downloads/en/devicedoc/39705b.pdf. Acesso
em: 11 jul. 2019.
MICROCHIP TECHNOLOGY. 10-bit Digital-to-Analog Converter (DAC). Chandler,
2012. Section 62. 14 p. Disponível em: http://ww1.microchip.com/downloads/en/
DeviceDoc/39615A.pdf. Acesso em: 11 jul. 2019.
MICROCHIP TECHNOLOGY. PIC16F87XA Data Sheet: 28/40/44-Pin Enhanced Flash Mi-
crocontrollers. Chandler, 2003. 234 p. Disponível em: http://ww1.microchip.com/
downloads/en/DeviceDoc/39582b.pdf. Acesso em: 11 jul. 2019.
ROBERTS, M. J. Fundamentos em sinais e sistemas. Porto Alegre: AMGH; Bookman, 2009.
764 p.
TOKHEIM, R. Fundamentos de eletrônica digital: sistemas sequenciais. 7. ed. Porto Alegre:
AMGH; Bookman, 2013. v. 2. 274 p. (Série Tekne).
WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Bookman,
2012. 424 p. (Série Livros Didáticos Informática UFRGS).

Leituras recomendadas
PEREIRA, F. Microcontrolador PIC 18 detalhado: hardware e software. São Paulo: Érica,
2010. 304 p.
PEREIRA, F. Microcontroladores PIC: técnicas avançadas. 6. ed. São Paulo: Érica, 2007. 368 p.
PINHEIRO, F. A. C. Elementos de programação em C: em conformidade com o padrão
ISO/IEC 9899. Porto Alegre: Bookman, 2012. 548 p.
SOUZA, D. J. Desbravando o PIC: ampliado e atualizado para PIC16F628A. 6. ed. São
Paulo: Érica, 2003. 268 p.

Você também pode gostar