TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jesusrica10 en 09 de Agosto de 2018, 15:01:18
-
hola amigos del foro, estoy iniciando en esto de los pics, y necesito hacer un programa que mande cualquier mensaje (hasta ahorita llevo dos letras nada mas jaja) a dos matrices de led de 8x8 haciendo scroll, he estado investigando y se puede usar el integrdo LS164, pero no tengo la mas minima idea de como prender la segunda matriz.
adjunto el codigo que llevo, agradeceria su ayuda el pic que estoy usando es el 18f46k22
#include <xc.h>
#pragma config FOSC = INTIO7
#define _XTAL_FREQ 4000000
int lA[8] =
{
0b00000000,
0b00000000,
0b01111111,
0b01001000,
0b01001000,
0b01001000,
0b01111111,
0b00000000};
int lE[8] =
{
0b00000000,
0b00000000,
0b10000001,
0b10010001,
0b10010001,
0b11111111,
0b00000000,
0b00000000};
void letraA(void);
void letraE(void);
unsigned int i;
int j=1;
int movimiento[8] = {
0b11111111,
0b11111101,
0b11111011,
0b11110111,
0b11101111,
0b11011111,
0b10111111,
0b01111111};
void main(void) {
ANSELD = 0;
TRISD = 0;
ANSELB = 0;
TRISB= 0;
while(1)
{
letraA();
__delay_ms(500);
letraE();
__delay_ms(500);
}
}
void letraA(void){
while (j<=50){
for(i=0;i<8;i++){
LATD=(lA[i]);
LATB= (movimiento [i]);
__delay_ms(1);
}
j++;
}
j=0;
}
void letraE(void){
while (j<=50){
for(i=0;i<8;i++){
LATD=(lE[i]);
LATB= (movimiento [i]);
__delay_ms(1);
}
j++;
}
j=0;
}
-
Mejor usa el 74HC595, con el 164 los Led te parpadearán porque no tiene buffer. En el foro tienes ejemplos de uso de ese registro de desplazamiento.
Controlas las columnas con el registro de desplazamiento, y las filas con un ULN2803 o con transistores. Eso usando matrices de Led de cátodo común.
-
HOLA, YA TENGO LOS ULN2803, PERO AL QUERER CONECTARLOS, NO ME MANDA VOLTAJE DE SALIDA... SI FUERA CON TRANSISTORES COMO SE CONECTARIA, ME SIRVE EL 2N2222A?
-
El ULN no envia voltaje, Tu carga esta conectada a VCC y al ULN, lo que hace el ULN es poner ese otro terminal a GND, es open-colector