Página 1 de 1

SP 89C52

MensagemEnviado: 22 Ago 2007 08:44
por Tiago Silva
Bom dia;

Estou com a seguinte duvida em relação a RAM do 89C52
no manual fala que ele tem 256 de RAM

Pelo que entendi dos 256 de RAM
00H - 7FH posso acesar direto ou indiretamente
80H - FFH acesso indiretamente

e os registro especiais ( timer, portal ..etc) fica
80H - FFh e acesso e direto

neste casso o 8952 tem "2" endereço igual (ex 90h) o que diferencia eles e a forma de ler.
direto ==> registro especiais
indireto ==> byte da RAM


Minha Duvida e a seguinte eu posso colocar o valor incial do SP acima de 7Fh e depois o mesmo ser incrementado ??
já que acima de 80H o acesso e indireto.

Eu preciso de 200 byte de RAM, e uso maximo 8 lcall seguidos no programa, neste caso no estouro os 256.






Tiago

MensagemEnviado: 22 Ago 2007 10:14
por brasilma
De memória vc tem apenas 128 bytes 0-7F, além disso vc usa 8 bytes para os registradores, além do espaço reservado ao Stack.

MensagemEnviado: 22 Ago 2007 12:26
por Tiago Silva
Olá Brasilma ;


e os 128 byte acima de 7FH que no manual fala (pelo que eu ententci) e acesado indiretamente ?? então nao existe byte acima de 7fH no 89C52 ????



Tiago

MensagemEnviado: 22 Ago 2007 12:54
por brasilma
Nos '52 existe, porem deve ser acessado de forma indireta, o que complica um pouco os programas, é como vc descreveu.

MensagemEnviado: 22 Ago 2007 15:22
por Tiago Silva
Olá Brasilma;


em relação ao SP eu posso inicializar ele acima dos 7FH ??
ex. mov sp,#090h , levando em consideração que acima de 7Fh o acesso e indireto.

em relação ao acesso indireto, não tenho problema, tenho uma rotina que e usada varias vezes e uso o acesso indireto nela ......etc


Tiago

MensagemEnviado: 22 Ago 2007 21:29
por brasilma
O Data Sheet diz que sim, leia isto: "Note that the stack operations are examples of indirect addressing, so the upper 128 bytes of data RAM are avaliable as stack space in those devices whick implement 256 bytes of internal RAM"

Resolveu?

MensagemEnviado: 23 Ago 2007 08:08
por Tiago Silva
ok , Brasilma resolveu



obrigado

Tiago