Buscar

Introducao_ao_PIC

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 51 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 51 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 51 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

MicrocontroladoresMicrocontroladores
Prof. Nivaldo T. Schiefler Jr. M.Eng
Homepage: www.joinville.ifsc.edu.br/~nivaldo
Email: nivaldo@ifsc.edu.br
Conceito final será constituído de duas avaliações:
1ª – Conceito avaliação teórica
2ª – Conceito dividido em duas partes
- Desenvolvimento do projeto
- Implementação do projeto
No caso de não execução do projeto em tempo hábil, uma avaliação 
teórica/prática poderá ser feita para substituir o conceito 2ª. 
Projeto em equipe
MicrocontroladoresMicrocontroladores
Prof. Nivaldo T. Schiefler Jr. M.Eng
Homepage: www.joinville.ifsc.edu.br/~nivaldo
Email: nivaldo@ifsc.edu.br
BIBLIOGRAFIA
David José de Souza, Desbravando o PIC - Ampliado e Atualizado para PIC 
16F628A. Erica.
David José de Souza e Nicolás César Lavinia, Conectando o PIC - Recursos 
Avançados. Erica
Fábio Pereira, Microcontroladores PIC - Técnicas Avançadas. Erica.
Fábio Pereira, Microcontroladores PIC – Programação em C. Erica.
Wagner da Silva Zanco, Microcontroladores PIC - Técnicas de Software e 
Hardware para Projetos de Circuitos Eletrônicos. Erica. 
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
Por que usar ????
Onde usar ????
Custo ????
Qual tipo de microcontrolador usar ????
Tipo de programação ????
Tem material de consulta ????
MicrocontroladoresMicrocontroladores
Exemplo
Imagine em um sistema de controle de acesso de pessoas a uma área 
restrita. Para entrar no local a pessoa terá que digitar um senha. 
Se for usado um computador como seria o sistema ????
Quais os problemas que poderiam acontecer ????
MicrocontroladoresMicrocontroladores
Um microcontrolador difere de um microprocessador em vários 
aspectos.
 Para que um microprocessador possa ser usado, outros componentes 
devem ser adicionados, tais como memória, AD, componentes para 
receber e enviar dados, etc.
 Em resumo, isso significa que o microprocessador é o verdadeiro 
coração do computador gerenciando todos os periféricos. Por outro lado, 
o microcontrolador foi projetado para ter tudo num só.
 Nos microcontroladores, nenhum outro componente externo é
necessário, porque os principais periféricos necessários já estão contidos 
nele. Assim, nós poupamos tempo e espaço na construção dos 
dispositivos. 
Microcontroladores versus Microprocessadores
MicrocontroladoresMicrocontroladores
Introdução:
Um microcontrolador (C) é um componente eletrônico que 
possui integrado na mesma pastilha um microprocessador 
mais uma série de periféricos que são úteis para o controle 
de um processo.
 Memória de programa
 Memória de dados 
 Portas de entrada e saída
 Timers
 Conversor AD
 etc...
Desta forma, conectando-se o mínimo de hardware ao 
dispositivo obtém-se o sistema microprocessado desejado.
MicrocontroladoresMicrocontroladores
Arquitetura Harvard x Von Neumann
Os microcontroladores existentes no mercado usam em sua 
maioria o tipo de arquitetura de Von Neumann e os 
microcontroladores da microchip que será estudado, usam a 
arquitetura de Harvard.
MicrocontroladoresMicrocontroladores
Arquitetura Harvard
Na arquitetura de Harvard, a memória de dados está separada da 
memória de programa. Assim, é possível uma maior fluência de dados 
através da unidade central de processamento e claro, uma maior 
velocidade de funcionamento do dispositivo. São designados por 
"microcontroladores RISC". RISC provém de Computador com um 
Conjunto Reduzido de Instruções (Reduced Instruction Set Computer) 
MicrocontroladoresMicrocontroladores
Arquitetura Von Neumann
Na arquitetura de Von Neumann, há um único barramento onde os 
dados e endereços são usados. Os microcontroladores com uma 
arquitetura von-Neumann são designados por 'microcontroladores 
CISC'. O nome CISC deriva de Computador com um Conjunto 
Complexo de Instruções (Complex Instruction Set Computer) 
Diagrama interno
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
Unidade de Memória
A memória é a parte do 
microcontrolador cuja função é
guardar dados. 
Para um determinado endereço, 
há um conteúdo desse endereço.
MicrocontroladoresMicrocontroladores
Unidade Central de Processamento CPU
Bloco para executar operações 
aritmética e lógica.
Desta maneira é possível 
multiplicar, dividir, subtrair e mover 
o seus conteúdos de um local de 
memória para outro.
Os locais de memória da CPU 
chamam-se registros. Estes são, 
portanto, locais de memória cujo 
papel é ajudar a executar várias 
operações matemáticas ou 
quaisquer outras operações com 
dados, quaisquer que sejam os 
locais em que estes se encontrem. 
MicrocontroladoresMicrocontroladores
Barramento Bus
O barramento fisicamente 
falando corresponde a um 
grupo de 8, 16 ou mais fios.
Existem dois tipos de 
barramento:
 Barramento de dados
