Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

PROJETO DE SISTEMAS 
MICROPROCESSADOS 
AULA 3 
 
 
 
 
 
 
 
 
 
 
 
 
Prof. Charles Way Hun Fung 
 
 
 
2 
 
CONVERSA INICIAL 
Nesta aula iremos, inicialmente, estudar os periféricos que são 
encontrados dentro do microcontrolador e na própria placa de desenvolvimento 
utilizada na disciplina. Esses dispositivos serão usados para o desenvolvimento 
dos projetos propostos nas aulas práticas. A seguir serão apresentados desde 
os conceitos internos do microcontrolador como portas, conversores 
analógicos/digitais, timers e contadores; da placa, serão apresentados os 
displays: sete segmentos e LCD. 
 
TEMA 1 – MICROCONTROLADOR PIC16F877A 
Os microcontroladores da família PIC16F87XA são fabricados pela 
Microchip. O nome PIC tem o significado de Peripheral Interface Controller 
(“interface de controle de periféricos”). Estes processadores são da arquitetura 
RISC, ou seja, cada instrução ser executada a cada ciclo de máquina, possuindo 
poucas instruções. Por serem microprocessadores apresentam: 
 Portas de entrada e saída de dados; 
 Pinos de controle: reset, alimentação e clock; 
 Processador; 
 Memória (RAM, ROM, EEPROM); 
 Serial; 
 Timers; 
 Conversores A/D e D/A. 
 
Pelas características de ser RISC, possui: 
 Conjunto de instruções com 35 operações; 
 Instruções são executadas em até 2 ciclos de clock; 
 Clock de até 20 MHz; 
 Ciclo de máquina de até 200ns; 
 Pinagem compatível com 28 pinos e 40/44 pinos. 
 
A pinagem do microcontrolador é apresentada na Figura 1, a qual 
apresenta os pinos com suas respectivas funções: 
 
 
 
3 
Figura 1: Pinagem de 40 pinos DIP do microcontrolador PIC16F877A 
 
 
Dentre os pinos alguns se destacam: 
 
/MCLR 
Este pino é conhecido como reset, sendo acionado em nível baixo. 
Quando ocorre o reset, o microcontrolador volta a executar a primeira linha de 
seu código fonte. A Figura 2 apresenta um exemplo de circuito de reset com o 
pino /MCLR. 
Figura 2: Circuito de reset 
 
 
 
 
 
 
4 
OSC1/CLKI e OSC2/CLKO 
Estes são pinos que serão conectados ao cristal de quartzo para produzir 
o clock para a operação do microcontrolador. A Figura 3 apresenta uma forma 
de ligação do cristal a estes dois pinos. 
Figura 3: Circuito oscilador de cristal de quartzo 
 
 
VDD e VSS 
São os pinos de alimentação. VDD é a alimentação positiva – no caso do 
microcontrolador PIC16F877A, é 5V. VSS é a alimentação negativa, 
normalmente é colocada a referência de 0V, como o terra. 
 
AN0 até AN7 
São entradas analógicas usadas para discretizar um determinado sinal. 
Esta conversão transforma valores analógicos de tensão em um conjunto de bits. 
No caso do PIC16F877A, os valores analógicos amostrados em 10 bits, ou seja, 
a escala de 0 a 5V é dividida em 1024 valores. A Figura 4 representa a 
discretização de um sinal por um conversor A/D de três bits, no qual a entrada 
Vin produz uma saída digital Vout. 
Figura 4: Amostragem de um sinal analógico por um conversor de 3 bits 
 
 
 
 
 
 
 
