Buscar

Relatório AP PIC16F877A

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

i 
 
 
 
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
BACHARELADO EM ENGENHARIA ELÉTRICA 
DISCIPLINA DE MICROPROCESSADORES E MICROCONTROLADORES 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA DE MICROPROCESSADORES E MICROCON-
TROLADORES 
 
 
 
 
 
 
 
 
RICARDO MARQUES DE FIGUEIREDO 
PROFESSOR MESTRE CHARLES WAY HUN FUNG 
 
 
 
 
 
 
 
 
 
 
GRAVATAÍ - RS 
2021 
 
ii 
 
SUMÁRIO 
 
 
1 INTRODUÇÃO ............................................................................................................................................ 1 
2 DESENVOLVIMENTO .............................................................................................................................. 2 
2.1 ARQUITETURA DO MICROCONTROLADOR E FUNCIONAMENTO ....................................................... 2 
2.2 INSTRUÇÕES .......................................................................................................................................... 4 
2.3 MEMÓRIA ............................................................................................................................................... 5 
2.4 PINAGEM E FUNÇÕES .......................................................................................................................... 6 
2.5 FLUXOGRAMA .................................................................................................................................... 11 
2.6 UTILIZANDO SOFTWARES, MPLAB IDE E SIMULIDE, PARA DESENVOLVER AS PRÁTICAS 
SOLICITADAS ................................................................................................................................................ 12 
2.6.1 Acender o LED D0 ........................................................................................................................ 12 
2.6.2 Acender 3 LEDS, D0, D3 e D7 ...................................................................................................... 13 
2.6.3 Piscar os LED D0, LED D3 e LED D7 ......................................................................................... 13 
2.6.4 Acender o display de 7 segmentos o último número do RU ........................................................... 14 
2.6.5 Contador de 0 a F no display de 7 segmentos ............................................................................... 15 
3 REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................................... 17 
4 CONCLUSÃO ............................................................................................................................................ 18 
 
 
 
1 
 
1 INTRODUÇÃO 
Nesta atividade será realizado simulações com o PIC16F877A, com isso será pos-
sível visualizar sua real aplicação em conceitos de automação, principalmente de um controle 
visual. O microcontrolador mencionado faz parte da família de microcontroladores de 8 bits e 
núcleo de 14 bits (série PIC16F...) lançada pela MICROCHIP. Ele dispõe de uma performance 
que permite executar desde um simples programa que faz piscar um LED, uma de nossas amos-
tras no desenvolvimento deste trabalho, ou até mesmo o controle de um robô, e também ainda, 
um programa de controle de acesso controlado por rede 
Na figura 1, mostra o CI deste processador. 
 
Figura 1 - Microcontrolador PIC16F877A 
 
2 
 
2 DESENVOLVIMENTO 
A sigla PIC significa, PROGRAMMABLE INTERRUPT CONTROLLER (CON-
TROLADOR DE INTERRUPÇÃO PROGRAMÁVEL), com isso, sabe-se que é um compo-
nente eletrônico programável, este produzido pela Microchip Technology Inc. Utilizado no 
controle de processos e atividades lógicas. Os microcontroladores são compostos de uma única 
pastilha de silício encapsulada, ou seja, um circuito integrado (CI) e todos os elementos neces-
sários para o controle das atividades estão internamente ligados a pastilha de silício. Sendo essa 
a característica principal que diferencia os microcontroladores dos microprocessadores. O 
PIC16F877A está enquadrado na família 8 bits de microcontroladores Microchip, possui via de 
programação com 14 bits e um conjunto de 35 instruções 
2.1 ARQUITETURA DO MICROCONTROLADOR E FUNCIONAMENTO 
Os microcontroladores apresentam uma estrutura interna de máquina na qual irá 
determinar a maneira como os dados e o programa serão processados. As arquiteturas mais 
utilizadas para sistemas computacionais digitais são: 
Arquitetura Von Neumann: A CPU (Unidade Central de Processamento), está co-
nectada a memória de dados e programa, por um único barramento (bus) de 8 bits. 
Arquitetura Harvard: A CPU está conectada a memória de dados e memória de 
programa, diferente da Von Neumann, por barramento (bus) distintos. O barramento de dados 
é composto por 8 bits e o barramento de programa por 14 bits (família 16 F). Conforme figura 
2. 
 
 
Figura 2 - Representação da arquitetura Harvard x Von-Neumann. 
 
