Una animacion Con Compiler C

Buenas :D vengo a pedir ayuda con un programa QUE tengo
Resulta QUE paso de pic c A Proteus matrizes de 8 x 8
Tengo k hacer salir mi nombre o algo escrito ya
lo ise es facil..
Pero me piden una animacion al final...
Y no entiendo Como hacer paRA mandar 2 codigos a-la ves QUE Hagan un movimento
este es mi codigo

Necesito declarar una nueva variable y animarla Pero no se como QUien me ayuda :D (y)


Código:
#include <16f877a.h>
#fuses xt,nowdt,put,nobrownout,nolvp,nocpd,nowrt,nodebug,noprotect
#use delay(clock=4000000)
#use standard_io(b)
#use standard_io(c)
#use standard_io(d)


void Llamar_tabla(Int D){
Switch(D){

Case 0:
Output_D(0b00000000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
break;

Case 1:
Output_D(0b10000000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 2:
Output_D(0b01000000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 3:
Output_D(0b11000000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 4:
Output_D(0b00100000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 5:
Output_D(0b10100000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 6:
Output_D(0b01100000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 7:
Output_D(0b11100000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 8:
Output_D(0b00010000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 9:
Output_D(0b10010000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 10:
Output_D(0b01010000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 11:
Output_D(0b11010000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);

Break;
Case 12:
Output_D(0b00110000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 13:
Output_D(0b10110000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 14:
Output_D(0b01110000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 15:
Output_D(0b11110000);
output_high(PIN_C0);
output_low(PIN_C1);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 16:
Output_D(0b00000000);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 17:
Output_D(0b00000001);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 18:
Output_D(0b00000010);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 19:
Output_D(0b00000011);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 20:
Output_D(0b00000100);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 21:
Output_D(0b00000101);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 22:
Output_D(0b00000110);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 23:
Output_D(0b00000111);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 24:
Output_D(0b00001000);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 25:
Output_D(0b00001001);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 26:
Output_D(0b00001010);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 27:
Output_D(0b00001011);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 28:
Output_D(0b00001100);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 29:
Output_D(0b00001101);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 30:
Output_D(0b00001110);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;
Case 31:
Output_D(0b00001111);
output_high(PIN_C1);
output_low(PIN_C0);
delay_us(1000);
output_high(PIN_C0);
output_high(PIN_C1);
Break;

DEFAULT:
BREAK;
}
}

void ImprimaY(Int D){
output_B(0b11000111);
Llamar_tabla(D);
output_B(0b11110001);
Llamar_tabla(D+1);
output_B(0b11000111);
Llamar_tabla(D+2);
}

void ImprimaU(Int D){
output_B(0b11000011);
Llamar_tabla(D);
output_B(0b11111101);
Llamar_tabla(D+1);
output_B(0b11000011);
Llamar_tabla(D+2);
}

void ImprimaL(int D){
output_B(0b11000001);
Llamar_tabla(D);
output_B(0b11111101);
Llamar_tabla(D+1);
Output_B(0b11111101);
Llamar_tabla(D+2);
}


void ImprimaT(Int D){
output_B(0b11011111);
Llamar_tabla(D);
output_B(0b11011111);
Llamar_tabla(D+1);
output_B(0b11000001);
Llamar_tabla(D+2);
output_B(0b11011111);
Llamar_tabla(D+3);
output_B(0b11011111);
llamar_tabla(D+4);
}

void ImprimaE(Int D){
output_B(0b11000001);
Llamar_tabla(D);
output_B(0b11010101);
Llamar_tabla(D+1);
output_B(0b11010101);
Llamar_tabla(D+2);
output_B(0b11011101);
Llamar_tabla(D+3);
}


void ImprimaA(Int D){
output_B(0b11000001);
Llamar_tabla(D);
output_B(0b11010111);
Llamar_tabla(D+1);
output_B(0b11010111);
Llamar_tabla(D+2);
output_B(0b11000001);
Llamar_tabla(D+3);
}

void ImprimaM(Int D){
output_B(0b11000001);
Llamar_tabla(D);
output_B(0b11101111);
Llamar_tabla(D+1);
output_B(0b11110111);
Llamar_tabla(D+2);
output_B(0b11101111);
Llamar_tabla(D+3);
output_B(0b11000001);
Llamar_tabla(D+4);
}
void ImprimaO(Int D){
output_B(0b11100011);
Llamar_tabla(D);
output_B(0b11011101);
Llamar_tabla(D+1);
output_B(0b11011101);
Llamar_tabla(D+2);
output_B(0b11100011);
Llamar_tabla(D+3);
}

Void main(){
int Direccion=27;
int contador=0;
while(true){
while (contador<=10){
ImprimaY(Direccion+20);
ImprimaU(Direccion+24);
ImprimaL(Direccion+28);
ImprimaY(Direccion+32);
ImprimaT(Direccion+38);
ImprimaE(Direccion+44);
ImprimaA(Direccion+51);
ImprimaM(Direccion+56);
ImprimaO(Direccion+62);


contador=contador+1;
}
direccion=direccion-1;

IF (direccion==-80){
direccion=27;
}

contador=0;
}
}
 
Última edición por un moderador:
Atrás
Arriba