gravar arquivo em asm em uma 24lc512

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

gravar arquivo em asm em uma 24lc512

Mensagempor Eduardo Augusto » 11 Ago 2014 00:40

Ola
Estou fazendo um projeto com display gráfico e o pic16f877a. Consigo plotar as imagens que quero no display, e escrever os dados que quero nas posições que quero. Contudo estou esbarrando na limitação de memória que esse modelo de uC tem. Não cabe em um único uC fontes,imagens e rotinas do equipamento...
Teria como gravar em uma memoria I2C da microchip um arquivo só com os fontes das imagens e letras?
Tipo, pegar uma 24lc512 plugar no gravador universal, gravar um arquivo em asm com o valor dos fontes em hexa nos respectivos endereços que quero acessar???
Se houver um tutorial ou alguém tiver disposição de ensinar, ajudaria muito.
Não é possível dormir com todas mulheres do mundo, mas deve-se fazer o esforço.
Avatar do usuário
Eduardo Augusto
Byte
 
Mensagens: 105
Registrado em: 03 Mar 2014 08:57
Localização: São Paulo, SP

Re: gravar arquivo em asm em uma 24lc512

Mensagempor andre_luis » 11 Ago 2014 08:05

Esses displays permitem realmente criar caracteres dinamicamente ( armazenados durante a inicialização ), para que sejam endereçados no LCD do mesmo modo que os demais caracteres padrão do display. O que eu já usei para um controlador gráfico em específico, buscava esse mapa realmente na própria memoria de programa do microcontrolador, mas não vejo problemas em ser feito do modo que você tá falando.

Se quizer postar o código que testou aí, podemos tentar ir desenvolvendo juntos uma solução.
"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: gravar arquivo em asm em uma 24lc512

Mensagempor Red Neck Guy » 11 Ago 2014 09:39

Nada impede de fazer o que você quer, porém para realizar as operações de escrita no GLCD você necessitará estar com o dados na memória do mcu. Aí se você pretende a cada ciclo de escrita trazer essas tabelas para a memória acabará perdendo performance. Até é possível calcular quanto.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: gravar arquivo em asm em uma 24lc512

Mensagempor andre_luis » 11 Ago 2014 14:27

O T6963c pelo menos, permite gravar esse mapa de caracteres na RAM interna, de modo que o acesso dentro do display, após essa carga, acaba virtualmente sendo feito do mesmo modo que seria feito pela memória de caracteres da ROM interna, claro que mudando apenas o comando.
"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: gravar arquivo em asm em uma 24lc512

Mensagempor ze » 11 Ago 2014 16:14

olá amigo. no meu ver bastam conhecimentos mínimos que você obviamente já os tem.
1- como ler 1 byte da eeprom
2- como escrever 1 byte no display gráfico
vamos considerar um display 128x128 p.ex. e vc já domina como 'desenhar' um byte nele com precisão a nível de bit. Para preencher com seu desenho vc vai precisar de 256 bytes pra cada página. Voce acha na net alguns programas que convertem imagem em binário puro. Me lembro de ter visto um junto ao mikroc. esqueci o nome. sorry.

Agora o 1º pulo do gato. Com eles em mãos (em binário) durante o 'file load' do seu programador voce escolhe o endereço inicial do buffer onde carregar cada arquivo. p.ex. o 1º a partir do 0000h. o 2º, 0100h, 0200h, etc. (em alguns programadores vc pode até mesmo copiar e colar no endereço apropriado). Grave a eeprom. reserve.
Para mostrar no display, um algoritimo simples - o 2º pulo do gato:
Código: Selecionar todos
#define img0 0x000 //endereço inicial da imagem
#define img1 0x100
#define img2 0x200
void desenha(unsigned int endereco)
{
unsigned char i=0, dado;
while(i++) // ou ++i sei não
{
dado=eepromread(endereco+i);
pornografico(i,dado); //considerando que os argumentos de pornografico são 'endereco'  do 'dado'  cujos bits serão expostos
}
}

para desenhar
Código: Selecionar todos
desenha(img0); //simples assim

permita-me desconsiderar o quesito performance que ao meu ver posso o tornar irrelevante. de fato podemos melhorar um pouco fazendo leitura sequencial da eeprom e/ou guardando num pacotinho na ram do mc
Agora para os fontes das letras tem um 3º pulo do gato mas aí vc me quebra as pernas.
Considere-se que não me importo (muito) em escrever algo errado ou besteira, ok?
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32


Voltar para PIC

Quem está online

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

x