3 
 
Os microcontroladores da família PIC, utilizam como estrutura interna a arquitetura 
Harvard, a qual possibilita um processamento mais rápido, pois em quanto um processo está 
sendo executado, outro já está sendo buscado na memória. Deve-se ressaltar o fato de o barra-
mento de instruções ser maior do que 8 bits, o OPCODE (referência à instrução que um deter-
minado processador possui para conseguir realizar determinadas tarefas) inclui o dado e o local 
onde ele vai atuar, o que indica que apenas uma posição de memória será utilizada por instrução, 
com isso há uma economia de memória de programa. 
 
Figura 3 - Arquitetura interna do PIC16F877A 
 
O fato de o PIC trabalhar com a arquitetura Harvard, faz com que utilize uma tec-
nologia chamada RISC (Reduced Instruction Set Computer) – Computador com Set de Instru-
ções Reduzido. Isso quer dizer que se pode trabalhar com uma lista de códigos de instruções de 
 
4 
 
programação aproximadamente 35 instruções, número esse, que pode variar de modelo para 
modelo 
Já se fosse a tecnologia CISC (Complex Instruction Set Computer) – Computador 
com Set de Instruções Complexo, seriam necessário conhecer algo entorno de 100 instruções 
de programação. Deixando o aprendizado mais custoso, porém algumas funções na tecnologia 
CISC se tem uma facilidade maior, pois já existem. 
2.2 INSTRUÇÕES 
O Set de instruções divide-se em quatro grupos, os quais somam um conjunto com 
35 instruções: 
• Operações com registradores; (figura 4) 
• Operações com literais; (figura 5) 
• Operações com bits; (figura 6) 
• Controles; (figura 7) 
 
Figura 4 - Operações com registradores 
 
 
5 
 
 
Figura 5 - Operações com literais 
 
Figura 6 - Operações com bits 
 
Figura 7 – Controles 
2.3 MEMÓRIA 
Ficará armazenada as instruções do programa no qual fará o controle das atividades. 
No caso do PIC16F877A é uma memória do tipo FLASH de 8192 palavras (8K) e 14 bits. 
 
6 
 
 
Figura 8 - Diagrama da memória 
2.4 PINAGEM E FUNÇÕES 
Mostra-se na figura 3 a pinagem e um resumo da descrição e função de cada pino deste 
microcontrolador. Deve ser notado que a maioria dos pinos possui várias funções, não signifi-
cando que as funções possam ser exercidas ao mesmo tempo. 
 
 
7 
 
 
Figura 9 - Pinagem do Microcontrolador PIC16F877A 
1. MCLR : Master Clear – Quando em nível baixo (0V), define situação de RESET. Quando 
em nível alto (5V), determina programa em execução. VPP: Tensão de programação – Quando 
este pino estiver em 13.4V, o microcontrolador entra em modo gravação, permitindo a transfe-
rência de um programa via ICSP; 
1. RA0 – Entrada / saída digital. AN0 – Entrada analógica canal 0 para o ADC interno; 
2. RA1 – Entrada / saída digital. AN1 – Entrada analógica canal 1 para o ADC interno; 
3. RA2 – Entrada / saída digital. AN2 – Entrada analógica canal 2 para o ADC interno. Vref- 
– Uso do pino para definir a referência negativa para o conversor AD; 
4. RA3 – Entrada / saída digital. AN3 – Entrada analógicacanal 3 para o ADC interno. Vref+ 
– Uso do pino para definir a referência positiva para o conversor AD; 
5. RA4 – Entrada / saída digital. TOCKI – Contador rápido; 
 
8 
 
