tem como acessar memoria ram externa em C?

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Re: tem como acessar memoria ram externa em C?

Mensagempor renan-papaco » 06 Ago 2013 07:20

lopesjm escreveu:Olá Renan,

Se o LED que você ligou no pino de /WR ficou com menor intensidade, então o sinal de /WR está em atividade.

Jorge

o pino /WR fica em atividade muito rapidamente mesmo se programar a escrita em um tempo maior, tipo 2 segundos?
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Re: tem como acessar memoria ram externa em C?

Mensagempor lopesjm » 07 Ago 2013 22:39

Olá Renan,

Como eu lhe disse no post anterior, os sinais de /WR e /RD são pulsos. Não dá pra ver com LED, multimetro. Somente com osciloscópio. Mesmo fazendo escrita em 2 segundos, o que vai acontecer é que o sinal vai pulsar a cada escrita durante 2 segundos.

Algo semelhante a isto:
Código: Selecionar todos
/WR -------------------- ------------------- -------------------- (HI)
                        _                   _                     (LOW)


(É o que foi possível desenhar em caractere.)

A cada vez que o sinal desce, é uma operação de escrita em memória externa (RAM ou I/O).

Jorge
lopesjm
Byte
 
Mensagens: 133
Registrado em: 26 Out 2006 12:40

Re: tem como acessar memoria ram externa em C?

Mensagempor renan-papaco » 08 Ago 2013 00:28

hm... pode ser... mas oq vc acha.. meu código realmente funcionou? as vezes a compilação acontece mas o programa não roda...
devo analisar melhor esse circuito q fiz e monitorar o /WR com o osciloscopio msm
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Re: tem como acessar memoria ram externa em C?

Mensagempor renan-papaco » 10 Ago 2013 20:41

pois é... não funcionou.

usei o osciloscópio aqui e ele não detectou nenhuma atividade no pino WR... meu codigo não deu nada certo.

só tenho medo de programar em ASM pq sei q os erros serão praticamente impossíveis de serem encontrados. imagina depurar um programa de 64KB??? ia morrer tentando!

oq eu faço? preciso aprender a dominar os recursos externos do 8051... preciso fazer projetos com ele...anos e anos querendo isso...
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Re: tem como acessar memoria ram externa em C?

Mensagempor lopesjm » 11 Ago 2013 18:56

Olá Renan,

Quero saber qual a base de tempo que usou e quantos volts/div está ajustado para ver a amplitude no osciloscópio.

O seu circuito funciona alguma coisa ? Qual cristal está usando ? Consegue piscar um LED num pino ?

Está usando microcontrolador com flash eu está gravando eprom ?

Se for mcu DIP, veja se tem algum sinal nos pinos 18, 19 (cristal oscilador). Use ponta de 10M Ohm. Tem que aparecer uma senoide de pequena amplitude. Cerca de 1 volt ou menos. Depois veja o pino 29 e 30. Veja se pino 31 está aterrado para usar EPROM ou em +5V para usar memoria interna FLASH.

Se tudo estiver funcionando, grave este código e veja se o pino /WR está pulsando:

Código: Selecionar todos
/* Teste do pino /WR */

#include <8051.h>

xdata at 0x8000 unsigned char temp;
void main(void)
{
  while(1)
  {
    temp=0x55;      // escreve 0x55 na posição 0x8000 de uma memória externa ou I/O.
  }
}


Se está com pressa em aprender a usar o 8051, sugiro um curso. Há vários no mercado. Escolha um que tenha algum kit com os recursos que hardware que você quer aprender: RAM, I/O, etc. Aprender sozinho é possível, porém demanda mais tempo. Parece que você precisa de uma base maior em eletrônica digital ou até mesmo lógica.

Jorge
lopesjm
Byte
 
Mensagens: 133
Registrado em: 26 Out 2006 12:40

Re: tem como acessar memoria ram externa em C?

Mensagempor renan-papaco » 13 Ago 2013 23:33

olha... o circuito funciona... ja medi a atividade do cristal no osciloscopio, ja medi a atividade em outros pinos e opera de boa... tenho outra eprom pra testa-lo. consigo piscar um led em qualquer pino q programo em P1 e P3, ja que estou usando um 8052 original da intel.


