Autor Tema: duda matriz 8x8  (Leído 2214 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado korpaztk

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 202
duda matriz 8x8
« en: 06 de Septiembre de 2010, 11:58:24 »
[move][/move]bueno otra vez, me dispongo a contarles un problema jejeje...
mi duda es la siguiente...
estuve viendo ya hace muchooo como hacer una matriz de led de 8x8 el ejemplo lo saque no me acuerdo de quien era,lo modifique, la armee, despues de estudiarlo un poco pude hacer que se muestren algunos caracteres se ven bien no parpadea ni nada... pero ahora no se como hacer para que dichos caracteres se desplazen como una marquesina... ya he visto varios ejemplos antes pero no entiendo como hacen el desplazamiento...
si alguien me puede ayudar le agradezcooo, acepto sugerencias tambien....
lo hago con un pic16f84a un 74hc164 y unl2803...

aqui adjunto el codigo y la simulacion...


Código: [Seleccionar]
//***********************C A B E Z E R A************************
#include<16F84A.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)
#define datos  PIN_A0
#define reloj  PIN_A1
#byte portb = 6
#byte porta = 5
//**************************************************************

//***********************D E C L A R O  V A R I A B L E S*******

int letra,cuenta;
int K[8]={0x00,0x00,0x00,0x81,0x42,0x24,0x18,0xff};//"K"
int O[8]={0x3c,0x42,0x81,0x81,0x81,0x81,0x42,0x3c};//"O"
int R[8]={0x71,0x8a,0x8c,0x88,0x88,0x88,0x88,0xff};//"R"
int P[8]={0x70,0x88,0x88,0x88,0x88,0x88,0x88,0xff};//"P"
int A[8]={0x3f,0x48,0x88,0x88,0x88,0x88,0x48,0x3f};//"A"
int Z[8]={0x81,0xc1,0xb9,0x99,0x99,0x9d,0x83,0x81};//"Z"
//**************************************************************

//***********************S U B R U T I N A S********************

//**********CONFIGURO SALIDAS-ENTRADAS**************************
void configurar_puertos(void){
set_tris_b(0x00);
set_tris_a(0x10);

}
//**************************************************************

//**********P O N G O  0  A L  74HC164**************************
void pongo_0(void){
output_low(datos);
delay_us(2);
output_low(reloj);
delay_us(2);
output_high(reloj);
}
//**************************************************************

//*********P O N G O  1  A L  74HC164***************************


void pongo_1(void){
output_high(datos);
delay_us(2);
output_low(reloj);
delay_us(2);
output_high(reloj);

}
//**************************************************************

//*********C U E R P O   P R I N C I P A L**********************

void main(void){

configurar_puertos();
output_bit(reloj,0);
output_bit(datos,0);

while(TRUE){


for(cuenta=0;cuenta<=100;cuenta++)
{
for(letra=0;letra<=7;letra++)
{
portb=(K[letra]);
delay_ms(2);
pongo_0();
}
pongo_1();
}


for(cuenta=0;cuenta<=100;cuenta++)
{
for(letra=0;letra<=7;letra++)
{
portb=(O[letra]);
delay_ms(2);
pongo_0();
}
pongo_1();
}


for(cuenta=0;cuenta<=100;cuenta++)
{
for(letra=0;letra<=7;letra++)
{
portb=(R[letra]);
delay_ms(2);
pongo_0();
}
pongo_1();
}


for(cuenta=0;cuenta<=100;cuenta++)
{
for(letra=0;letra<=7;letra++)
{
portb=(P[letra]);
delay_ms(2);
pongo_0();
}
pongo_1();
}



for(cuenta=0;cuenta<=100;cuenta++)
{
for(letra=0;letra<=7;letra++)
{
portb=(A[letra]);
delay_ms(2);
pongo_0();
}
pongo_1();
}


for(cuenta=0;cuenta<=100;cuenta++)
{
for(letra=0;letra<=7;letra++)
{
portb=(Z[letra]);
delay_ms(2);
pongo_0();
}
pongo_1();
}


for(cuenta=0;cuenta<=100;cuenta++)
{
for(letra=0;letra<=7;letra++)
{
portb=(0);
delay_ms(2);
pongo_0();
}
pongo_1();
}
}


}





Korpaz
Korpaz.
Técnico Electronico.

El Papel Es Mi Mejor Psicologo

Desconectado MarkKnopfler81

  • PIC12
  • **
  • Mensajes: 64
    • PICs, Electrónica y Robótica
Re: duda matriz 8x8
« Respuesta #1 en: 07 de Septiembre de 2010, 09:08:24 »
Puede que este link http://picrobot.blogspot.com/2010/08/array8x8.html te ayude un poco.

saludos.

Desconectado korpaztk

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 202
Re: duda matriz 8x8
« Respuesta #2 en: 10 de Septiembre de 2010, 10:17:08 »
clarooo ahi muestra como hacerlo con dos registro de desplazamiento... esta buena la idea...
el problema q es un proyecto que debo seguir tal cual me piden, porque los materiales me los dan ellos ...(en la escuela)...
lo que no probe todavia que me contaron es estudiar un poquito una libreria de matriz que anda dando vueltas por ahi, creo que la tiene el ccs... si la encuentro la investigo un poco y luego comento...
Korpaz.
Técnico Electronico.

El Papel Es Mi Mejor Psicologo

Desconectado MarkKnopfler81

  • PIC12
  • **
  • Mensajes: 64
    • PICs, Electrónica y Robótica
Re: duda matriz 8x8
« Respuesta #3 en: 10 de Septiembre de 2010, 16:00:31 »
Lo puedes hacer igual, quitando el registro de desplazamiento que controla la columna a encender y comandar cada columna con un pin del puerto B, despues es lo mismo, la unica diferencia entre el 74HC595 y el 74HC164 es que el 595 tiene salidas triestado.
(tendrías que adaptar la "memoria" a la maxima del pic16f84a y listo)

saludos.