Necesito mover un mensaje en este programa y no se como

ESTE PROGRAMA ES UN CONTADOR DE 0 A 9999, SI PULSAS RC0, SE PARA EL PROGRAMA, RC1 SE RESETEA Y RC2 MUESTRA UN MENSAJE(-JEO) NECESITO QUE ESE MENSAJE SE MUEVA DE DERECHA A IZQUIERDA Y LA VERDAD NO SE COMO, OJALA ME PUEDAN AYUDAR, ESTOY UTILIZANDO 4 DISPLAYS DE CATODO COMUN.


#include <16F876.h>
#USE DELAY (CLOCK = 4000000) //velocidad oscilador
#FUSES XT,NOWDT,NOPROTECT,NOPUT //fusibles
#USE fast_IO (B) //
#USE fast_IO (A)
#USE fast_IO (C)
#byte portc=0x07
byte CONST DISPLAY[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
byte CONST NTABLA[4]= {0x3F,0x79,0x0E,0x40};
main() {
byte ud=0,dec=0,cen=0,mil=0;
SET_TRIS_B (0X00);
SET_TRIS_A (0X00);
SET_TRIS_C (0XFF);
OUTPUT_B (0);
for(;;) {
for(mil=0;mil<10;mil++){
for (cen=0;cen<10;cen++){
for (dec=0;dec<10;dec++) {
for (ud=0;ud<10;ud++) {
OUTPUT_A(0x0E);
OUTPUT_B(DISPLAY[UD]);
delay_ms(50);

OUTPUT_A(0x0D);
OUTPUT_B(DISPLAY[DEC]);
delay_ms(50);

OUTPUT_A(0x0B);
OUTPUT_B(DISPLAY[CEN]);
delay_ms(50);

OUTPUT_A(0x07);
OUTPUT_B(DISPLAY[MIL]);
delay_ms(50);


while(bit_test(portc,0)==1){
OUTPUT_A(0x0E);
OUTPUT_B(DISPLAY[UD]);
delay_ms(50);

OUTPUT_A(0x0D);
OUTPUT_B(DISPLAY[DEC]);
delay_ms(50);

OUTPUT_A(0x0B);
OUTPUT_B(DISPLAY[CEN]);
delay_ms(50);

OUTPUT_A(0x07);
OUTPUT_B(DISPLAY[MIL]);
delay_ms(50);


}
if(bit_test(portc,1)==1) {
ud=0,dec=0,cen=0,mil=0;


while(bit_test(portc,2)==1){
OUTPUT_A(0x0E);
OUTPUT_B(NTABLA[0]);
delay_ms(50);

OUTPUT_A(0x0D);
OUTPUT_B(NTABLA[1]);
delay_ms(50);

OUTPUT_A(0x0B);
OUTPUT_B(NTABLA[2]);
delay_ms(50);

OUTPUT_A(0x07);
OUTPUT_B(NTABLA[3]);
delay_ms(50);



}
}
}
}
}
}
}
}
 
Atrás
Arriba