You are on page 1of 3

Proyecto: Pasamensajes electrnico con matriz de LEDs Autor: Ing.

Glayder Viloria Gallardo

Diagramas de Flujo

Main

pantallazo

Inicializar

desactivar actualizar salidas driver; inicializar multiplexor de columas;

contaCol = 0

contaCol < COLUMNAS

pantallazo( )

contaSegm = 0

enviarByte(char)

contaSegm < SEGM

apagar columnas;
actualizar salidas driver;
k=0

enviarByte(dato[ ][ ])

seleccionar columna;

mostrar imagen durante 2 ms;

contaSegm++ contaCol++
pin = bit[ k ]; generar flanco;

k++

retornar

k< 8

retornar

Declaraciones de constantes, smbolos y variables. Codificacin en lenguaje C, compilador mikroC PRO para PIC
//************************ #define SEGM 6 // #define COLS 8 constants declarations *************************

//********************** symbols declarations ***************************** sbit DATA_PIN at RC0_bit; //bit serialpulso para reconocimiento de dato sbit CLOCK_PIN at RC5_bit; //pulso para reconocimiento de dato sbit LATCH_PIN at RC2_bit; sbit ENABLE_PIN at RE0_bit; char MUX_COL at PORTB; //********************** variables declarations *************************** //Segmento de la RAM Imagen char pantalla[SEGM][COLS] = {{0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00}, {0x42,0x7F,0x40,0x00,0x00,0x00,0x00,0x00}, {0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00}, {0x42,0x7F,0x40,0x00,0x00,0x00,0x00,0x00}, {0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00}, {0x42,0x7F,0x40,0x00,0x00,0x00,0x00,0x00}};

Funcin Principal. Codificacin en lenguaje C, compilador mikroC PRO para PIC


void main() { char i; inicializar(); ENABLE_PIN = 0; loop: pantallazo(); goto loop; }

Funcin Pantallazo. Descripcin: Se encarga de actualizar la pantalla de Leds segn los registros de la RAM donde se almacena la imagen. Es necesario que la rutina sincronice los datos almacenados en los drivers con el encendido de las columnas correspondientes. Las columnas se encienden con ceros y solamente debe estar una columna activa. Utiliza la funcin enviarByte para realizar la transferencia de datos. Parmetros de entrada: ninguno Parmetros de salida: ninguno

Codificacin en lenguaje C, compilador mikroC PRO para PIC


void pantallazo(void) { char contaCol, contaSegm, MUX; LATCH_PIN = 0; MUX = 0b11111110; //Barrido de columnas equivalente en cada segmento for(contaCol = 0;contaCol < COLS;contaCol++){ for(contaSegm = 1;contaSegm <= SEGM; contaSegm++){ enviarByte(pantalla[SEGM - contaSegm][contaCol]); } MUX_COL = 0xFF;//Apaga todas las columnas LATCH_PIN = 1; //latch en ALTO para actualizar la salida del driver LATCH_PIN = 0; MUX_COL = MUX; Delay_ms(2); MUX = MUX << 1;// Rotacion a la derecha MUX.B0 = 1; // Mantiene un unico cero en la salida } }

Funcin enviarByte. Descripcin: Se encarga de transmitir un byte a los drivers de almacenamiento y control de la matriz de LEDs a travs de un pin del microcontrolador de manera serial; para que el driver reconozca cada bit es necesario enviar un flanco ascendente. Parmetros de entrada: un dato de tamao 8 bits. Parmetros de salida: ninguno Codificacin en lenguaje C, compilador mikroC PRO para PIC
void enviarByte(char datoByte) { char i = 0; //indice para el ciclo do-while CLOCK_PIN = 0; do { //Salida del byte serialmente DATA_PIN = datoByte.b0; //pulso de subida para que el led driver reconozca el dato CLOCK_PIN = 1; CLOCK_PIN = 0; datoByte = datoByte >> 1; i++; }while(i < 8); //para enviar el byte completo }

You might also like