Barramento de endereço.
O número de linhas do barramento de dados depende da quantidade de 
memória que se deseja endereçar e o número de linhas do barramento de 
endereço depende da largura da palavra de dados.
MicrocontroladoresMicrocontroladores
Unidade de entrada/saída
As entradas e saídas são 
chamadas de portas I/O, que 
podem ser configuradas como 
entrada e saídas.
I significa input ou seja entrada
O significa output ou seja saída
MicrocontroladoresMicrocontroladores
Porta de comunicação serial
MicrocontroladoresMicrocontroladores
Unidade de temporização
Bloco de temporização dar 
informação acerca da hora, 
duração, protocolo, etc.
A unidade básica do 
temporizador é um contador, que 
é na realidade um registro cujo 
conteúdo aumenta de uma 
unidade num intervalo de tempo 
fixo.
Desta forma o seu valor durante 
os instantes de tempo T1 e T2 se 
sabe a quantidade de tempo 
decorrida. 
Esta parte do microcontrolador, 
requer um domínio muito grande
MicrocontroladoresMicrocontroladores
Watchdog cão de guarda
Este bloco de um contador 
continuo por um clock interno e 
que o programa põe a zero sempre 
que é executado corretamente.
No caso de o programa travar, o 
zero não vai será escrito e o 
contador, por si só, se encarregar 
de fazer o reset do 
microcontrolador, quando o 
contador alcançar o seu valor 
máximo.
Isto vai fazer com que o programa 
corra de novo e desta vez 
corretamente. 
Não está acessível ao programador
MicrocontroladoresMicrocontroladores
Conversor analógico - digital
Como os sinais dos periféricos são 
substancialmente diferentes daqueles 
que o microcontrolador pode entender 
(zero e um), eles devem ser convertidos 
num formato que possa ser 
compreendido pelo microcontrolador.
Esta tarefa é executada por intermédio 
de um bloco destinado à conversão 
analógica-digital (A/D). Este bloco vai 
ser responsável pela conversão de uma 
informação de valor analógico para um 
número binário e pelo seu trajeto 
através do bloco da CPU, de modo a 
que este o possa processar de imediato. 
MicrocontroladoresMicrocontroladores
Diagrama interno de um microcontrolador
MicrocontroladoresMicrocontroladores
Microcontrolador PIC16F84
O PIC 16F84 pertence a uma classe de microcontroladores de 8 bits, 
com uma arquitetura RISC. 
O PIC é um circuito integrado produzido 
pela Microchip Technology Inc.
O PIC esta disponível em uma ampla 
gama de modelos para melhor adaptar-se 
as exigências de projetos específicos, 
diferenciando-se pelo numero de linha de 
I/O e pelo conteúdo do dispositivo. 
MicrocontroladoresMicrocontroladores
Características : 16F84
• 18 pinos;
• 13 pinos de I/O configuráveis;
• 1 K de memória de programa;
• 64 bytes de EEPROM para dados;
• 35 instruções;
• 4 interrupções 
Timer de 8 bits (TMR0)
Externa
Mudança de estado
Finalização da EEPROM
• Stack com 8 níveis;
• Interrupções externas disponíveis;
• Memória de programa protegida contra cópias ....
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
EEPROM – (Electrical Erasable 
Programmable Read Only Memory)
memória somente de leitura 
programável e apagável eletricamente. 
Esta é a memória de programa.Capacidade de memorização é de 1024 
locações e que poderão conter 
somente um opcode de 14 bit. 
É onde se coloca o programa.
Memória de programa
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
Mapa de Memória de programa
Tipo : 14 bits
Tamanho : 1024 palavras
1K x 14
Vetor de reset: 000h
Vetor de interrupção: 004h
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
O REGISTER FILE é uma parte da 
locação de memória RAM
denominada REGISTRO. Pode-se 
escrever, ler, ou modificar 
tranqüilamente qualquer endereço do 
REGISTER FILE no programa a 
qualquer momento em que for 
necessário. Tamanho de 68 x 8.
EEPROM Memória de dados do 
sistema é uma RAM, ou seja a outra 
parte que juntamente com o 
REGISTER FILE completa uma 
RAM. É utilizada para guardar todas 
as variáveis e registradores utilizados 
pelo programa. É uma memória de 
64 x 8 bits. 
Memória de dados
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
A memória EEPROM consiste em 64 posições para palavras de 
oito bits e cujos conteúdos não se perdem durante uma falha na 
alimentação.
A memória EEPROM não faz parte diretamente do espaço de 
memória mas é acessada indiretamente através dos registros 
EEADR e EEDATA.
Como a memória EEPROM serve usualmente para guardar 
parâmetros importantes (por exemplo, de uma dada temperatura 
em reguladores de temperatura), existe um procedimento estrito 
para escrever na EEPROM que tem que ser seguido de modo a 
evitar uma escrita acidental. Desta forma é possível gravar dados 
na EEPROM durante o processo.
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
Memória de Dados
Register File
Memória 
de dados
Tipo : 8 bits
Tamanho : 68 bytes
Início: 0Ch ou 8Ch
Fim: 4Fh ou CFh
Dividida em 2 bancos de memórias
Os endereços 50h a 7Fh e 
D0h a FFh são locais não 
implementados, se forem 
lidos retornam valor “zero”
Dividido em:
- register file (registradores 
especiais)
- região de dados de uso geral.
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
Memória de Dados
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
A ALU (Arithmetic and Logic Unit)
unidade aritmética e lógica) contém 
todos os circuitos destinados a 
desenvolver as funções de calculo e 
manipulação de dados durante a 
execução de um programa. 
A ALU do PIC16F84 esta preparada 
para operar com 8 bits, até 255.
Registro W (Work) acumulador. 
Este registro consiste de uma 
locação de memória destinada a 
conter um só valor de 8 bits.
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
PC – (Program Counter) contador de 
programa. É o registrador especial que 
guarda o endereço da instrução na 
memória de programa, que será
executada.
No reset o PC será sempre zerado, 
determinando o início da execução no 
endereço 0000h.
Stack (cascata) de 8 níveis usada nas 
instruções de chamada de subrotinas 
(call). Esta subrotina desvia o programa 
para um local especificado e executará
a mesma, e só retornara a execução da 
instrução imediatamente após a 
chamada call, o valor será armazenado 
em uma área particular da memória 
denominada Stack.
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
O PIC16F84 dispões de um total de 
13 linhas de I/O digitais 
organizadas em duas portas 
denominadas de PORTA A e 
PORTA B. 
A PORTA A dispõe de 5 linhas
configuráveis tanto em entrada 
como em saída identificadas pelas 
siglas RA0, RA1, RA2, RA3 e RA4.
A PORTA B dispõe de 8 linhas
também configuráveis seja em 
entrada ou em saída identificadas 
pelas siglas RB0, RB1, RB2, RB3, 
RB4, RB5, RB6 e RB7. 
MicrocontroladoresMicrocontroladores
Diagrama de blocos do microcontrolador PIC16F84
O registro TMR0 é um contador, ou 
seja um registro particular, na qual, 
seu conteúdo é incrementado com 
cadencia regular e programada 
diretamente pelo hardware do PIC.
Na pratica, a diferença de outro 
registro, é que o TMR0 não mantém 
inalterado o valor que é
memorizado, mas o incrementa 
continuamente
O registrador irá contar até 255, 
quando irá recomeçar a contagem 
no valor zero, se não for programado 
outro valor novamente
MicrocontroladoresMicrocontroladores
Diagrama de blocos geral do microcontrolador PIC16F84
MicrocontroladoresMicrocontroladores
Ciclos de máquina
Clock interno é dividido por 4. Portanto, para um clock externo de 4MHz, 
temos um clock interno de 1MHz, logo um ciclo de maquina de 1us. A 
divisão é feita pelas fases Q1, Q2, Q3 e Q4.
O contador de programa é incrementado automaticamente na fase Q1 
do ciclo de maquina e a instrução seguinte é buscada da memória de 
programa e armazenada no registrador de instruções no ciclo Q4. ela é
decodificada e executada no novo ciclo Q1 a Q4.
MicrocontroladoresMicrocontroladores
Pipeline
Quando uma instrução está sendo executada em um ciclo de 
maquina, e uma outra instrução é buscada no mesmo ciclo de 
maquina e executa no próximo ciclo a chamamos de Pipeline. Desta 
maneira as instruções são executadas mais rapidamente e em maior 
quantidade. Pipeline é implementado na arquitetura Harvard
MicrocontroladoresMicrocontroladores
Pipeline
OBS: nem todas as instruções podem ser realizadas usando a 
pipeline. As instruções de saltos no contador de programa, 
levam o contador de programa a ser zerado, pois estas 
instruções levam 2 ciclos de maquinas.
MicrocontroladoresMicrocontroladores
Características : 16F877A
• 40 pinos;
• 33 pinos de I/O configuráveis;
• 8 K de memória de programa;
• 256 bytes de EEPROM para dados;
• 368 bytes de Ram;
• 35 instruções;
• interrupções; 
• Serial;
• 8 Canais analógicos de 10 bit;
• comparadores;
• Stack com 8 níveis;
• Interrupções externas disponíveis;
• Memória de programa protegida contra cópias ....
MicrocontroladoresMicrocontroladores
• 40 pinos;
• 33 pinos de I/O configuráveis;
• 8 K de memória de programa;
• 256 bytes de EEPROM para dados;
• 368 bytes de Ram;
• 35 instruções;
• interrupções; 
• Serial;
• 8 Canais analógicos de 10 bit;
• comparadores;
• Stack com 8 níveis;
• Interrupções externas disponíveis;
• Memória de programa protegida contra 
cópias ....
Comparativo : 16F84 X 16F877A
• 18 pinos;
• 13 pinos de I/O configuráveis;
• 1 K de memória de programa;
• 64 bytes de EEPROM para dados;
• 35 instruções;
• 4 interrupções 
Timer de 8 bits (TMR0)
Externa
Mudança de estado
Finalização da EEPROM
• Stack com 8 níveis;
• Interrupções externas disponíveis;
• Memória de programa protegida 
contra cópias ....
MicrocontroladoresMicrocontroladores
Pinagem do 16F877
MicrocontroladoresMicrocontroladores
Pinagem do 16F877
MicrocontroladoresMicrocontroladores
16F877
OSC2 / CLKOUT
OSC1 / CLKIN MCLR
Vdd
Vss
RD0 a 
RD7
RC0 a
RC7
Memória de 
Programa
EEPROM
8k x 14 STACK
PC
W
Registros 
Especiais e 
memória de 
dados RAM
368 x 8
ALU
Timing
Memória de 
Dados 
EEPROM
256 x 8
Watchdog
Power on reset
Start-up timer
Power-up timer
Unid. Programação
Dec.Instrução TIMER 1 (16 bits)
TIMER 2 (8 bits)
Comparador
CCP1
USART
Brown-out detect
PORTAS DE E/S
BA C D
RB0 a 
RB7
RA0 a
RA5
TIMER 0
CCP2
Conv.A/D 10bits
SSP
E
RE0 a 
RE3
P
S
P
MicrocontroladoresMicrocontroladores
16F877 – Mapeamento da memória
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores
MicrocontroladoresMicrocontroladores

Continue navegando