5 
RA0 até RA5, RB0 até RB7, RC0 até RC7, RD0 até RD7 e RE0 até RE2 
São os Ports ou GPIOs de entrada e saída do microcontrolador. O Port A 
é representado pelos pinos de RA0 a RA5, Port B é de RB0 a RB7, Port C de 
RC0 até RC7, Port D de RD0 a RD7 e Port E de RE0 a RE2. 
Os Ports são Configurados para indicar saída ou entrada, para isso cada 
Port possui um registrador de Configuração chamado TRIS. Cada bit do 
registrador TRIS indica se o respectivo pino é de entrada (1) ou saída (0). Por 
exemplo, o registrador TRISB: se for colocado nele o valor 00000001b, isso irá 
significar que no Port B, bit 0 é entrada e todos os outros bits são saída de dados. 
Desta forma, podemos concluir que os pinos são bidirecionais, mas de apenas 
um lado de cada vez. 
Há diversos outros pinos com sua devida importância, porém a 
funcionalidade destes pinos será explorada nas atividades práticas. Os próximos 
temas da aula abordarão sobre os periféricos do microcontrolador e da própria 
placa de desenvolvimento que usaremos na disciplina. 
 
TEMA 2 – MÓDULO DE TIMER 
Dentre os periféricos do microcontrolador PIC16F877A, um dos mais 
utilizados é o timer: este é usado para produzir uma base de tempo para o 
microcontrolador. Dentre suas funções se encontram a contagem de tempo (ou 
contagem de eventos). 
Há dois timers no PIC16F877A: Timer 0 e Timer 1. Cada um deles com 
uma contagem independe e com interrupções vinculadas. 
 
Timer 0 
Segundo o manual (datasheet) do microcontrolador, o Timer 0 tem as 
seguintes características: 
 Temporizador ou contador de 8 bits; 
 Possibilidade de leitura e gravação; 
 Tem a possibilidade de prescaler(*) por software de 8 bits; 
 Clock pode ser selecionado como interno ou externo; 
 Evento de interrupção quando ocorrer o overflow de FFh a 00h; 
 Seleção de borda do clock externo. 
(*) prescaler é a capacidade de diminuir o clock em um determinado fator. Ex.: o clock é de 
10MHz, o timer funciona a 1 MHz. Isto é uma redução em fator de 10. 
 
 
6 
 
A figura a seguir apresenta todos os registradores que estão associados 
ao Timer 0. 
 
Figura 5: Registradores que estão associados ao Timer 0 
 
Fonte: . 
 
Com base nestes registradores é possível Configurar o modo de operação 
do Timer 0. 
 
Modo contador 
Neste modo, o Timer 0 conta os eventos que acontecem no pino 
RA4/T0CKIN, quando este pino é Configurado como fonte de clock. Para isto, 
deve-se fazer algumas Configurações no registrador OPTION_REG, o qual é 
apresentado na Figura 6. 
Figura 6: OPTION_REG registrador de Configuração do Timer 
 
Fonte: . 
 
Bit T0CS: Define a fonte de clock do Timer 0: 
1 – Externo, no pino RA4/T0CKIN – modo contador 
0 – Interno, cristal de quartzo – modo temporizador 
 
Bit T0SE: Seleção de borda de transição para o pino RA4/T0CKIN: 
1 – Transição de nível alto para baixo 
2 – Transição de nível baixo para alto 
 
 
 
 
7 
Bit PSA: Habilitação do prescaler: 
1 – Desabilitado 
2 – Habilitado 
Normalmente o prescaler é desabilitado no modo contador. 
 
PS2, PS1, PS0 – Seleção do prescaler. 
 
Tabela 1: Seleção do prescaler com base nos bits PS0, PS1 e PS2 
Bits Taxa de TMR0 
000 1:2 
001 1:4 
010 1:8 
011 1:16 
100 1:32 
101 1:64 
110 1:128 
111 1:256 
 
O registrador TMR0 recebe o valor inicial da contagem, que pode variar 
de 0 a 255. No decorrer do programa este valor vai aumentando até ocorrer 
overflow (255 para 0). Quando isto ocorrer, o flag no registrador 
INTCON.TMR0IF indicará que há uma interrupção por Timer 0. Este bit de 
INTCONT deve ser zerado por software. O programa a seguir exemplifica o uso 
deste Timer. 
Figura 7: Programa exemplo do Timer 0 
 
Fonte: . 
 
 
8 
 
O programa na Figura 7 conta as ocorrências de eventos no pino 
RA4/T0CKIN. Quando ocorrer overflow na contagem, o flag INTCON.TMR0IF é 
verificado; nesta hora este mesmo flag é zerado, para esperar uma nova 
ocorrência de overflow e os pinos do Port B são invertidos. 
 
