Sei sulla pagina 1di 8

uControladores PIC

Programação em alto-nível

16 F 628 A
Memória de código,
Registos internos,
EEProm
16 F 628 A – Memórias internas
• Principais áreas de memória interna do µC.:

Registos Registos
Internos Internos
FLASH Especiais Gerais EEPROM

“ROM” “RAM” “RAM” “ROM”

( memória ( funcionamento ( dados da ( memória


de código ) dos periféricos ) Aplicação em não volátil )
execução )

2
Memória FLASH
• Memória de programa – Flash:
Os pics da série 16 têm um
‘program counter’ de 13 bits,
quer isto dizer que conseguem
endereçar um máximo de:
213 = 8192 posições
( 8k posições de memória)

O PIC 16 F 628 A apenas tem 2k


posições de memória flash
implementada, pelo que a
restante memória é um espelho
das primeiras posições.
3
Memória FLASH
• Memória de programa – Flash (cont.):
Cada uma das posições de memória é ocupada pelas
instruções que compõem o programa que terá que
executar.

Existem dois endereços da memória flash que merecem


especial atenção:

– 0000h: Endereço inicial da memória após um


reset do µC.

– 0004h: Endereço utilizado para atendimento


às subrotinas de interrupções.
4
Memória RAM
• SFRs e GPRs:
A memória RAM é constituída por registos de 8 bits, e é
composta por dois tipos de registos:
– SFRs ( Special Function Registers ): Registos especiais que
controlam o funcionamento da CPU e dos periféricos internos.
– GPRs ( General Purpose Registers ): Registos de uso geral para
guardar os dados do programa que está a ser executado.

• Esta área de memória é do tipo volátil, pelo os dados nela


contidos perdem-se com o desligar da alimentação, o
programa a ser executado pelo µC, tem de atribuir valores
de arranque sempre que o PIC for alimentado
(inicializações). 5
SFR’s – Registos de função especial
• Os registos especiais Banco 0
End. Indirecto 00 h
Banco 1
End. Indirecto 80 h
Banco 2
End. Indirecto 100 h
Banco 3
End. Indirecto 180 h

são responsáveis TMR0


PCL
01 h
02 h
OPTION
PCL
81 h
82 h
TMR0
PCL
101 h
102 h
OPTION
PCL
181 h
182 h

pelo funcionamento STATUS


FSR
03 h
04 h
STATUS
FSR
83 h
84 h
STATUS
FSR
103 h
104 h
STATUS
FSR
183 h
184 h

/ configuração dos PORTA


PORTB
05 h
06 h
TRISA
TRISB
85 h
86 h PORTB 106 h TRISB 186 h

diversos periféricos PCLATH 0A h PCLATH 8A h PCLATH 10A h PCLATH 18A h


INTCON 0B h INTCON 8B h INTCON 10B h INTCON 18B h

existentes no µC. PIR1 0C h PIE1 8C h

TMR1L 0E h PCON 8E h
TMR1H 0F h

• Um total de 35 T1CON
TMR2
10 h
11 h

registos controlam as T2CON 12 h PR2 92 h

CCPR1L 15 h
funções internas tais CCPR1H 16 h
CCP1CON 17 h
como entrada/saída RCSTA
TXREG
18 h
19 h
TXSTA
SPBRG
98 h
99 h

de dados, ou as RCREG 1A h EEDATA


EEADR
9A h
9B h

comunicações série. EECON1


EECON2
9C h
9D h

CMCON 1F h VRCON 9F h 6
GPR’s – Registos de uso geral
• Os registos de uso geral são utilizados para
armazenar dados relativos à aplicação que o
µControlador está a executar.
Existe um total de 224 registos de 8 bits, não
esquecer que determinadas variáveis criadas na
aplicação podem utilizar mais que um registo de
acordo com o tipo de dados seleccionado.
Ex.: tipo Char: 1 byte
tipo Float: 4 bytes

7
EEPROM
• A memória EEProm tal como o nome indica é do
tipo ROM, por outras palavras memória não volátil.
No caso do 16 F 628 A existem 128 posições de
memória EEProm cada um com capacidade de
armazenar 1 byte.
A escrita nesta memória obriga a um procedimento
de segurança de forma a garantir que os dados
presentes não são danificados por um
procedimento errático do programa.

Potrebbero piacerti anche