Autor Tema: control servo mediante timer 0  (Leído 1633 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado arnulfoibarra

  • PIC10
  • *
  • Mensajes: 4
control servo mediante timer 0
« en: 30 de Octubre de 2012, 01:09:40 »
buen dia
estoy realizando un programa para controlar servos y quiero utilizar la interrupcion por desbordamiento del timer 0, como unidad de tiempo
la quiero ajustar a 100 us y despues con un contador generar la señal de salida para el servo.

estoy utilizando proteus para simular y el compilador mikro c en un microcontrolador 16f887, pero al ajustar los parametros la señal de salida esta muy lejana a la que calcule
 y modifico el prescaler para varificar y en la salida no observo ningun cambio, agradecere sus recomendaciones.

no se que se me esta pasando, que no considere
este es el programa

 int salida;
   int CONTADOR=0;
   int CICLO_TRABAJO=0;
 
 
 
 
  void interrupt() {

                          TMR0 = 0x38;
                          //CONTADOR++;
                         //if (CONTADOR>= 0xc8){CONTADOR=0;}
                           if (PORTB.F0==0) {PORTB.F0=1;}
                           else
                           {PORTB.F0=0;}
                             INTCON.T0IE = 1;
                         INTCON.T0IF = 0;
                         INTCON.GIE = 1;

}



void main() {
  TMR0 = 0X58;
  ANSEL= 0X00;                                    // se configura las entradas del puerto A como digitales
  ANSELH = 0X00;
  TRISA=0XFF;                                   //PUERTO A COMO ENTRADA
  TRISB = 0X00;
   TRISD=0X0;
   PORTD=0X00;
  OPTION_REG=0X00;
  INTCON=0XA0;
  CM1CON0.C1ON=0;
  CM2CON0.C2ON=0;
while(1) {


    }

}