Modo temporizador 
Neste caso, o Timer 0 usa o cristal de quartzo como oscilador interno, ou 
seja, a contagem é com base em um fator de tempo bem conhecido, o clock do 
microcontrolador. Para operar desta forma deve-se Configurar: 
 T0CS: definição da fonte de clock com 0, indicando que é interno; 
 PSA: habilitação do prescaler com 0, indicando que está habilitado. 
 
Configurar o PS0, PS1 e PS2 de acordo com a necessidade, lembrando 
que quanto maior a divisão, maiores serão os tempos. 
 
Timer 1 
É um módulo temporizador/contador de 16 bits que usa como base dois 
registradores: TMR1H e TMR1L, ambos de 8 bits, sendo que o primeiro 
representa obyte mais significativo e o segundo o byte menos significativo. Isto 
significa que a temporização/contagem pode variar de 0000h até FFFFh. 
A interrupção TMR1 é gerada por overflow, mas apenas se habilitada pelo 
bit TMR1IE(PIE). Quando ocorre o flag TMR1IF(PIR1), fica em 1, e deve 
ser zerado por software. Da mesma forma que o Timer 0, o Timer 1 opera em 
dois modos: contador e temporizador. Porém, neste caso, o temporizador pode 
ser síncrono ou assíncrono. A Figura 8 apresenta o registrador de Configuração 
do Timer 1. 
Figura 8: Registrador de Configuração do Timer 1. 
 
 
A seleção do modo de funcionamento é semelhante ao Timer 0: 
estabelecendo-se a origem do clock, determina-se o modo de operação: 
 
 
 
 
9 
Bit TMR1CS: Seleciona a fonte do clock 
1 – Clock externo (modo contador) 
0 – Clock interno (modo temporizador) 
 
Bit TMR1ON: Habilita ou desabilita o Timer 1 
1 – Habilitado 
0 – Desabilitado 
 
Bit T1OSCEN: Oscilador externo do Timer 1 (pulso externo ou 
oscilador externo) 
1 – Oscilador externo 
0 – Pulso externo 
 
Bit T1SYNC: Sincronização com o clock 
Caso T1OSCEN=1: 
1 – Não há sincronia com o clock 
0 – Sincronia com o clock 
 
Caso T1OSCEN=0: 
0 – bit é ignorado 
 
Bits T1CKPS1/T1CKPS0: Seleção de prescaler da fonte de clock do 
Timer 1 
 
Tabela 2: Seleção do prescaler com base nos bits T1CKPS1 e T1CKPS0 
Bits Taxa de TMR0 
00 1:1 
01 1:2 
10 1:4 
11 1:8 
 
Quando T1OSCEN é definido como oscilador externo, os pinos 
RC1/T1OS1/CCP2 e RC0/T1SOS1/T1CKI se tornam entradas para um cristal 
oscilador. 
 
 
 
 
10 
Modo temporizador 
Para o Timer 1 operar desta forma, deve-se fazer o bit TMR1CS de 
T1CON ficar em nível baixo. Neste caso, o bit de sincronização T1SYNC não 
tem nenhum efeito, pois o clock interno é sempre síncrono. 
 
Modo contador 
Para o Timer 1 operar desta forma deve-se fazer o bit TMR1CS de T1CON 
ficar em nível alto. O contador é incrementado a cada borda de subida que 
ocorrer no pino RC1/T1OSI/CCP2 quando o bit T1OSCEN está habilitado, ou no 
pino RC0/T1OS0/T1CKI, quando T1OSCEN está desabilitado. 
Se T1SYNC estiver em 0, a entrada de clock externo é sincronizada com 
o clock da fase interna. 
Se T1SYNC estiver em 1, a entrada externa de clock não está 
sincronizada. 
A Figura 9 apresenta todos os registradores que são utilizados pelo Timer 1: 
Figura 9: Registradores associados ao Timer 1 
 
Fonte: . 
 
O módulo do Timer também é responsável pelo watch dog (“cão de 
guarda”), que é usado para evitar que o processador fique preso em loop infinito 
ou muito longos que impedem a execução do resto de seu código de firmware. 
Este mecanismo reseta o processador caso não receba um refresh após um 
certo tempo. 
Outra utilidade do timer é produzir formas de onda como o PWM (Pulse 
Width Modulation). O PWM faz uso de um conceito chamado ciclo de trabalho 
(duty cycle) que é o tempo que a forma de onda fica em nível lógico alto (1). A 
Figura 10 ilustra esse funcionamento. Considerando o tempo de um período da 
 
 
11 
forma de onda como 100%, o ciclo de trabalho é a porcentagem do tempo que a 
onda está em nível alto. Na primeira onda o ciclo é 0% porque não fica em nível 
alto em nenhum momento do período. No caso de 25%, 50%, 75%, o tempo está 
em nível alto é proporcional ao período total, e no caso do 100% fica o tempo 
todo em nível alto. 
A frequência do PWM é a frequência desta forma de onda em um 
determinado ciclo de trabalho. Isto é muito útil para o controle de diversos 
periféricos como é o caso do motor DC, o qual gira em uma velocidade 
proporcional à tensão média que está na entrada. 
A proporção do ciclo de trabalho também reflete na tensão média de 
saída, que é praticamente equivalente ao valor proporcional do ciclo de trabalho. 
Por exemplo: um ciclo de trabalho de 50% com o nível lógico 1 de 5V, resulta 
em uma tensão média de saída de 2,5V. 
Figura 10: Ciclos de trabalho do PWM 
 
 
 
TEMA 3 – CONVERSOR ANALÓGICO/DIGITAL (A/D) DO PIC16F877A 
O microcontrolador PIC16F87XA possui um conversor analógico/digital 
com 8 entradas (AN0 até AN7). O valor analógico colocado na entrada de um 
destes pinos é discretizado, de forma que a faixa de 0V a 5V é dividida em 10 
 
 
12 
bits, ou 1024 partes. Desta forma, cada ponto amostrado do sinal de entrada é 
convertido em uma sequência binária de 10 bits. Este valor é armazenado nos 
registradores ADRESL e ADRESH. A seguir é apresentado o diagrama em 
blocos do conversor A/D do PIC16F877A: 
 
Figura 11: Diagrama em blocos do conversor A/D do PIC16F877A 
 
 
As tensões de referência positiva e negativa do conversor são 
selecionadas por software para ser uma combinação de VDD, VSS, RA2 ou RA3. 
O conversor faz uso de 4 registradores: 
 ADRESH: A/D Result High Register; 
 ADRESL: A/D Result Low Register; 
 ADCON0: A/D Control Register 0; 
 ADCON1: A/D Control Register 1; 
 
Registrador de controle ADCON0: 
O registrador ADCON0 controla o modo de operação do conversor, a 
Figura a seguir apresenta o registrador. 
Figura 12: Registrador ADCON0 
 
 
13 
 
 
ADCS1:ADCS0 - Seleção do clock da conversão 
00 - Fosc/4 
01 - Fosc/8 
10 - Fosc/32 
11 - FRC (Clock derivado do interno A/D oscilador RC) 
 
CHS2:CHS0: Seleção de canal 
Tabela 3: Seleção de canal 
CHS2:CHS0 Canal 
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) 
 
GO/DONE: Status da conversão 
0 – Conversão não está em progresso 
1 – Conversão em progresso, quando este bit é colocado em 1 a 
conversão começa. Assim que terminar o hardware irá colocar este bit em 
zero. 
 
ADON: Habilita o módulo ADC 
1 – Conversor está ativado 
0 – Conversor está desligado 
 
Registrador de Controle ADCON1 
O registrador ADCON1 Configura a funcionalidade dos pinos dos ports. 
Estes pinos podem ser Configurados como entradas analógicas ou E/S 
digitais. A Figura a seguir apresenta o registrador: 
 
 
14 
Figura 13: Registrador ADCON1 
 
 
ADFM: Formato do resultado da conversão 
1 – Justificado para direita 
2 – Justificado para a esquerda 
 
