TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jukaceledon en 23 de Julio de 2014, 03:11:59

Título: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: jukaceledon en 23 de Julio de 2014, 03:11:59
Hola estimados por mis estudios debo hacer una matriz de led 8x40 con registros 74hc164 donde el texto debe desplazarse de izq a derecha, con una memoria donde debo guardar el texto e desplegar y la verdad que no se por donde empezar, agradecer de su buena voluntad para ayudarme y orientarme como lo puedp hacer

adjunto proteus de lo que se debe hacer

Juan Carlos
Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: jukaceledon en 24 de Julio de 2014, 19:25:38
Hola estimados por mis estudios debo hacer una matriz de led 8x40 con registros 74hc164 donde el texto debe desplazarse de izq a derecha, con una memoria donde debo guardar el texto e desplegar y la verdad que no se por donde empezar, agradecer de su buena voluntad para ayudarme y orientarme como lo puedp hacer

adjunto proteus de lo que se debe hacer

Juan Carlos

Adjunto lo que he hecho pero no me fimciona, me pueden ayudar


Como primera etapa se debe hacer solo las letras J. I y M, se deben desplazarse de derecha a izq. en forma indefinida

#include <16f628.h>
#fuses XT,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT
#USE DELAY(clock=4MHZ)
#define data PIN_A3
#define clock PIN_A2
#byte port_b=0X06

void escribir(int *letra,int time);//variable
void cargar_dato(int dato);//variable
void muestra_fila(int fila);//variable
void desplazar_(int *letra,int velocidad);//Variable
void desplazar_izq (int *m_actual,int *m_siguiente,int refresh); //variables globales
int *m_actual,*m_anterior,desplazamiento,matriz_mostra r[8];
int *p,*p2,col,fila;


int M[8]={ 0b11000011, //letras a utilizar
0b11100111,
0b11111111,
0b11011011,
0b11000011,
0b11000011,
0b11000011,
0b11000011};

int J[8]={ 0b11111111,
0b11111111,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b11111000,
0b11110000};

int I[8]={ 0b00111100,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00111100};



void main(){

SET_TRIS_B(0x00);
output_low(data);
output_low(clock);
port_b=0x00;


while (true){
p2=J;
desplazar_izq(p,p2,10);
p=p2;
p2=I;
desplazar_izq(p,p2,10);
p=p2;
p2=M;
desplazar_izq(p,p2,10);
}
}

void escribir(int *letra,int time){
while (time>0){
for (fila=0;fila<8;fila++){
cargar_dato(letra[fila]);
muestra_fila(fila);
}
time--;
}
}

void muestra_fila(int fila){
bit_set(port_b,fila);
delay_us(400);
bit_clear(port_b,fila);
}


void cargar_dato(int dato){
for(col=0;col<8;col++){
output_bit(data,(dato & 0x1));
dato=dato<<1;
output_low(clock);
output_high(clock);
}
}

void desplazar_izq (int *m_actual,int *m_siguiente,int refresh){
escribir(m_actual,20);
for (fila=0;fila<8;fila++){ //escribo en la matriz lo que necesito escribir
matriz_mostrar[fila]=m_actual[fila]; //asi solo modifico la matriz a desplazar.
}
desplazamiento=8;
while (desplazamiento!=0){

for (fila=0;fila<8;fila++){ //modifico la matriz a mostrar
matriz_mostrar[fila]=(matriz_mostrar[fila]<<1)+(bit_test(m_siguiente,desplazamiento)); //
}
escribir(p,refresh);
desplazamiento--;
}

}

Si consideran que esta muy malo, agradecere modificar

JuKa




Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: Diego E. en 24 de Julio de 2014, 22:51:45
Hola, revisa estos LINK
http://www.todopic.com.ar/foros/index.php?topic=28409.msg274794#msg274794 (http://www.todopic.com.ar/foros/index.php?topic=28409.msg274794#msg274794)
http://www.todopic.com.ar/foros/index.php?topic=28409.msg294785#msg294785 (http://www.todopic.com.ar/foros/index.php?topic=28409.msg294785#msg294785)

Saludos
Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: jukaceledon en 24 de Julio de 2014, 23:03:33
Hola, revisa estos LINK
http://www.todopic.com.ar/foros/index.php?topic=28409.msg274794#msg274794 (http://www.todopic.com.ar/foros/index.php?topic=28409.msg274794#msg274794)
http://www.todopic.com.ar/foros/index.php?topic=28409.msg294785#msg294785 (http://www.todopic.com.ar/foros/index.php?topic=28409.msg294785#msg294785)

Saludos

Ninguno de los dos link me funciona, me podria ayudar?????

Juka
Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: RALF2 en 25 de Julio de 2014, 00:03:34
Citar
Ninguno de los dos link me funciona, me podria ayudar?????

Amigo a mi me funcionan todos los links que te coloco  Diego E.
Los probe con el mozilla firefox  :mrgreen:
Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: AleSergi en 25 de Julio de 2014, 10:50:37
... los enlaces si funkan!
consulta, cuantos miliAmper son capaces de manejar los 74hc164?
podran controlar directamente los led en cuestión?
pasa que no sé interpretar la hoja de datos, no sé si lo está diciendo por pin o por el chip entero...
Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: MLO__ en 27 de Julio de 2014, 08:56:09
Hola.

Recuerdo haber conetado los LED directo al 74HC y no me dio buen resultado, por tal motivo utilice transistores para mejorar sustancialmente el brillo. Este VIDEO (https://www.youtube.com/watch?v=MoDkFD8oXJM) ya es algo viejo :P pero muestra el brillo obtenido.

Tambien puedes usar, en lugar de los transistores, un ULN2803A.

Saludos


Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: allennet en 27 de Julio de 2014, 13:13:19
revisando la hoja de datos
en alto 25ma
m74ls164
m74hc164

en alto 0.4ma
hd74ls164
hd74hc164
sn74ls164
sn74hc164

salida en bajo 25ma
m74ls164
m74hc164

salida en bajo 8ma
sn74ls164
sn74hc164
hd74ls164
hd74hc164

conclusion comprar el m74hc164b1 marca st
Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: Diego E. en 27 de Julio de 2014, 14:28:41
Hola, como lo dice Miguel, a los 74164 hay que ponerle amplificador de corriente, en mi caso yo puse ULN2803.

Saludos.
Título: Re: matriz de led 8x40 con registro 74hc164 en ccs
Publicado por: AleSergi en 27 de Julio de 2014, 23:16:40
Uhh....  baje otras hojas de datos, y estas son más claras, y si indican que algunos manejan 20mA, hay que ver que tiene el vendedor....   y si,  conozco el ULN2803, me gustaria poder conseguir por estas pampas tambien su complemento, aquel array que tiene por comun el +Vcc y no el GND, para dejar de sufir con los transistores, no recuerdo como se llamaba, pero al preguntar por el no tenian....