Problema urgente com PIC

Bom dia. eu estou fazendo um projeto de tcc e o meu objetivo é utilizar um pic16f628a para enviar sinal a alguns servo motores de aeromodelismo que irão movimentar um braço robotico. eu fiz o programa no PIC C da CCS e testei usando o Proteus ele compilou sem erros e tambem funcionou no Proteus mas qdo monto a placa nada funciona não tem saida em nenhum dos pinos testei inclusive com o osciloscopio, quanto ao circuito está ok o programa é o seguinte
#include <16f628a.h>
#include <stdio.h>
#fuses XT,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,MCLR,LVP
#use delay(clock=4000000)
void main()
{
short int entrada;
long int tmp = 0;
long int repeticao = 0;
entrada = input (pin_a0);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_comparator(NC_NC_NC_NC);
long int delay1 = 2000;
long int delay2 = 1400;
long int delay3 = 1600;
long int delay4 = 1800;
long int delay5 = 1900;
long int delay6 = 2200;
long int tempo = 0;
do{
if(repeticao >200 && repeticao < 400)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >=400 && repeticao < 600)
{
delay1 = 1000;
delay2 = 1619;
delay3 = 980;
delay4 = 971;
delay5 = 972;
delay6 = 973;
}
if(repeticao >=600 && repeticao < 800)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >=800 && repeticao < 1000)
{
delay1 = 950;
delay2 = 950;
delay3 = 950;
delay4 = 950;
delay5 = 950;
delay6 = 950;
}
if(repeticao >=1000 && repeticao < 1200)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >=1200 && repeticao < 1400)
{
delay1 = 950;
delay2 = 950;
delay3 = 950;
delay4 = 950;
delay5 = 950;
delay6 = 950;
}
if(repeticao >=1400 && repeticao < 1600)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >=1600 && repeticao < 1800)
{
delay1 = 950;
delay2 = 950;
delay3 = 950;
delay4 = 950;
delay5 = 950;
delay6 = 950;
}
if(repeticao >=1800 && repeticao < 2000)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >2000)
{
delay1 = 950;
delay2 = 950;
delay3 = 950;
delay4 = 950;
delay5 = 950;
delay6 = 950;
repeticao=0;
}
OUTPUT_HIGH(pin_b0);
delay_us(delay1);
OUTPUT_LOW(pin_b0);
OUTPUT_HIGH(pin_b1);
delay_us(delay2);
OUTPUT_LOW(pin_b1);
OUTPUT_HIGH(pin_b2);
delay_us(delay3);
OUTPUT_LOW(pin_b2);
OUTPUT_HIGH(pin_b3);
delay_us(delay4);
OUTPUT_LOW(pin_b3);
OUTPUT_HIGH(pin_b4);
delay_us(delay5);
OUTPUT_LOW(pin_b4);
OUTPUT_HIGH(pin_b5);
delay_us(delay6);
OUTPUT_LOW(pin_b5);
tmp=delay1+delay2+delay3+delay4+delay5+delay6;
tempo=20000-tmp;
delay_us(tempo);
repeticao++;
output_high(pin_b6);
entrada = input (pin_a0);
}while(1);
}
No Proteus está assim
Pino RB0 a RB5 servos
RA5 Positivo(Mclr)
RA6 e RA7 está ligado um cristal junto com 2 capacitores de 18pf e um indo para o positivo(5v) e o outro pro GND.
espero que possam me ajudar no meu trabalho
#include <16f628a.h>
#include <stdio.h>
#fuses XT,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,MCLR,LVP
#use delay(clock=4000000)
void main()
{
short int entrada;
long int tmp = 0;
long int repeticao = 0;
entrada = input (pin_a0);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_comparator(NC_NC_NC_NC);
long int delay1 = 2000;
long int delay2 = 1400;
long int delay3 = 1600;
long int delay4 = 1800;
long int delay5 = 1900;
long int delay6 = 2200;
long int tempo = 0;
do{
if(repeticao >200 && repeticao < 400)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >=400 && repeticao < 600)
{
delay1 = 1000;
delay2 = 1619;
delay3 = 980;
delay4 = 971;
delay5 = 972;
delay6 = 973;
}
if(repeticao >=600 && repeticao < 800)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >=800 && repeticao < 1000)
{
delay1 = 950;
delay2 = 950;
delay3 = 950;
delay4 = 950;
delay5 = 950;
delay6 = 950;
}
if(repeticao >=1000 && repeticao < 1200)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >=1200 && repeticao < 1400)
{
delay1 = 950;
delay2 = 950;
delay3 = 950;
delay4 = 950;
delay5 = 950;
delay6 = 950;
}
if(repeticao >=1400 && repeticao < 1600)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >=1600 && repeticao < 1800)
{
delay1 = 950;
delay2 = 950;
delay3 = 950;
delay4 = 950;
delay5 = 950;
delay6 = 950;
}
if(repeticao >=1800 && repeticao < 2000)
{
delay1 = 2000;
delay2 = 2000;
delay3 = 2000;
delay4 = 2000;
delay5 = 2000;
delay6 = 2000;
}
if(repeticao >2000)
{
delay1 = 950;
delay2 = 950;
delay3 = 950;
delay4 = 950;
delay5 = 950;
delay6 = 950;
repeticao=0;
}
OUTPUT_HIGH(pin_b0);
delay_us(delay1);
OUTPUT_LOW(pin_b0);
OUTPUT_HIGH(pin_b1);
delay_us(delay2);
OUTPUT_LOW(pin_b1);
OUTPUT_HIGH(pin_b2);
delay_us(delay3);
OUTPUT_LOW(pin_b2);
OUTPUT_HIGH(pin_b3);
delay_us(delay4);
OUTPUT_LOW(pin_b3);
OUTPUT_HIGH(pin_b4);
delay_us(delay5);
OUTPUT_LOW(pin_b4);
OUTPUT_HIGH(pin_b5);
delay_us(delay6);
OUTPUT_LOW(pin_b5);
tmp=delay1+delay2+delay3+delay4+delay5+delay6;
tempo=20000-tmp;
delay_us(tempo);
repeticao++;
output_high(pin_b6);
entrada = input (pin_a0);
}while(1);
}
No Proteus está assim
Pino RB0 a RB5 servos
RA5 Positivo(Mclr)
RA6 e RA7 está ligado um cristal junto com 2 capacitores de 18pf e um indo para o positivo(5v) e o outro pro GND.
espero que possam me ajudar no meu trabalho