Como fazer caracter deslizar display 7 seg?

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Como fazer caracter deslizar display 7 seg?

Mensagempor elzirobotelho » 12 Fev 2013 20:25

Estou tentando e até o momento sem sucesso, fazer um caracter ou palavra deslizar da direita para esquerda num conjunto de 8 display´s 7 seg. Estou usando o MikroC Pro, Pic 16F887 e o Max7219. Sem o uso do Max7219 consegui implementar sem problemas, fazendo o uso de multiplexação e contador em anel. Mas, agora com o uso deste "max7219", não obtive sucesso até o momento.
Alguém poderia me ajudar, com dicas ou parte do código para o max7219?
Só um esclarecimento, estou tentando fazer uso do max7219, devido as várias multiplexações e leituras atribuídas ao Pic, o display ficou com o brilho muito fraco.
Sds
elzirobotelho
Bit
 
Mensagens: 31
Registrado em: 22 Fev 2008 23:00
Localização: Santos - SP

Re: Como fazer caracter deslizar display 7 seg?

Mensagempor andre_luis » 12 Fev 2013 21:10

você precisa criar um array de saída, para o qual os dados serão buscados.
preencher os dígitos á direita e a esquerda com valor nulo, de tal modo que não sejam apresentados no display quando endereçados.


+++
"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

Mensagempor ze » 13 Fev 2013 10:13

se teu chip tiver 2 ports sobrando e se uma interrupção duns 400Hz num incomodar o sistema, creio ser + mió de bão. Voce pode até mesmo usar o sinal de dígito pra ler um teclado de 8 teclas. Mas vejamos...
dei uma leitura superficial no ds. gostei do xip. dá um pra mim? pelo que entendi voce tem apenas que montar a palavra com endereço/dado para o bixo. desconsideremos os modos decode, intensity, scan limit, shutdown, display test.
p.ex.
Código: Selecionar todos
#define cs RB0
#define clk RB1
#define din RB3

void desloca8(unsigned char dado)
for (i=0;i<8;i++)
{
if (dado&0b10000000) din=1;else din=0;
clk=1;asm("nop");clk=0;
dado<<=1;
}

void putdig(unsigned char dado, unsigned char end)
{
unsigned char i;
cs=clk=0;
desloca8(end);
desloca8(dado);
cs=1;asm("nop");cs=0;
}


escrevendo H no 4º dígito
Código: Selecionar todos
putdig(0b0110111,3);


para deslocar
Código: Selecionar todos
for (i=0;i<8;i++)
{
putdig(0b0110111,i);
delay(xx);//sou contra delay mas...
}

obviamente deverá fazer uma tabela com o padrão de dígito desejado
Se este chip tiver no proteus, de repente faço uma simulação... ou não... (cara, to tendo um dejavu). Mas antes é bom saber se compensa investir em voce. mostre o que já fez.
Claro, são concepções pscóticas/délicas teóricas do sistema. Exatamente como está, não espero que não lhe seja totalmente inútil e que não funcione ... ou ao contrário.
sucessos
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor ze » 13 Fev 2013 12:39

... resolvi cavar um pouco +.
só pra constar. antes voce precisa inicializar o ci no caso enviando o comando No-Op (0) no ex. seria tipo putdig(0,0)
e também dígito0 seria end 1 (e não 0) e 7... 8 (e não 7)

e o mais importante. Esqueça este chip de U$13,7(!!??) na digikey. vtnc! Bom, pelo menos pra mim que sou pobre. Nem simular num vale a pena então (só se vc insistir muito mesmo). Compensa + os pinos do MC mesmo ou um shifit register qualquer ou se quiser algo elegante um PCF8575. Para driver uns pobres bc817

(tá ruim pra postar e pior pra editar...)

abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor tcpipchip » 14 Fev 2013 11:50

Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor ze » 14 Fev 2013 13:02

U$27,00.. é phoda ser pobre e ter amigo rico. me sinto humilhado
[fiz] com 4094... pobreza total
http://www.forumnow.com.br/vip/mensagen ... 60&nrpag=3

off...
spider... seu outro video... spider... uma placa matriz de leds que ainda tenho. neste fds tirei uma foto de uma aranha mui lôca na varanda de casa. filmei tb. tá no fb. vê lá.
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor elzirobotelho » 19 Fev 2013 21:54



Desculpe a demora para responder parece que havia um problema no site estava difícil se conectar
Mas vou verificar todas as dicas que me foram dadas
Quero agradecer pela disponibilidade de vocês em ajudar a solucionar as dúvidas

Acessei o link mas não é exibido o funcionamento deste projeto
Editado pela última vez por elzirobotelho em 19 Fev 2013 22:06, em um total de 1 vez.
elzirobotelho
Bit
 
Mensagens: 31
Registrado em: 22 Fev 2008 23:00
Localização: Santos - SP

Mensagempor elzirobotelho » 19 Fev 2013 21:58

lellis escreveu:se teu chip tiver 2 ports sobrando e se uma interrupção duns 400Hz num incomodar o sistema, creio ser + mió de bão. Voce pode até mesmo usar o sinal de dígito pra ler um teclado de 8 teclas. Mas vejamos...
dei uma leitura superficial no ds. gostei do xip. dá um pra mim? pelo que entendi voce tem apenas que montar a palavra com endereço/dado para o bixo. desconsideremos os modos decode, intensity, scan limit, shutdown, display test.
p.ex.
Código: Selecionar todos
#define cs RB0
#define clk RB1
#define din RB3

void desloca8(unsigned char dado)
for (i=0;i<8;i++)
{
if (dado&0b10000000) din=1;else din=0;
clk=1;asm("nop");clk=0;
dado<<=1;
}

void putdig(unsigned char dado, unsigned char end)
{
unsigned char i;
cs=clk=0;
desloca8(end);
desloca8(dado);
cs=1;asm("nop");cs=0;
}


escrevendo H no 4º dígito
Código: Selecionar todos
putdig(0b0110111,3);


para deslocar
Código: Selecionar todos
for (i=0;i<8;i++)
{
putdig(0b0110111,i);
delay(xx);//sou contra delay mas...
}

obviamente deverá fazer uma tabela com o padrão de dígito desejado
Se este chip tiver no proteus, de repente faço uma simulação... ou não... (cara, to tendo um dejavu). Mas antes é bom saber se compensa investir em voce. mostre o que já fez.
Claro, são concepções pscóticas/délicas teóricas do sistema. Exatamente como está, não espero que não lhe seja totalmente inútil e que não funcione ... ou ao contrário.
sucessos


Valeu Lelis pelas dicas, vou implementar estes códigos depois eu posto o resultado
Este forum é show
elzirobotelho
Bit
 
Mensagens: 31
Registrado em: 22 Fev 2008 23:00
Localização: Santos - SP


Voltar para PIC

Quem está online

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

x