noções de eletrônica digital e em logica eu já tenho... tanto que já projetei circuitos lógicos e inclusive já cheguei a usar alguns com os microcontroladores q possuo.

o negócio é que eu só preciso de um código que funcione, e a partir dele eu vou desenvolver um codigo mais avantajado... eu não posso pagar um curso...alias, aqui se quer existe o curso pra 8051... tudo que sei até hj deste chip eu aprendi sozinho.
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Re: tem como acessar memoria ram externa em C?

Mensagempor lopesjm » 14 Ago 2013 12:09

Olá Renan,

Teste o código que te passei. Se precisar em assembly, eu posto.

Quando for apagar uma eprom, NUNCA olhe para a luz ultravioleta do apagador. Ela tem grande quantidade de energia e pode queimar a retina (parte onde se forma a imagem no nosso olho) deixando cego de forma pernamente. Tenha esse cuidado e tudo correrá bem. Também não deixe leigos usarem esse tipo de luz sem esses cuidados. É nossa responsabilidade zelar pela saúde de todos. No laboratório, tudo pode acontecer se não tomar cuidado.

Também quando for soldar algum componente, NÃO respire aquela fumaça. Use algum exaustor e tenha um ambiente que circule o ar. A fumaça proveniente da solda contém substâncias cancerígenas.
Procure informações nos fabricantes de solda (COBIX, por exemplo)
http://www.cobix.com.br/pagina.php?p=fispq preencha para receber a Ficha de Informação de Produtos Quimicos da solda que você usa.

Sei que desviei do assunto, mas achei importante citar estas informações.

Jorge
lopesjm
Byte
 
Mensagens: 133
Registrado em: 26 Out 2006 12:40

Re: tem como acessar memoria ram externa em C?

Mensagempor renan-papaco » 15 Ago 2013 17:09

lopesjm escreveu:Olá Renan,

Teste o código que te passei. Se precisar em assembly, eu posto.

Quando for apagar uma eprom, NUNCA olhe para a luz ultravioleta do apagador. Ela tem grande quantidade de energia e pode queimar a retina (parte onde se forma a imagem no nosso olho) deixando cego de forma pernamente. Tenha esse cuidado e tudo correrá bem. Também não deixe leigos usarem esse tipo de luz sem esses cuidados. É nossa responsabilidade zelar pela saúde de todos. No laboratório, tudo pode acontecer se não tomar cuidado.

Também quando for soldar algum componente, NÃO respire aquela fumaça. Use algum exaustor e tenha um ambiente que circule o ar. A fumaça proveniente da solda contém substâncias cancerígenas.
Procure informações nos fabricantes de solda (COBIX, por exemplo)
http://www.cobix.com.br/pagina.php?p=fispq preencha para receber a Ficha de Informação de Produtos Quimicos da solda que você usa.

Sei que desviei do assunto, mas achei importante citar estas informações.

Jorge



disso aí eu já sei... a lâmpada UV que tenho é de 15 watts, cabe certinho numa mala preta aqui na qual só ligo quando a mala está fechada... ja cheguei a ve-la acesa e nem senti nada nos olhos... mas sei que é prejudicial olhar pra ela diretamente por muito tempo.

quanto a fumaça da solda... só soldo alguma coisa com um ventilador ligado e a janela aberta... a fumaça tem bastante benzeno que sei q é cancerigeno em pessoas mais pré dispostas a isso. o benzeno em quantidades grandes pode até matar n a hora!

quanto ao circuito aqui eu testei o código que vc postou... mas ainda sim não funcionou. se ao menos for possível usar algum port do 8051 como barramento bi direcional já é uma grande ajuda. eu só quero isso pra expandir as portas do 8051, adcionando mais portas de entrada.
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Re: tem como acessar memoria ram externa em C?

Mensagempor renan-papaco » 07 Jan 2014 19:10

bem...a questão aqui foi ressucitada! e ai alguem tem ideias de como podemos recontinuar o assunto la no outro tópico q criei?


Imagem

eis aqui o esquema e como expliquei anteriormente...o ls374 não está ai por falta de espaço e por preguiça... mas ainda sim da pra entender.. o 74LS138 selecionará um de seus pinos via endereçamento...e de acordo com o mapeamento seu endereço de ativação é apartir de 2000h(depois da EPROM que no caso seria 0000h até 1FFFh)tem também um inversor no pino WR pois o pulso pra habilitar o latch é positivo... em fim tudo isso fica inutil por conta do fato do pino WR estar sempre inativo...suspeito que seja meu compilador q tenha sido modificado pra não considerar as rotinas de leitura de RAM E I/O externa pois analisei os headers com outro SDCC e vi q tem tamanhos diferentes...será q é isso q está impedindo meu progresso?



