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 = 0b11110000Qual é 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.