Figura 14: Formato da conversão 
 
 
ADCS2: Seleção do clock da conversão 
 
Tabela 04: Seleção de clock pelo ADCS2 
ADCON1 ADCON0 Conversão de Clock 
0 00 Fosc/2 
0 01 Fosc/8 
0 10 Fosc/32 
0 11 FRC(clock derivado do oscilador A/D 
RC interno) 
1 00 Fosc/4 
1 01 Fosc/16 
1 10 Fosc/64 
1 11 FRC(clock derivado do oscilador A/D 
RC interno) 
 
PCFG3:PCFG0: Bits de Configuração de Port 
Configura os pinos como entrada de dados analógica, segundo a Figura 
a seguir: 
 
 
 
 
15 
Figura 15: Configuração dos pinos analógicos 
 
 
Dependendo da Configuração feita os pinos AN3 e AN2 podem ser 
respectivamente, as referências positivas e negativas do conversor. 
O processo de conversão segue os seguintes passos: 
1. Configurar o pino como entrada; 
2. Configurar o pino como analógico; 
3. Selecionar o clock da conversão ADC; 
4. Configurar a tensão de referência; 
5. Selecionar o canal de entrada ADC; 
6. Selecionar o formato do resultado; 
7. Ligar o módulo ADC; 
8. Configurar a interrupção ADC (opcional): 
 Limpar flag de interrupção ADC; 
 Habilitar interrupção ADC; 
 Habilitar interrupção periférica; 
 Ativar a interrupção global. 
9. Esperar o tempo de aquisição pretendido; 
10. Iniciar a conversão, definindo o bit GO/DONE; 
11. Aguarde a conversão, até que: 
 GO/DONE seja resetado ou aguarde a interrupção ADC (caso interrupção 
esteja ativada); 
12. Leia o resultado ADC; 
13. Limpar o flag de interrupção ADC (caso interrupção esteja ativada). 
(Disponível em: ). 
 
 
16 
 
TEMA 4 – DISPLAY DE 7 SEGMENTOS 
Alémdos periféricos do microcontrolador PIC, temos que ter 
conhecimento dos dispositivos que se encontram na placa, vamos começar a 
compreender o funcionamento dos componentes. Começando pelos mais 
simples que são os leds e o display de 7 segmentos. Estes dispositivos são muito 
úteis para demonstrar resultados ou fazer testes. 
Como o próprio nome dos leds diz, “diodo emissor de luz”, estes 
dispositivos são diodos, que, quando polarizados corretamente, emitem luz. Por 
isso, para compreendermos o funcionamento de um led e como usá-lo, devemos 
entender o funcionamento dos diodos. 
O funcionamento destes é baseado em uma estrutura chamada junção 
PN; quando ocorre a passagem de corrente pela liga, ou seja, ele é polarizado 
corretamente. Nesta situação, a tensão positiva é aplicada ao anodo ou região 
de tipo p, e a tensão negativa é aplicada ao catodo (tipo n), a barreira de elétrons 
criada na junção diminui, assim permitindo a passagem de corrente. Caso ocorra 
uma conexão ao contrário, o diodo é polarizado reversamente e a barreira 
aumenta. Impedindo a passagem de corrente elétrica. A Figura 16 ilustra este 
fenômeno: 
Figura 16: Polarização do diodo 
 
Fonte: . 
 
Seguindo este mesmo princípio, os leds, quando a corrente elétrica passa 
pela junção polarizando corretamente o condutor, ocorre a emissão de radiação, 
que se concentra mais na região do infravermelho. No caso de junções de diodos 
comuns de silício, a emissão é insignificante. Porém foi descoberto que mudando 
 
 
17 
o material semicondutor e ainda adicionando materiais dopantes, era possível 
emitir outras frequências de luz. A partir disso, foram criados diodos capazes de 
emitir frequências na região da luz visível. 
A Figura a seguir apresenta a estrutura interna do led: 
Figura 17: Estrutura interna do led 
 
Fonte: . 
 
