SP 89C52

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

SP 89C52

Mensagempor Tiago Silva » 22 Ago 2007 08:44

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
Tiago Silva
Bit
 
Mensagens: 33
Registrado em: 03 Nov 2006 15:27

Mensagempor brasilma » 22 Ago 2007 10:14

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.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Tiago Silva » 22 Ago 2007 12:26

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
Tiago Silva
Bit
 
Mensagens: 33
Registrado em: 03 Nov 2006 15:27

Mensagempor brasilma » 22 Ago 2007 12:54

Nos '52 existe, porem deve ser acessado de forma indireta, o que complica um pouco os programas, é como vc descreveu.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Tiago Silva » 22 Ago 2007 15:22

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
Tiago Silva
Bit
 
Mensagens: 33
Registrado em: 03 Nov 2006 15:27

Mensagempor brasilma » 22 Ago 2007 21:29

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?
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Tiago Silva » 23 Ago 2007 08:08

ok , Brasilma resolveu



obrigado

Tiago
Tiago Silva
Bit
 
Mensagens: 33
Registrado em: 03 Nov 2006 15:27


Voltar para 8051

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x