A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PIC16F877A Jadsonlee da Silva Sá

Apresentações semelhantes


Apresentação em tema: "PIC16F877A Jadsonlee da Silva Sá"— Transcrição da apresentação:

1 PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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
Pino 1 - /MCLR - /Vpp Entrada do reset/Entrada da tensão de programação Pino 2 - RA0/AN0 E/S digital e entrada analógica. Pino 3 - RA1/AN1 Pino 4 - RA2/AN2/Vref-/CVref E/S digital, entrada analógica, entrada baixa da tensão de referência do A/D e saída Vref do comparador. Pino 5 - RA3/AN3/Vref+ E/S digital, entradas analógica e entrada alta da tensão de referência do A/D. Pino 6 RA4/T0CKI/C1OUT E/S digital, entrada do clock externo do timer0 e entrada do comparador 1. Pino 7 - RA5 – /SS - AN4 -C2OUT E/S digital, entrada slave select da SPI e entrada do comparador 2. Pino 8 - RE0//RD/AN5 E/S digital e controle de leitura da porta paralela escrava. Pino 9 - RE1//WR/AN6 E/S digital e controle de escrita da porta paralela escrava. Pino 10 - RE2//CS/AN7 E/S digital e controle de seleção do chip da porta paralela escrava. Pino 11 - VDD Alimentação. Pino 12 - VSS Terra. Pino 13 - OSC1/CLKI Entrada do oscilador e entrada da fonte de clock externa. Pino 14 - OSC2/CLKOUT Saída do oscilador e saída do clock. Pino 15 - RC0/T1OSO/T1CKI E/S digital, saída do oscilador do timer 1 e entrada do clock externo do timer 1.

8 Pino 16 – RC1/T1OSI/CCP2 Entrada/saída digital, entrada do oscilador do timer 1 e entrada de captura 2 ou saída de comparação 2 ou saída do PWM2. Pino 17 – RC2/CCP1 Entrada/saída digital e entrada de captura 1 ou saída de comparação 1 ou saída do PWM1. Pino 18 – RC3/SCK/SCL Entrada/saída digital, entrada/saída do clock da SPI e entrada/saída do clock da I2C. Pino 19 – RD0/PSP0 Entrada/saída digital e dados da porta paralela escrava. Pino 20 – RD1/PSP1 Pino 21 – RD2/PSP2 Pino 22 – RD3/PSP3 Pino 23 – RC4/SDI/SDA Entrada/saída digital, entrada de dados da SPI e da I2C. Pino 24 – RC5/SDO Entrada/saída digital e saída de dados da SPI. Pino 25 – RC6/TX/CK Entrada/saída digital, transmissão assíncrona USART e clock síncrono da USART 1. Pino 26 – RC7/RX/DT Entrada/saída digital, recepção assíncrona USART e dados síncrono da USART 1. Pino 27 – RD4/PSP4 Pino 28 – RD5/PSP5 Pino 29 – RD6/PSP6 Pino 30 – RD7/PSP7

9 Configuração dos Pinos - DIP
Pino 31 – VSS Terra. Pino 32 – VDD Alimentação. Pino 33 – RB0/INT Entrada/saída digital e interrupção externa. Pino 34 – RB1 Entrada/saída digital. Pino 35 – RB2 Pino 36 – RB3/PGM Entrada/saída digital e habilita programação ICSP. Pino 37 – RB4 Pino 38 – RB5 Pino 39 – RB6/PGC Entrada/saída digital e clock da programação ICSP. Pino 40 – RB7/PGD Entrada/saída digital e dados da programação ICSP.

10 Diagrama de Blocos

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

12 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.

13 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.

14 PC aponta para o endereço SUB_1.
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

15 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).

16 CPU - Instruções Formato de cada categoria.

17 CPU - Instruções Instruções reconhecidas pelo PIC16F877A.

18 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.

19 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.

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

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

22 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.

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

24 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.

25 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.

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

27 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 ( FF) Página 2 ( FF) Os bits <4:3> de PCLATH são usados para especificar a página. Página 1 (0800-0FFF) Página 3 (1800-1FFF)

28 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.

29 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.

30 Organização da Memória

31 Organização da Memória

32 Organização da Memória


Carregar ppt "PIC16F877A Jadsonlee da Silva Sá"

Apresentações semelhantes


Anúncios Google