6. RA5 – Entrada / saída digital. AN4 – Entrada analógica canal 4. SS – Slave Select para porta 
serial síncrona; 
7. RE0 – Entrada / saída digital. RD – Entrada de controle de leitura para porta paralela escrava. 
AN5 – Entrada analógica canal 5; 
8. RE1 – Entrada / saída digital. WR – Entrada de controle de gravação para porta paralela 
escrava. AN6 - Entrada analógica canal 6; 
9. RE2 – Entrada / saída digital. CS – “Chip Select” para porta paralela escrava. AN7 – Entrada 
analógica canal 7; 
10. VDD – Alimentação (preferência 3V a 5V); 
11. VSS – Referência (0V / GND); 
12. OSC1/CLKIN – Pino para ligação do circuito oscilador externo (entrada). Usado em con-
junto com o pino OSC/CLKOUT. Recomendado usar cristal de 4 a 20 MHz; 
13. OSC2/CLKOUT – Pino para ligação do circuito oscilador externo (saída); 
14. RC0 – Entrada / saída digital. T1OSO – Saída do oscilador do TIMER1. 
T1CKI – Entrada de clock para TIMER1; 
15. RC1 – Entrada / saída digital. T1OSI – Entrada do oscilador do TIMER1. CCP2 – Entrada 
de captura 2, saída de comparador 2 ou PWM 2; 
16. RC2 – Entrada / saída digital. CCP1 – Entrada de captura 1, saída de comparador 1 ou PWM 
1; 
17. RC3 – Entrada / saída digital. SCK/SCL – Entrada ou saída de sinal de clock serial síncrono 
para SPI e I2C; 
18. RD0 – Entrada / saída digital. PSP0 – Pino 0 da porta paralela escrava; 
19. RD1 – Entrada / saída digital. PSP1 – Pino 1 da porta paralela escrava; 
20. RD2 – Entrada / saída digital. PSP2 – Pino 2 da porta paralela escrava; 
 
9 
 
21. RD3 – Entrada / saída digital. PSP3 – Pino 3 da porta paralela escrava; 
22. RC4 – Entrada / saída digital. SDI – Entrada de dados em SPI. DAS – Entrada/saída de 
dados em modo I2C; 
23. RC5 – Entrada / saída digital. SD0 – Saída de dados SPI; 
24. RC6 – Entrada / saída digital. TX – Pino para transmissão serial assíncrona. CK – Clock 
para transmissão síncrona; 
25. RC7 – Entrada / saída digital. RX – Pino para recepção serial assíncrona. DT – Dados da 
serial síncrona; 
26. RD4 – Entrada / saída digital. PSP4 – Pino 4 da porta paralela escrava; 
27. RD5 – Entrada / saída digital. PSP5 – Pino 5 da porta paralela escrava; 
28. RD6 – Entrada / saída digital. PSP6 – Pino 6 da porta paralela escrava; 
29. RD7 – Entrada / saída digital. PSP7 – Pino 7 da porta paralela escrava; 
30. VSS - Referência (0V / GND); 
31. VDD – Tensão de alimentação (mesma que pino 11); 
32. RB0 – Entrada / saída digital. INT – Entrada de sinal de interrupção via hardware; 
33. RB1 – Entrada / saída digital; 
34. RB2 - Entrada / saída digital; 
35. RB3 – Entrada / saída digital. PGM – Entrada de sinal para gravação em baixa tensão (5V); 
36. RB4 – Entrada / saída digital; 
37. RB5 – Entrada / saída digital; 
38. RB6 – Entrada / saída digital. PGC – Clock para programação ICSP ou pino para depuração; 
 
10 
 
39. RB7 – Entrada / saída digital. PGD – Dados para programação ICSP ou pino para depura-
ção; 
 
As interrupções são ferramentas que possibilitam a execução de determinadas situ-
ações no momento em que elas ocorrem. Normalmente elas ocorrem devido ações externas. O 
PIC 16F877A é composto por 15 interrupções diferentes, as quais sempre serão desviadas para 
o vetor de interrupção (0004h) da memória de programa. Segue as interrupções deste PIC: 
 
• Interrupção de Timer 0; 
• Interrupção Externa; 
• Interrupção por mudança de Estado; 
• Interrupção da Porta Paralela (PSP); 
• Interrupção dos Conversores A/D; 
• Interrupção de Recepção da USART; 
• Interrupção de Transmissão da USART; 
• Interrupção da Comunicação Serial (SPI e I2C); 
• Interrupção do CCP1 (Capture/Compare/PWM); 
• Interrupção do Timer 1; 
• Interrupção de Timer 2; 
• Interrupção de fim de escrita na E2PROM/FLASH; 
• Interrupção de Colisão de Dados (BUS Collision); 
• Interrupção dos Comparadores; 
 
11 
 
 
 
Figura 10 - Características Elétricas 
2.5 FLUXOGRAMA 
Os fluxogramas são ferramentas usadas para ajudar o programador a estruturar de maneira grá-
fica um algoritmo das atividades que posteriormente serão executadas por um determinado pro-
grama. 
 
