31
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II PIC16F877A - Parte II Jadsonlee da Silva Sá [email protected] www.univasf.edu.br/~jadsonlee. sa

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá [email protected]

Embed Size (px)

Citation preview

Page 1: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

PIC16F877A - Parte IIPIC16F877A - Parte II

Jadsonlee da Silva Sá

[email protected]/~jadsonlee.sa

Page 2: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória

Memória de dados (SRAM).

– Capacidade – 368 bytes.

– Dividida em quatro bancos.

– Contém os registradores GPRs (Registradores de Propósito Geral) e SFRs (Registradores de Função Especial).

Page 3: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– GPRs Armazenamento de dados e operações scratch pad (área de acesso rápido para acesso temporário.).

• Tamanho de 368 bytes.

• Existe uma área comum nos bancos.

• Não são inicializados no power-on reset e são inalterados em todos os outros resets.

– SFRs Controla a operação do dispositivo.

• Classificados em dois conjuntos de registradores: core e periféricos.

• Alguns SFRs são inicializados no power-on reset e em outros resets – Outros SFRs não são afetados.

Page 4: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Memória de dados

SRAM

Alguns SFRs de “alto uso” do banco 0 são espelhados nos outros bancos para reduzir o código e ter um rápido acesso.

Os últimos 16 bytes são mapeados para reduzir o overhead no contexto de chaveamento.

Page 5: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Endereçamento.

• SRAM Existem quatro bancos.

• Existe duas formas de endereçamento: direto e indireto.

– IRP (Apontador de registrador indireto), RP0 e RP1 são bits do registrador STATUS.

Page 6: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Endereçamento direto.

Page 7: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Endereçamento indireto. Contém um endereço da SRAM.

Page 8: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Endereçamentos.

Endereçamento direto

Endereçamento indireto

Toda instrução usando INDF acessa o registrador apontado por FSR.

Contém um endereço da SRAM.

Page 9: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Organização da MemóriaOrganização da Memória Memória de dados (SRAM).

– Para mover valores de um registrador para outro registrador, o valor deverá passar pelo registrador W.

• Então, toda transferência entre registradores dura dois ciclos de instrução.

Page 10: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registrador STATUSRegistrador STATUS Contém o estado aritmético da ULA, de um reset

e os bits para selecionar os bancos da SRAM.

Page 11: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registrador STATUSRegistrador STATUS

Page 12: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ExemploExemplo Endereçamento indireto da SRAM.

– Zera as posições de 20 a 2Fh.

Zera o bit IRP de STATUS.

Carrego W com 0x20.

Carrego FSR com o conteúdo de W.Zera a posição de memória apontada por

FSR.Incrementa FSR.

Se bit 4 de FSR for 1, salta a próxima instrução.

Vai para NEXT.

Page 13: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

Seleção do oscilador.

Reset.

– Power-on reset (POR);

– Power-up Timer (PWRT);

– Oscillator start-up timer (OST);

– Brown-out reset (BOR).

Interrupções.

Watchdog timer (WDT).

Page 14: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

SLEEP.

Proteção de código.

Posições de memória para identificação (ID).

Programação serial e serial em baixa tensão in-circuit.

Depurador in-circuit.

Page 15: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

Registrador – Configuration Word.

– Utilizado para selecionar várias configurações do dispositivo.

– Mapeado na memória de programa no endereço 2007h.

– Acessível apenas durante a programação.

Page 16: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

Registrador – Configuration Word.

Page 17: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Características Especiais da Características Especiais da CPUCPU

Registrador – Configuration Word.

Page 18: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

OsciladorOscilador Utilizado para gerar o clock do μC (Tosc).

– Quatro períodos de clock do μC geram um ciclo de instrução (Tcy).

O PIC16F877A pode operar em quatro diferentes modos de oscilador:

– LP Cristal Low Power;– XT Cristal/Ressonador;– HS Cristal High Speed/Ressonador;– RC Resistor-Capacitor.

• Os bits FOSC1 e FOSC2 são utilizados para selecionar um dos quatro modos.

Page 19: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

OsciladorOscilador Nos modos LP, XT e HS, um cristal ou ressonador é

conectado nos pinos OSC1 e OSC2 para estabelecer a oscilação.

Page 20: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

OsciladorOscilador Clock externo – LP, XT e HS.

Page 21: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

OsciladorOscilador Oscilador RC.

– Utilizado em aplicações onde as temporizaçães são insensíveis.

Page 22: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Existem vários tipos de reset:

– Power-on Reset (POR);

– Reset /MCLR – Durante a operação normal;

– Reset /MCLR – Durante SLEEP;

– Reset WDT – Durante operação normal;

– Wake-up WDT – Durante SLEEP;

– Brown-out reset (BOR).

Page 23: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset /MCLR.

– Existe um filtro na entrada do pino /MCLR para detectar e ignorar pequenos pulsos.

Page 24: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Power-on Reset (POR).

– É gerado on-chip quando um aumento de tensão no pino VDD é detectado (faixa de 1,2 – 1,7 V).

Power-up Timer (PWRT).

– Temporizador com oscilador RC interno ao chip.

– Fornece um timeout nominal de 72 ms no power-up a partir do POR – O chip é mantido em reset nesse período.

– Esse atraso permite que VDD alcance um nível de tensão aceitável.

– Habilitado via software – Configuration word.

Page 25: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset

Oscillator Start-up Timer (OST).

– Fornece um atraso de 1024 ciclos do oscilador após o atraso PWRT (se PWRT estiver habilitado).

– Utilizado para garantir a estabilização do oscilador.

– Time-out utilizado apenas para os modos XT, LS e HS, e no power-on reset ou wake-up a partir do sleep.

Page 26: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Brown-out Reset (BOR).

– Habilitado via software – Configuration word.

– Se VDD < VBOR = 4,0 V por um tempo > TBOR = 100 μs, o μC será resetado.

– O reset será mantido até que VDD > VBOR.

– Quando VDD > VBOR for satisfeito, o power-up timer mantém o μC em reset por TPWRT (72 ms).

– Caso VDD < VBOR durante TPWRT, .um reset BOR ocorrerá novamente.

– Obs.: PWRT é sempre habilitado se BOR estiver, independente do bit PWRT em Configuration word.

Page 27: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Valor de alguns registradores especiais.

Page 28: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Valor de todos registradores.

Page 29: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Valor de todos registradores.

Page 30: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

ResetReset Valor de todos registradores.

Page 31: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte II Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registrador PCONRegistrador PCON