e tbm tenho uma coisa a dizer... substitui minhas EPROMS por flashs 29F020 e 040...são ótimas e os pinos sobressalentes mando logo pro GND... na placa q fiz ela endereça 32KB...decidi parar de usar eproms nos meus testes...dá pena de queima-las em tantos testes...se bobear até vendo pra comprar memórias flash...
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Re: tem como acessar memoria ram externa em C?

Mensagempor andre_luis » 07 Jan 2014 19:26

Renan,



Eu não participei desse tópico aqui, então vamos lá...
Você postou uma imagem no outro post, e a 1a observação que faço é o fato de não estar observando conexão dos pinos RD e WR:

Compare seu circuito com o outro mais abaixo:

Imagem

Referencia:
Imagem

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: tem como acessar memoria ram externa em C?

Mensagempor renan-papaco » 07 Jan 2014 19:38

andre_teprom escreveu:Renan,



Eu não participei desse tópico aqui, então vamos lá...
Você postou uma imagem no outro post, e a 1a observação que faço é o fato de não estar observando conexão dos pinos RD e WR:

Compare seu circuito com o outro mais abaixo:

Imagem

Referencia:
Imagem

+++

pra começar meu circuito nem tem RAM externa... além disso numa RAM a escrita é habilitada em level0...um 74LS373 ou 374 tem o latch habilitado em uma rampa de subida se não me engano...
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Re: tem como acessar memoria ram externa em C?

Mensagempor andre_luis » 07 Jan 2014 20:42

Renan,


Vamos á questão:

renan-papaco escreveu:
andre_teprom escreveu:Eu não participei desse tópico aqui, então vamos lá...
Você postou uma imagem no outro post, e a 1a observação que faço é o fato de não estar observando conexão dos pinos RD e WR...

pra começar meu circuito nem tem RAM externa... além disso numa RAM a escrita é habilitada em level0...um 74LS373 ou 374 tem o latch habilitado em uma rampa de subida se não me engano...


Só que agora quem não está entendendo mais nada sou eu...
O fato é que ao observar uma de suas últimas mensagens, você estava mencionando problema de inatividade no pino WR:

Re: tem como acessar memoria ram externa em C?
Mensagem por renan-papaco » Sáb Ago 10, 2013 8:41 pm
pois é... não funcionou.
usei o osciloscópio aqui e ele não detectou nenhuma atividade no pino WR... meu codigo não deu nada certo.


Porém, esse pino WR ( e também o RD ) são usados na leitura de memória RAM.
O problema é que você acabou de mencionar logo acima que não está utilizando RAM externa.

Estou tentando pegar a linha de raciocínio, mas não estou conseguindo...

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: tem como acessar memoria ram externa em C?

Mensagempor mastk » 07 Jan 2014 21:03

Andre, acho que o Renan quer usar uma RAM externar e disso que começar piscando um LED para confirmar se está tudo OK.

Assim, o problema que ele deve ter é o mapeamento de memória no compilador ou a configuração do 8051, o hardware deve estar certo.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: tem como acessar memoria ram externa em C?

Mensagempor andre_luis » 07 Jan 2014 21:14

Entendi, era um circuito apenas com o propósito de debugar o problema...


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

errei de topico...foi mal!

Mensagempor renan-papaco » 07 Jan 2014 21:39

caras...vc não se ligam q o pino WR também é pra escrita em periféricos de saida? WR é o unico sinal q se usa pra escrever num registrador...claro tem interrupções, timers e etc... mas isso depende do periferico em questão... e oq é uma memoria SRAM? nada mais que um montão de registradores agrupados dentro de um CI... entenderam agora? usar RAM externa é outra parada...eu q ressucitei o topico errado me desculpem!!! e para todos os efeitos os comandos Xbyte também serviriam pra escrever e ler um dado num endereço especifico...oq pode ser feito numa ram externa!
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

AnteriorPróximo

Voltar para 8051

Quem está online

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

x