Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula
Bem, agora que você já aprendeu e analisou alguns detalhes sobre os microcontroladores PIC, vamos estudar sua memória de programa, cuja organização é mostrada na Figura 4.
Relacionados à área da memória de programa do PIC estão, além da memória de programa em si, apenas um contador de programa (o registrador PC) e uma memória pilha.
A memória pilha não é acessível ao usuário e serve exclusivamente para armazenar até 8 endereços de retorno de desvios provocados por chamadas de sub-rotinas ou por interrupções de programa. O que denomino chamada de sub-rotina pode ser associado a uma chamada de função em linguagens de mais alto nível, ok? Uma interrupção de programa também pode ser entendida como uma chamada de uma função, só que sua ação é em resposta a uma intervenção externa, normalmente em resposta a um evento que ocorreu em uma unidade periférica do PIC.
O nome de memória pilha se dá a uma analogia ao empilhamento de pratos, o primeiro que for empilhado será o último a ser retirado. Lembra-se deste conceito? Ele deve ter sido tratado em alguma disciplina em que você estudou as estruturas de dados.
No momento da chamada de uma sub-rotina (o que é feito por uma instrução chamada CALL) ou quando ocorre o atendimento a um pedido de interrupção, o valor presente no PC é salvo na pilha e só será restaurado na execução de uma instrução de retorno, através de instruções do tipo RETURN ou RETLW (se tiver sido ativada por uma instrução CALL) ou por uma instrução RETFIE (se tiver sido ativada em resposta a um pedido de interrupção). Quanto às instruções citadas, elas estão em conformidade com a linguagem Assembly. Nas próximas aulas, trataremos dessas instruções e de mais algumas quando fizermos a análise do conjunto de instruções dos PIC da família 16F.
Versão 5.3 - Todos os Direitos reservados