1 / 32

PIC16F877A

PIC16F877A. Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br www.univasf.edu.br/~jadsonlee.sa. Características. CPU RISC. Conjunto de instruções  35 palavras. Todas as instruções são executadas em um único ciclo, exceto os desvios (dois ciclos de instrução).

vesna
Download Presentation

PIC16F877A

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br www.univasf.edu.br/~jadsonlee.sa

  2. Características • CPU RISC. • Conjunto de instruções  35 palavras. • Todas as instruções são executadas em um único ciclo, exceto os desvios (dois ciclos de instrução). • Frequência de clock de entrada  até 20 MHz. • Ciclo de instrução de 200 ns. • Memória de programa FLASH  8K x 14 words (palavras de 14 bits). • Memória de dados SRAM  368 Bytes. • Memória de dados EEPROM  256 Bytes. • Quantidade de pinos  40.

  3. Características • Periféricos. • Três timers (timer 0, 1 e 2) – temporizador/contador. • Dois módulos CCP (Captura, Comparação e PWM). • Captura Valor do timer1 - Um evento no pino CCP1. • ComparaçãoValor é comparado ao timer1 – Pino CCP1. • PWM Resolução de 10 bits. • Porta serial síncrona (SSP)  SPI (Modo mestre) e I2C (mestre/escravo). • USART/SCI  detecção de endereço de 9 bits. • Porta paralela escrava (PSP)  8 bits com controle externo /RD, /WR e /CS.

  4. Características • Analógica. • Conversor A/D  8 canais com resolução de 10 bits. • Circuito de detecção Brown-out para reset Brown-out (BOR). • Módulo comparador analógico. • Dois comparadores analógicos. • Referência de tensão on-chip programável (Vref). • Entrada programável multiplexada a partir das entradas do dispositivo e da tensão de referência interna. • Saídas do comparador disponíveis externamente.

  5. Características • Especiais. • Programação serial (ICSP) via dois pinos  5V. • Watchdog timer  Possui oscilador RC on-chip. • Proteção de código. • Modo SLEEP para economia de energia. • Opções do oscilador selecionáveis. • Depuração in-circuit (ICD) via dois pinos. • Interrupções  15 fontes. • Portas de E/S  5 portas (A, B, C, D e E).

  6. Diagrama de Pinos

  7. Configuração dos Pinos - DIP

  8. Configuração dos Pinos - DIP

  9. Diagrama de Blocos

  10. Arquitetura • Arquitetura Harvard. • As memórias de programa e dados possuem barramentos diferentes.

  11. Arquitetura • Pipeline. • Dois estágios. • Sobrepõe a busca e a execução (decodificação) da instrução. • A busca e a execução gastam cada Tcy unidades de tempo. • Com a sobreposição, a busca da instrução atual e a execução da anterior ocorrem em Tcy unidade de tempo – Ciclo de instrução.

  12. Arquitetura • Pipeline – Esquema do clock/ciclo de instrução. • A frequência do clock de entrada (OSC1) é dividido por quatro para gerar o ciclo de instrução Tcy. Cada ciclo Q possui a frequência do clock de entrada. • A instrução é buscada na memória de programa e armazenada no registrador de instrução (IR) durante Q1. • A decodificação e execução durante Q2, Q3 e Q4. • Em Q2 o operando é lido e escrito em Q4.

  13. Arquitetura • Pipeline – Fluxo de instrução. • Todas as instruções, exceto instruções de desvio, gastam um único ciclo de instrução. • Exemplo. PC aponta para o endereço SUB_1. Flush da instrução 4

  14. CPU - Instruções • CPU – Utiliza as instruções (memória de programa) para controlar a operação do μC. • Existem 35 instruções. • Divididas em três categorias: • Operações orientadas a byte; • Operações orientadas a bit; • Operações literais e de controle. • Cada instrução possui uma palavra de 14 bits dividida em um opcode (tipo da instrução) e operandos (um ou mais).

  15. CPU - Instruções • Formato de cada categoria.

  16. CPU - Instruções • Instruções reconhecidas pelo PIC16F877A.

  17. ULA • ULA e acumulador (W) de 8 bits. • Executa funções aritméticas (+ e -) e booleanas (lógicas e deslocamento) entre os dados em W e em qualquer registrador de arquivo.

  18. Organização da Memória • Existem três blocos de memória. • Memória de programa (FLASH) – 8K word x 14 bits. • Memória de dados (SRAM) – 368 bytes. • Memória de dados EEPROM – 256 bytes.

  19. Organização da Memória • Memória de programa. • Dividida em 4 páginas de 2K.

  20. Organização da Memória • Memória de programa. • Contador de programa (PC). • Possui 13 bits. 0 0000 0000 0000 (0000h) 1 1111 1111 1111 (1FFFh). • 0000h à 1FFFh = 8192d = = 8*1024 = 8K word. • 1 word possui 14 bits.

  21. Organização da Memória • Memória de programa. • Contador de Programa (PC). • PCL Contém os 8 bits menos significativos de PC. • Pode ser lido e escrito. • PCH  Contém os 5 bits mais significativos. • Não pode ser lido nem escrito diretamente. • Todas as atualizações são feitas via PCLATH.

  22. Organização da Memória • Memória de programa. • Contador de Programa (PC) – Quatro situações de carregamento.

  23. Organização da Memória • Memória de programa. • Após qualquer tipo de reset, PC apontará para o endereço 0000h. Em seguida, saltará para o início da página 0. • Sempre que ocorrer alguma interrupção, PC apontará para o endereço 0004h. Em seguida, saltará para o endereço da rotina de serviço de interrupção que ocorreu.

  24. Organização da Memória • Pilha (Stack). • Contém o endereço de retorno a partir de um desvio. • Implementada por hardware com 8 níveis (chamadas ou interrupções) de 13 bits. • O espaço da pilha não é parte das memórias de programa nem de dados.. • O apontador de pilha não pode ser lido nem escrito. • PC é PUSHed na pilha quando CALL for executada ou quando um desvio por interrupção ocorrer. • A pilha é POPed quando RETURN, RETLW ou RETFIE for executado.

  25. Organização da Memória • Pilha (Stack). • Ocorrência de mais que 8 desvios ou interrupções simultâneas.

  26. Organização da Memória • Paginação da memória de programa. • Temos 8K = 8192 = 213 13 bits para endereçar (PC). • Cada umas das 4 páginas possui 2K = 211  11 bits. • Endereçar as páginas - 4 = 22  2 bits Página 0 (0000-07FF) 00 000 0000 0000 00 111 1111 1111 Página 2 (1000-17FF) 10 000 0000 0000 10 111 1111 1111 Os bits <4:3> de PCLATH são usados para especificar a página. Página 1 (0800-0FFF) 01 000 0000 0000 01 111 1111 1111 Página 3 (1800-1FFF) 11 000 0000 0000 11 111 1111 1111

  27. Organização da Memória • Paginação da memória de programa. • Execução das instruções CALL e GOTO. • CALL e GOTO possuem uma faixa de endereço de 11 bits. • O usuário deve especificar a página em PCLATH<4:3>. • Quando uma instrução de retorno for executada, o endereço completo de 13 bits é retornado para PC. • Observe que a pilha armazena endereços de 13 bits.

  28. Organização da Memória • Memória de dados (SRAM) – 368 bytes. • É dividida em quatro bancos que contém os registradores de propósito geral (GPRs) e os registradores de função especial (SFRs). • GPRs Utilizados para armazenar temporariamente os dados e resultados criados durante a execução do programa. • SFRs Utilizados para controlar a operação dos módulos CPU e periféricos. SFRs são divididos em dois grupos: core(CPU) e periféricos.

  29. Organização da Memória

  30. Organização da Memória

  31. Organização da Memória

More Related