H3: PIC 16F628A: Memória, Registradores e Configuração

Classificado em Computação

Escrito em em português com um tamanho de 4,4 KB

Fundamentos de Arquitetura e I/O do PIC 16F628A

Qual é a finalidade da memória FLASH no 16F628A?

A memória FLASH tem como função principal armazenar o programa que será executado pelo Microcontrolador (MCU).

Quantos bits de endereço, teoricamente, seriam necessários para endereçar esta memória completamente?

Considerando 8K (8192 localidades), seriam necessários 13 bits de endereço, pois $2^{13} = 8192$ localidades.

Qual é a finalidade da memória EEPROM? Por intermédio de qual memória ela é acessada?

Sua função é o armazenamento de dados que não podem ser perdidos (memória não volátil).

O acesso à memória EEPROM é realizado através de Registradores de Função Específica (SFRs) localizados no Banco 1 da memória RAM.

Qual é o endereço do vetor de reset? Qual a sua finalidade?

O endereço é 0x0000. Sua finalidade é receber a primeira instrução de um programa após o reset do microcontrolador.

Qual foi a abordagem utilizada pelo fabricante do MCU para acessar uma quantidade maior de registradores na memória RAM?

De modo a acessar um conjunto maior de registradores, foi utilizada a filosofia de paginação (banking), criando 4 bancos de memória RAM.

Os registradores de propósito geral possuem espelhamento?

Sim, alguns Registradores de Função Específica (SFRs) relacionados à I/O possuem espelhamento para facilitar o acesso entre os bancos de memória. Os registradores PORTA, PORTB, TRISA e TRISB possuem espelhamento.

As posições de espelhamento são:

  • Registrador PORTB: Espelhado na posição 0x106.
  • Registrador TRISB: Espelhado na posição 0x186.

Quais registradores são responsáveis por controlar a direção de cada pino de I/O? Que valores são colocados em cada bit para configurá-los como saída?

Os registradores TRISx (TRISA e TRISB) configuram cada pino da respectiva porta como entrada ou saída. Cada bit do registrador corresponde a um pino da porta.

A configuração é dada por:

  • Bit em 1: Configura o pino como entrada.
  • Bit em 0: Configura o pino como saída.

Quais registradores estão diretamente ligados aos pinos de I/O do PIC? São considerados como registradores de propósito geral ou específico? Quais deles possuem espelhamento?

Os registradores ligados aos pinos de I/O são os Registradores TRIS (TRISA e TRISB) e os Registradores PORT (PORTA e PORTB).

Eles são considerados Registradores de Propósito Específico (SFRs). Os que possuem espelhamento são TRISB e PORTB.

Como podemos configurar os 4 bits mais significativos do registrador TRISB como entrada?

Atribuindo nível lógico alto (valor 1) para eles.

Exemplo: Para configurar os 4 bits mais significativos como entrada e os 4 menos significativos como saída:

TRISB = 0b11110000

Qual é a finalidade da Palavra de Configuração (Configuration Word) do PIC?

A Palavra de Configuração serve para definir o comportamento fundamental do PIC, como o tipo de oscilador, a habilitação do Watchdog Timer (WDT), a proteção de código e o Power-up Timer (PWRT).

Qual a finalidade do Watchdog Timer (WDT)?

O WDT é um temporizador que evita que o programa trave em um determinado ponto. Caso o programa entre em um laço infinito (por um erro de software, por exemplo), o contador irá estourar (overflow), fazendo com que o microcontrolador seja resetado.

Se não existirem falhas no programa, o contador deve ser resetado periodicamente (antes de atingir o valor máximo) para evitar o reset indesejado.

Para que serve a proteção da memória de programa/dados?

Caso esteja habilitada, a proteção de memória (Code Protection) protegerá o conteúdo da memória FLASH contra leitura externa, resguardando o código-fonte intelectual do desenvolvedor.

Entradas relacionadas: