TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jesusrica10 en 09 de Agosto de 2018, 15:01:18

Título: ayuda, codigo encender dos matrices de led 8x8
Publicado 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
Código: [Seleccionar]
#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;
    }
Título: Re:ayuda, codigo encender dos matrices de led 8x8
Publicado por: planeta9999 en 09 de Agosto de 2018, 17:46:07
 
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.
Título: Re:ayuda, codigo encender dos matrices de led 8x8
Publicado por: jesusrica10 en 13 de Agosto de 2018, 13:44:06
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?
Título: Re:ayuda, codigo encender dos matrices de led 8x8
Publicado por: KILLERJC en 13 de Agosto de 2018, 18:25:54
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