Banner publicitario de PCBWay

Desplazamiento de texto en matriz de led con mikroc

hola busco ayuda para desplazar texto en matriz de led.
tengo un codigo pero yo lo hice desplazar a la derecha.

El texto aparece en la pantalla en el inicio y se desplaza a la derecha se va escondiendo y yo quiero que cumpla con una condicion parecida a este video:



este es mi codigo:



#define delay 1000;
int x;
int letra_a[]= {31,40,72,40,31},
letra_b[]= {127,73,73,73,54},
letra_c[]= {62,65,65,65,34},
letra_d[]= {127,65,65,34,28},
letra_e[]= {127,73,73,73,65},
letra_f[]= {127,72,72,72,64},
letra_g[]= {62,65,73,73,46},
letra_h[]= {127,8,8,8,127},
letra_i[]= {0,65,127,65,0},
letra_j[]= {2,1,65,126,64},
letra_k[]= {127,8,20,34,65},
letra_l[]= {127,1,1,1,1},
letra_m[]= {127,32,16,32,127},
letra_n[]= {127,16,8,4,127},
letra_nn[]= {124,9,17,33,124},
letra_o[]= {62,65,65,65,62},
letra_p[]= {127,72,72,72,72},
letra_q[]= {62,65,65,66,61,},
letra_r[]= {127,72,76,74,49},
letra_s[]= {50,73,73,73,38},
letra_t[]= {64,64,127,64,64},
letra_u[]= {126,1,1,1,126},
letra_v[]= {127,2,1,2,124},
letra_w[]= {127,2,4,2,127},
letra_x[]= {99,20,8,20,99},
letra_y[]= {96,16,15,16,96},
letra_z[]= {67,69,73,81,97};

int i=-55 ;
int d=55 ;


void reloj (int veses) {
x=0;

while (x<veses) {

x++;
// portb=255;
porta.f0=0;
porta.f0=1;
}

}

void crear_linea(){
porta.f0=0;
porta.f1=1;
porta.f0=1;
porta.f1=0;

}

void escrivir (int letra []) {
if (letra [0]>0) { portb=~letra[0];
delay_ms(1);
reloj(1);
}

if (letra [1]>0) { portb=~letra[1];
delay_ms(1);
reloj(1);
}

if (letra [2]>0) { portb=~letra[2];
delay_ms(1);
reloj(1);
}

if (letra [3]>0) { portb=~letra[3];
delay_ms(1);
reloj(1);
}

if (letra [4]>0) { portb=~letra[4];
delay_ms(1);
reloj(1);
}

}

void escrivir_linia(int valor){
portb=~valor;
delay_ms(1);
reloj(1);
}

void reset(){


porta.f2=0;
//porta.f2=1;
}

void poner_columna(int columna){
reloj(columna);
}

void desplaza_derecha(){
// delay_ms(1);
reloj(1000);
i=i++;
d=d--;
if (i>54){
i=0;
}

if (d<2){
d=54;
}



}


void main () {
trisa=0;
trisb=0;
portb=0;
trisa.f1=0;
trisa.f0=0;
trisa.f2=0;
porta.f2=1;




while (1) {





desplaza_derecha ();
crear_linea();
poner_columna(i); //usar la (d) o la (i) , decrementa o incrementa
poner_columna(1);
escrivir(letra_e);
escrivir(letra_r);

}



}
 

Adjuntos

  • matriz deleds 2.rar
    41.5 KB · Visitas: 96
Atrás
Arriba