MEMÓRIA PIC16F6XXA


A memória para programa do PIC16F628A não pode ser acessada pelo usuário, a não ser durante a gravação do programa. Porém existem meios de acessar a memória de programa em tempo de execução, mas apenas para leitura. Isso facilita muito o uso de tabelas internas no programa, por exemplo.

Essa memória tem: tem de 1K até 4K x 14 bytes para os microcontroladores PIC16F627A, PIC16F628A e PIC16F648A, respectivamente, que a princípio podem parecer pequenas para os dias atuais, mas como o PIC utiliza a tecnologia RISC garante uma excelente otimização da área de programa. Na figura abaixo pode-se ver o mapa de memória de programa.


  • PC ou Program counter: Neste registro o microcontrolador guarda a posição atual do programa. A cada instrução lida, o PC é incrementado em uma posição.
  • Stack Level 1 ... Stack Level 8: Nestes registradores são guardados os endereços de retorno para o microcontrolador quando utilizamos a instrução “CALL” em Assembly ou ainda a chamada de uma subrotina em linguagem C. Note que são apenas 8 níveis.
  • Reset Vector: Sempre que o microcontrolador for “reiniciado”, seja por um reset do usuário ou provocado pelo WDT, ele apontará para esta posição de memória.
  • Interrupt Vector: Quando tivermos uma interrupção (interna ou externa), o microcontrolador apontará para este endereço.
  • On chip program memory: Memória de programa. Área dedicada ao nosso programa.


Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.