Considerações básicas sobre o PIC16F877A

Considerações básicas sobre o PIC16F877A

(Parte 5 de 5)

Ressonadores cerâmicos são mais baratos que os cristais de quartzo, e possuem estabilidade adequada para a maioria das aplicações. Além disso, não precisam utilizar os capacitores externos. No entanto, são mais difíceis de serem encontrados no mercado brasileiro.

O sistema de reset

O PIC16F877 reconhece cinco diferentes tipos de reset, a dizer: •Reset no terminal MCLR durante operação normal http://www.solbet.com.br Considerações básicas sobre o PIC16F877A 23

•Reset no terminal MCLR durante a execução de uma instrução de SLEEP. •Reset através do watchdog (WDT) em operação normal.

•Reset através do WDT durante uma instrução de SLEEP.

•Reset na energização do sistema (POR)

Cada reset atua de modo diferenciado sobre os diversos registros. Com exceção do reset devido ao WDT ocorrendo quando o processador está no modo SLEEP, que desvia o programa para a próxima instrução após a instrução de SLEEP, todos os outros resets provocam o desvio imediato do programa para a posição 0H. O POR é gerado internamente na CPU quando é detectada subida no sinal de alimentação. Para utilizar o POR (sempre indicado para garantir o estado do microcontrolador logo após a energização) basta ligar o terminal MCLR com o VDD. Este reset só opera na subida do sinal de alimentação. Não é detectado a queda da alimentação. Você deve ter um circuito externo para o caso de desejar detectar a situação onde a VDD cai para um valor abaixo do mínimo permitido pelo fabricante, e, sem chegar a zero, retoma os valores de operação. Esta situação pode levar a um comportamento errático do microcontrolador.

A tabela 3.5 mostra o comportamento do contador de programa e do registrador Status nos vários tipos de reset. Alguns outros registradores também são afetados pelos resets. No item “Descrição dos registradores” você tem a descrição detalhada do efeito de cada reset sobre cada registrador específico.

CondiçãoContador de programa

Registrador STATUS

POR00H0001 1xxx

MCLR durante operação normal 00H000u u

MCLR durante SLEEP 00H0001 0uuu

WDT em operação normal 00H0000 1uuu

WDT durante SLEEP PC+1uuu0 0uuu

Tabela 3.5 Valores dos registros PC e STATUS nos diversos RESETS http://www.solbet.com.br Considerações básicas sobre o PIC16F877A 24

(Parte 5 de 5)

Comentários