Para o funcionamento de um led é necessário fazer uma ligação usando 
um resistor para controle da corrente. Mesmo que no modelo de um diodo não 
ideal haja uma resistência, este valor é muito baixo quando ela é polarizada 
diretamente. Ou seja, caso um led seja conectado entre a alimentação e o terra, 
pode causar um curto circuito, danificando a fonte ou o microcontrolador. Devido 
a isto, a forma correta de conexão é apresentada na Figura a seguir: 
Figura 18: Conexão do led 
 
 
Um display de 7 segmentos é 8 leds presentes em um mesmo dispositivo, 
distribuídos da seguinte forma: 7 leds dispostos no meio do display compondo 
um número 8 se todos acesos e outro led como um ponto no canto direito inferior. 
O display é apresentado a seguir: 
 
 
18 
Figura 19: Display de 7 segmentos 
 
Fonte: . 
 
A Figura 19 demonstra que cada led do display é nomeado com uma 
determinada letra. Para conseguir mostrar algum número uma sequência de leds 
deve ser acesa. 
 
Figura 20: Disponibilidade de leds que devem ser acesos por número 
 
Fonte: . 
 
 
19 
 
TEMA 5 – DISPLAY LCD 
O display de LCD (Liquid Crystal Display) é uma forma de interação com 
o usuário: nele é possível mostrar caracteres alfanuméricos. Este dispositivo 
pode ser encontrado nos mais diversos eletrodomésticos e equipamentos 
eletrônicos. Possui uma interface padronizada a ponto de ser possível trocar um 
dispositivo por outro de outro fabricante e não é necessário fazer grandes 
alterações no código. Há diversos modelos à venda no mercado. 
Os dispositivos que são encontrados à venda variam no número de linhas 
e no número de caracteres que o usuário consegue enxergar. 
 Número de linhas: 1, 2 e 4. 
 Número de colunas: 8, 12, 16, 20, 24, 40. 
 
Outras características importantes que devem ser levadas em 
consideração são as dimensões físicas do display, tensão de alimentação, 
posição dos pontos de conexão, existência do backlight, interfaces eletrônicas e 
controlador do display. 
A interface de conexão externa (ou a pinagem do módulo) é padronizada, 
mas pode variar dependendo do modelo. Possui de 14 a 16 pinos; o segundo, 
caso tenha o backlight. A Figura a seguir apresenta a descrição dos pinos: 
Figura 21: Descrição dos pinos do display LCD 
 
Fonte: . 
 
 
20 
 
O pino 3 é reservado para o ajuste de contraste do display. O circuito na 
Figura a seguir apresenta pino para ajuste do contraste usando um 
potenciômetro. 
Figura 22: Circuito de ajuste do contraste do display LCD 
 
Fonte: . 
 
As características elétricas de um display são apresentadas na Figura 23. 
O módulo WH2001B apresenta uma corrente típica dos leds de background de 
60mA e a máxima de 75mA, com tensões diretas de 3,5V e 3,6V, 
respectivamente. 
Figura 23: Características elétricas do display LCD 
 
 
Seguindo o que é dito na especificação, um circuito que se adequaria é 
demonstrado na Figura 24. 
 
 
21 
Figura 24: Circuito típico para o background do display 
 
Fonte: . 
 
Os displays LCD foram projetados para se comunicar com qualquer 
processador; a única restrição é que os tempos devem ser respeitados. 
Figura 25: Diagrama de tempo da escrita em um display 
 
Fonte: (PUHLMANN, 2015). 
 
A Figura 25 apresenta um diagrama temporal da escrita em um display, é 
importante lembrar que o LCD é muitas vezes mais lento que o processador. 
Uma forma de verificar se o módulo está pronto para acesso é verificando o busy-
flag. Este bit indica se o LCD está ocupado ou se pode receber um novo 
comando. Para isto deve-se acionar os bits RS=0 e R/W=1 (Read), então o flag 
poderá ser lido no pino DB7. (PUHLMANN, 2015.) 
Para a comunicação adotou-se o módulo HD44780, que é considerado o 
mais utilizado. Quando se escolhe um determinado dispositivo, deve-se verificar 
se as propriedades dele se enquadram no projeto. No caso destes displays: 
 Interface de 4 ou 8 pinos, Configurável; 
 ROM com gráficos; 
 
 
22 
 Sistema de fontes para caracteres. 
 
A Figura a seguir apresenta como são formados os caracteres em uma 
matriz de pixels dentro do display. Nesta imagem, os caracteres 1 formam a 
imagem do caractere "A". Cada ponto desta grade é chamado de pixel. 
Figura 26: Matriz de pixels do display LCD 
 
 
Para determinar o que será feito no display, há comandos que devem ser 
seguidos, descritos na Figura 27. 
Figura 27: Comandos do display LCD 
 
 
 
23 
Para inicializar o módulo, a especificação do módulo fixa alguns tempos 
e comandos que devem ser enviados para um correto funcionamento, conforme 
descrito na Figura 28. 
Figura 28: Inicialização do display LCD 
 
 
Após a inicialização, o display é capaz de receber comandos para 
inclusão de caracteres. Para isto é possível enviar para endereços de 0x00 até 
0x0F para a primeira linha, e a partir do endereço 0x40 para o segundo caractere. 
A Figura 29 ilustra isto. 
 
 
 
24 
Figura 29 – Endereços dos caracteres no display 
 
 
SÍNTESE 
Nesta aula aprendemos sobre os periféricos do microcontrolador 
PIC16F877A, as portas que podem ser entradas e saídas digitais ou entradas 
analógicas. Esta segunda é muito usada para receber amostrar dados de 
sensores. Vimos também que existem timers que criam uma base de tempo ou 
podem realizar contagens de eventos em um determinado pino. Toda vez que 
ocorre algum evento com noções temporais, como piscar um led a cada 1 
segundo, deve-se fazer uso do timer. Derivado também do timer há o PWM, que 
é muito usado para controle de dispositivos em frequência, como motores. Outro 
dispositivo que vimos é o conversor A/D, que transforma os dados analógicos 
emdigitais, ponto a ponto. No caso do PIC16F877A, cada ponto é amostrado 
em uma sequência de 10 bits. 
Em seguida, foram vistos alguns dispositivos do kit de desenvolvimento. 
Inicialmente foram vistos os leds, aplicando-os no display de 7 segmentos. Estes 
mostradores são muito usados para demonstração de resultados, podendo 
apresentar um número ativando uma determinada sequência de leds. Em 
seguida vimos os displays LCD, que são dispositivos que possuem diversas 
formas, variando a quantidade de caracteres mostrados e linhas. Os LCDs 
possuem uma sequência de inicialização, e podem mostrar diversos caracteres. 
Cada posição do display tem uma posição de memória respectiva. 
 
 
 
 
25 
REFERÊNCIAS 
BARBACENA, I.; FLEURY, C. Display LCD. Campinas, UNICAMP, out. 1996. 
Disponível em: . 
Acesso em: 8 maio 2017. 
BASTOS, A. LCD (Liquid Crystal Display). Disponível em: 
. Acesso em: 8 
maio 2017. 
FLOYD, T. L. Sistemas digitais: fundamentos e aplicações. 9. ed. Porto Alegre: 
Bookman, 2007. 
MALIK, B. PIC16f877A introduction and features. Microcontrollers Lab. 
Disponível em: . Acesso em: 8 maio 2017. 
PIC Analog to Digital Converter tutorial. Microcontrollerboard.com. Disponível 
em: . 
Acesso em: 8 maio 2017. 
PIC16F87XA. AllDatasheet.com. Disponível em: 
. 
Acesso em: 8 maio 2017. 
PUHLMANN, H. Módulo de Display LCD. Embarcados. Disponível em: 
. Acesso em: 8 maio 
2017. 
SOUZA, D. J. de. Desbravando o PIC. 6. ed. São Paulo: Érica, 2003. 
THE TRIS and PORT Registers. Pcbheaven. Disponível em: 
. 
Acesso em: 8 maio 2017. 
TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: princípios e 
aplicações. 11 ed. São Paulo: Pearson, 2011. 
UTILIZANDO o timer do PIC. Microcontrolandos. 
. Acesso em: 8 maio 2017.

Mais conteúdos dessa disciplina