Contador de 0 a 9 en pic c compiler

#1
Hola gente de foros de electrónica soy nuevo en esta comunidad espero y puedan ayudarme con un problema que tengo verán me encargaron un proyecto el cual consiste en que en un display de 7 segmentos cátodo común sea un contador del 0 al 9, hice todo como me dijo el profesor, lo pude conectar y funciono pero el problema es que solo me marca hasta el 9 y no se regresa al 0 como debia de ser, me podrían ayudar porfavor soy un novato en esto de los pic´s y esas cosas :v



Declaracion en pic c compiler:

#INCLUDE <16F84A.H>
#FUSES XT,NOPROTECT,NOPUT
#USE DELAY(CLOCK=4000000)
#BYTE PORTA=5
#BYTE PORTB=6
#BYTE TRISA=0x05
#BYTE TRISB=0x06
VOID MAIN()
{
SET_TRIS_A(0b11111111);
SET_TRIS_B(0b00000000);

PORTB=0b00111111;
DELAY_ms(1000);
PORTB=0b00000110;
DELAY_ms(1000);
PORTB=0b01011011;
DELAY_ms(1000);
PORTB=0b01001111;
DELAY_ms(1000);
PORTB=0b01100110;
DELAY_ms(1000);
PORTB=0b01101101;
DELAY_ms(1000);
PORTB=0b01111101;
DELAY_ms(1000);
PORTB=0b00000111;
DELAY_ms(1000);
PORTB=0b01111111;
DELAY_ms(1000);
PORTB=0b01100111;
DELAY_ms(1000);
}

//WHILE(0);

//MAIN(VOID);
 
#3
buenas Victor
Solo tienes que agregar a tu codigo un bucle infinito, te lo marque en rojo

Código:
#INCLUDE <16F84A.H>
#FUSES XT,NOPROTECT,NOPUT
#USE DELAY(CLOCK=4000000)
#BYTE PORTA=5
#BYTE PORTB=6
#BYTE TRISA=0x05
#BYTE TRISB=0x06
VOID MAIN() 
{
SET_TRIS_A(0b11111111);
SET_TRIS_B(0b00000000);

[COLOR="Red"]while (true)
{[/COLOR]
PORTB=0b00111111;
DELAY_ms(1000);
PORTB=0b00000110;
DELAY_ms(1000);
PORTB=0b01011011;
DELAY_ms(1000);
PORTB=0b01001111;
DELAY_ms(1000);
PORTB=0b01100110;
DELAY_ms(1000);
PORTB=0b01101101;
DELAY_ms(1000);
PORTB=0b01111101;
DELAY_ms(1000);
PORTB=0b00000111;
DELAY_ms(1000);
PORTB=0b01111111;
DELAY_ms(1000);
PORTB=0b01100111;
DELAY_ms(1000);
     [COLOR="red"]}[/COLOR]
}

//WHILE(0);

//MAIN(VOID);
 
#8
No olvides para el futuro que el chip ejecuta las tareas linealmente, solo seguirá y seguirá y seguirá hasta que no pueda más o algo lo detenga, lo normal es escribir el programa siempre así

Código:
 void main()
{
  //Tu configuración aquí por ejemplo
  setup();

  //luego el bucle para las tareas que deberá repetir constantemente
  while(1)
  {
     //Tu programa principal aquí por ejemplo
     loop();
  }
}
 
Arriba