Organização da memoria interna do PIc 16F877A

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Organização da memoria interna do PIc 16F877A

Mensagempor antonio » 11 Dez 2009 07:12

Pessoal tudo bem!!

É o seguinte..... estou com duvida de como è organizados os dados na eeprom interna do PIC! ou seja no exemplo abaixo em write_eeprom(i,Texto[i]);o endereço " i " fica sempre com o valor zero (0) , ou seja o texto è todo escrito no primeiro endereço (0) ? ou são precisos 31 endereços (posiçoes)da eeprom para guardar o texto?

Assim;
address 0x00=E
address 0x01=E
address 0x02=p
address 0x03=r
address 0x04=o
address 0x05=m
;; atè ao final do texto
Confesso que estou confuso com este negocio por isso peço ajuda!!

Desde jà agradeço

void main(void){
int i,c;
char Dato;
char Texto[]=" EEPROM Interna Forum ASM ";// texto

// Caregamos Texto na EEPROM interna

for(i=0;i<=31;i++){
write_eeprom(i,Texto[i]);
}
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor aureo.oliveira » 11 Dez 2009 07:49

void main(void){
int i;
char Texto[]=" EEPROM Interna Forum ASM ";// texto

// Caregamos Texto na EEPROM interna

for(i=0;i<=31;i++){
write_eeprom(i,Texto[i]);
}
}
1- O indexador ´i´ sera incrementado ate 31 pelo comando ´for´
2- Sim usara 32 posições da memória eeprom (lembre-se do zero).
Você ja simulou esse exemplo?
HEHEHEHE!!!!!!
aureo.oliveira
Bit
 
Mensagens: 27
Registrado em: 11 Out 2006 19:28
Localização: Goiânia-Goiás

Mensagempor antonio » 11 Dez 2009 08:09

Cara brigado por ajudar!

Não simulei não...não tenho ainda conhecimentos pra isso , se poder ajudar eh bem vindo , eu estou usando o CCs compiler e o proteus para minhas brincadeira!

olha só. então tanto acontece com carateres como digitos ou não? ou seja se queiser guardar o numero 245 na eeprom, ocupa tambem 3 posicoes da memoria, isto è 3 address de eeprom que eh 3x00FF, certo?

Estou usando o Pic 16F877A dei uma olhada no data e pelo que entendi tem a eeprom interna eh de 256 eddress(posicoes) de 8 byts eh certo ou errado !!


Mais uma vez agradeço
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor ze » 11 Dez 2009 14:47

oi. Nenhum engenheiro está a lhe ajudar pois isto é “muito” pra ele. Provavelmente por ser “difícil” demais pra sua cansada cabeça, “entende”? Ou se não estão ocupadérrimos d+ pra passar por cá (este é o caso, claro). Como não sou engo e nem tão ocupado assim, vejamos:
1º post teu
-no teu fonte lá de cima não precisa ir até 31. Basta que loop seja do tamanho da "string". tem 1 maneira de otimizar, mas não vem ao caso ainda
2º:
-caracteres ou dígitos: a eeprom não diferencia. Ela guarda o BYTE e num quer nem saber o que é. Você (o software) é quem vai definir sua utilização FORA da eeprom
-não. o 245 pode ser considerado 1 byte e portanto vai ocupar 1 posição só. (Se precisar separar veja num tópico recente o m.suasunga e eu fizemos um conluio pra separar os 3 dígitos pra ser exposto num lcd p.ex. nada a ver com gravar na eeprom, mas lhe poderá ser útil futuramente). Como deve saber 1 byte vai até 255 (0xff). Números até este valor cabem em 1 posição de eeprom.
-sim a eeprom do dito tem 256 posições de 8 BITS cada. Não confunda com BYTE
Sem querer ofender sugiro que dê uns passos pra trás e reveja os conceitos de bits, bytes, hexa, char, int, e afins.

Desculpe se não fui mui claro, mas esta é a única pergunta em todos estes anos de parceria que acho que sei responder com chance maior que 50% de estar certo.
Como sugestão de um psicólogo, tente logar-se com nome feminino (recadastra-te) pra fazer perguntas (tipo simples) e vai obter respostas até do que nem precisa e com muito mais rapidez. Conheço este time.
Ah, se quiser fazer um pisca led com pic...
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor Djalma Toledo Rodrigues » 11 Dez 2009 15:43

Antônio

Se for 245 em Character ocupará 3 posições:
0x32, 0x34 e 0x35 Ver Código ASCII:

http://pt.wikipedia.org/wiki/ASCII

Se for o Valor 245 uma posição: 0xF5

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor ze » 11 Dez 2009 16:25

oi de novo. a explicação do dj está correta. mas o minino 2º entendi quer guardar apenas o nº 245 e ninguém em sã conciência o faria em forma de ascii dada a limitação da eeprom.
Onde escrevi caracteres ou dígitos subtenda-se alfanuméricos e numéricos ascii e puramente números repectivamente. 1/2 confuso...sorry.
antigamente eu era meio confuso. hoje em dia num tenho mais tanta certeza.
abç & bfds II
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor antonio » 11 Dez 2009 17:36

brigado Pessoal!!

Lellis eu quando posto aqui alguma duvida, jà tenho pesquisando muito, e claro quando não acho nada de jeito entao passo por cah!

Mais no fundo foi esclarecida a minha duvida sim !

Espero não encher o saco de ningem com minha passagem por aqui e com minhas duvidas?

Eu nao soh proficional gosto da programação de microcontroladores,por isso os meus erros !

Pessoal soh mais esta!Tambem podemos guardar dados na eeprom da seguinte forma!
#rom 0x1100={1,2,3,4,5,6,7,8}; // Datos a guardar en la EEPROM

isto è começamos a guardar dados a partir da posiçao 0x1100 da eeprom, agora se eu quiser uardar em outras posiCoes como fazer?
Por exemplo para guardar nas posicoes seguintes outros dados ?


Um abraço
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor ze » 12 Dez 2009 22:13

ja que passei por cá...
ccs num sei, mas esta tua forma é parecida com a do hitech. mas veja que estes dados serão guardados como default durante a gravação apenas. ou seja não durante o run time (sistema funcionando). Pra este caso e eepromread e eepromwrite são indicadas.

Algum maluco do ccs poderá lhe confirmar...
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor antonio » 13 Dez 2009 06:33

lellis escreveu:Algum maluco do ccs poderá lhe confirmar...
abç


Lellis tambem espero que passe por cá algum espert em CCS para clarificar isto ao minino!!

Agradeço por ter ajudado, vai dando sempre uma passado por cà a sempre em que ajudar¨!

Cara eu esteve estudando um pouco isso, e não teve sucesso , ou seja não ficou claro,se è soh durante a gravação , ou se pode no sisteme de funcionamente como vc falou!

Um abraço
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34


Voltar para PIC

Quem está online

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

cron

x