Figura 11 - Exemplo de fluxograma 
 
12 
 
2.6 UTILIZANDO SOFTWARES, MPLAB IDE E SIMULIDE, PARA DESENVOL-
VER AS PRÁTICAS SOLICITADAS 
 
2.6.1 Acender o LED D0 
 
Figura 12 - Acender apenas LED "D0" 
 
13 
 
2.6.2 Acender 3 LEDS, D0, D3 e D7 
 
Figura 13 - Acender LED's D0, D3 e D7 
2.6.3 Piscar os LED D0, LED D3 e LED D7 
 
Figura 14 - Piscar LED's D0, D3 e D7, em sequência 
 
 
14 
 
2.6.4 Acender o display de 7 segmentos o último número do RU 
 
Figura 15 - Acender o último número do meu RU 
 
Pino PIC D7 D6 D5 D4 D3 D2 D1 D0 
Seg. Display N/A g f e d c b a 
7 0 0 0 0 0 1 1 1 
Tabela 1- Código usado para os bits dos 7 seguimentos, informando o último número do RU 
 
 
15 
 
2.6.5 Contador de 0 a F no display de 7 segmentos 
 
Figura 16 - Contador de "0" a "F" 
 
 
 
 
 
 
 
 
16 
 
 
Pino PIC D7 D6 D5 D4 D3 D2 D1 D0 
Seg. Display N/A g f e d c b a 
0 0 0 1 1 1 1 1 1 
1 0 0 0 0 0 1 1 0 
2 0 1 0 1 1 0 1 1 
3 0 1 0 0 1 1 1 1 
4 0 1 1 0 0 1 1 0 
5 0 1 1 0 1 1 0 1 
6 0 1 1 1 1 1 0 1 
7 0 0 0 0 0 1 1 1 
8 0 1 1 1 1 1 1 1 
9 0 1 1 0 1 1 1 1 
A 0 1 1 1 0 1 1 1 
B 0 1 1 1 1 1 1 1 
C 0 0 1 1 1 0 0 1 
D 0 0 1 1 1 1 1 1 
E 0 1 1 1 1 0 0 1 
F 0 1 1 1 0 0 0 1 
Tabela 2 - Códigos usados para os bits dos 7 seguimentos 
 
 
 
 
 
 
 
17 
 
3 REFERÊNCIAS BIBLIOGRÁFICAS 
https://www.baudaeletronica.com.br/microcontrolador-pic16f877a.html 
https://books-online.club/sl-SNSZH-D7256/signup-dual/#/z=3eQ5Zp3V1ThvJj7v6ndZtf/vari-
ation=default/q=Register+Memory+Organiza-
tion+In+Pic+16f877/s1=dnFVVzM0bklKUFd6WGYwYkVJcFNtaFh5ZDU1aG-
djOGZIc1p3aWs1Qm1IV3NlOUptN2ZYdlI5UzJxaEhuaW9RSQ%3D%3D/s2=Register+Me-
mory+Organization+In+Pic+16f877/s3=xamwiring/s4=/s5=/source_id=6ad50ba2-5671-686a-
9b9b-22f7a351d966/project=u82yg1/mh_offer_id=/dp=sri08VOnApV5OK0f7OE-
JNx/m=/c_bg=/c_img1=/c_img2=/c_color=/source=Referral/software=Browser/do-
main=cdn.bkc1a.club/ 
https://www.unioviedo.es/ate/alberto/TEMA2-Memoria.pdf 
http://www.joinville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Instrucoes_Assem-
bler_parte_1.pdf 
https://pt.slideshare.net/obscurethormentor/apostila-pic-16f877 
 
 
 
 
 
 
 
18 
 
4 CONCLUSÃO 
Depois de muitos questionamentos e pesquisas, consegui realizar as atividades so-
licitadas neste trabalho. Importante dessa prática, foi poder visualizar uma pequena parcela do 
que esse processador pode ser utilizado. Ver como pode ser aplicado a utilização deste sistema 
de automação, há um grande número de aplicações devido à sua quantidade de pinos ele é muito 
versátil para projetos envolvendo um grande poder de processamento. 
Processador com utilidade para comunicação visual com uso em displays para iden-
tificações do dia a dia como: Placares eletrônicos, painel de mensagem e senhas, controle de 
display de LED, relógios de hora e marcadores de temperatura em vias públicas principalmente.

Mais conteúdos dessa disciplina