universidade federal do vale do são francisco - univasf colegiado de engenharia da computação –...
TRANSCRIPT
![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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12d497959413d8d29b6/html5/thumbnails/31.jpg)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Registrador PCONRegistrador PCON