Escolar Documentos
Profissional Documentos
Cultura Documentos
Conhecendo o PIC16F877
Microcontrolador de 8 bits da Microchip Co.
Os demais pinos são conhecidos por I/Os (lê-se Aiôus, e vem do inglês Inputs/Outputs, que significa
entradas/saídas). Estas I/Os são agrupadas em PORTs (portos), de no máximo 8 pinos cada (limi-
tação pois o componente possui um núcleo de 8 bits).
Há um total de 33 I/Os disponíveis, que podem ser configuradas como entradas ou saídas em tem-
po de execução.
Quando um pino é configurado como ENTRADA, ele pode
ser conectado a algum sensor para detectar sinais digitais
através de variação da tensão de 0 e 5V. Quando um pino é
configurado como saída, o programa poderá acioná-lo, e
com isso gerar uma corrente baixa (max. 20 mA) com os
níveis de tensão de 0V ou 5V.
Observações importantes:
Modelos da família 18 são mais rápidos e um pouco mais caros, continuando a ser
de 8 bits.
Modelos da família 24 são de 16 bits, e indicados para aplicações que exijam mais
poder de processamento.
Os microcontroladores PIC são indicados para aplicações mais simples, que não
necessitem de grande volume de dados manipulados, e que não necessitem pro-
cessamento em tempo real de alta performance.
Exercitando (Responda)
1. MCLR : Master Clear – Quando em nível baixo (0V), 17. RC2 – Entrada / saída digital. CCP1 – Entrada de
define situação de RESET. Quando em nível alto captura 1, saída de comparador 1 ou PWM 1.
(5V), determina programa em execução. VPP : Ten- 18. RC3 – Entrada / saída digital. SCK/SCL – Entrada ou
são de programação – Quando este pino estiver em saída de sinal de clock serial síncrono para SPI e I2C.
13.4V, o microcontrolador entra em modo gravação, 19. RD0 – Entrada / saída digital. PSP0 – Pino 0 da porta
permitindo a transferência de um programa via ICSP paralela escrava.
2. RA0 – Entrada / saída digital. AN0 – Entrada analó- 20. RD1 – Entrada / saída digital. PSP1 – Pino 1 da porta
gica canal 0 para o ADC interno. paralela escrava.
3. RA1 – Entrada / saída digital. AN1 – Entrada analó- 21. RD2 – Entrada / saída digital. PSP2 – Pino 2 da porta
gica canal 1 para o ADC interno. paralela escrava.
4. RA2 – Entrada / saída digital. AN2 – Entrada analó- 22. RD3 – Entrada / saída digital. PSP3 – Pino 3 da porta
gica canal 2 para o ADC interno. Vref- - Uso do pino paralela escrava.
para definir a referência negativa para o conversor 23. RC4 – Entrada / saída digital. SDI – Entrada de dados
AD. em SPI. DAS – Entrada/saída de dados em modo I2C.
5. RA3 – Entrada / saída digital. AN3 – Entrada analó- 24. RC5 – Entrada / saída digital. SD0 – Saída de dados
gica canal 3 para o ADC interno. Vref+ - Uso do pi- SPI.
no para definir a referência positiva para o conver- 25. RC6 – Entrada / saída digital. TX – Pino para transmis-
sor AD. são serial assíncrona. CK – Clock para transmissão
6. RA4 – Entrada / saída digital. TOCKI – Contador síncrona.
rápido 26. RC7 – Entrada / saída digital. RX – Pino para recepção
7. RA5 – Entrada / saída digital. AN4 – Entrada analó- serial assíncrona. DT – Dados da serial síncrona.
gica canal 4. SS – Slave Select para porta serial 27. RD4 – Entrada / saída digital. PSP4 – Pino 4 da porta
síncrona paralela escrava.
8. RE0 – Entrada / saída digital. RD – Entrada de 28. RD5 – Entrada / saída digital. PSP5 – Pino 5 da porta
controle de leitura para porta paralela escrava. AN5 paralela escrava.
– Entrada analógica canal 5. 29. RD6 – Entrada / saída digital. PSP6 – Pino 6 da porta
9. RE1 – Entrada / saída digital. WR – Entrada de paralela escrava.
controle de gravação para porta paralela escrava. 30. RD7 – Entrada / saída digital. PSP7 – Pino 7 da porta
AN6 - Entrada analógica canal 6. paralela escrava.
10. RE2 – Entrada / saída digital. CS – “Chip Select” 31. VSS - Referência (0V / GND)
para porta paralela escrava. AN7 – Entrada analógi- 32. VDD – Tensão de alimentação (mesma que pino 11)
ca canal 7. 33. RB0 – Entrada / saída digital. INT – Entrada de sinal de
11. VDD – Alimentação (preferência 3V a 5V) interrupção via hardware.
12. VSS – Referência (0V / GND) 34. RB1 – Entrada / saída digital.
13. OSC1/CLKIN – Pino para ligação do circuito oscila- 35. RB2 - Entrada / saída digital.
dor externo (entrada). Usado em conjunto com o pi- 36. RB3 – Entrada / saída digital. PGM – Entrada de sinal
no OSC/CLKOUT. Recomendado usar cristal de 4 a para gravação em baixa tensão (5V)
20 MHz 37. RB4 – Entrada / saída digital.
14. OSC2/CLKOUT – Pino para ligação do circuito 38. RB5 – Entrada / saída digital.
oscilador externo (saída). 39. RB6 – Entrada / saída digital. PGC – Clock para pro-
15. RC0 – Entrada / saída digital. T1OSO – Saída do gramação ICSP ou pino para depuração.
oscilador do TIMER1. T1CKI – Entrada de clock pa- 40. RB7 – Entrada / saída digital. PGD – Dados para pro-
ra TIMER1. gramação ICSP ou pino para depuração.
16. RC1 – Entrada / saída digital. T1OSI – Entrada do
oscilador do TIMER1. CCP2 – Entrada de captura 2,
saída de comparador 2 ou PWM 2.
Diagrama de programação:
Passo 1 : Extração de requisitos – Levantar as
necessidades da automação junto ao cliente, aos
usuários do equipamento e as demais pessoas
envolvidas no processo de automação.
Passo 4 : Compilação – Ocorre a tradução da linguagem de programação para a linguagem nativa do microcontrolador.
Nesta etapa, parte dos erros (principalmente os erros de sintaxe) são detectados. Os erros de sintaxe são os erros causados
por erros de digitação ou uso incorreto de comandos.
Passo 5 : Transferência – Através de um programa específico, os dados contidos no arquivo HEX gerado pelo compilador
são transferidos para a memória ROM do microcontrolador.
Passo 6 : Testes – Aqui são descobertos os erros de lógica que podem ser gerados por um erro de digitação (pontuação
incorreta, comando inadequado, esquecimento de linhas, etc...). Esta etapa realimenta o processo, até que os testes efetua-
dos garantam a qualidade do programa criado.
Programas recomendados :
AMBIENTE ASSEMBLY : MPLAB / COMPILADOR C: CCS (PCW.EXE) / PROGRAMADOR : EPIC (EPICWIN.EXE)
Programação – Daniel Corteletti – Aula 2 Página 6/6
1) ACUMULADOR
Também conhecido por WORK REGISTER. É uma área de 8 bits
onde as informações são afetadas por um conjunto de instruções. É
onde o processamento ocorre na maioria dos casos.
RESUMINDO