Desde 1994 en la Red. La pagina de los aficionados a la electronica, informatica y otras curiosidades de la vida. No dudes en visitarnos.
Ahora 3 visitas.| 3484476 Visitas (desde Dic. 2011), hoy: 327 Visitas 1000 Pag. Vistas , ultimos 36 dias: 11188 Visitas. 38212 Pag. Vistas. Tu IP: 3.149.27.33
Que ando curioseando:
AutosuficienciaCosas de casaElectronicaEn InternetInformáticaMundo MisticoSin categoríaSociedadTe lo recomiendo

Codigo para probar servos con pic 16f84a

Comprobado con servos modelo Hextronik de 5gr.

#INCLUDE <16F84A.h>

#FUSES XT,NOWDT
#USE delay (clock=4000000)
#USE fast_io(B)
#DEFINE INTS_PER_SECOND 250 // (4000000/(4*4*250))

int int_count,milisegundos,segundos;

#INT_RTCC
Interrupcion_RTCC() {
   set_timer0(0);
   if(--int_count==0) {
      milisegundos++;
      if(milisegundos==1000) {
         segundos++;
         milisegundos==0;
      }
      int_count=INTS_PER_SECOND;
   }
}

void main() {
   int_count=INTS_PER_SECOND;
   milisegundos = 0;
   segundos = 0;

   setup_counters(RTCC_INTERNAL,RTCC_DIV_4);
   enable_interrupts(INT_RTCC);
   enable_interrupts(GLOBAL);
   set_timer0(0);

   while(1) {
      if(segundos==2 || segundos==3) { // IR A 90°
         output_high(PIN_B1);
         delay_us(1500);
         output_low(PIN_B1);
         delay_us(18500);
      }
      if(segundos==4 || segundos==5) { // IR A 180°
         output_high(PIN_B1);
         delay_us(2100);
         output_low(PIN_B1);
         delay_us(17900);
      }
      if(segundos==6 || segundos==7) { // IR A 0°
         output_high(PIN_B1);
         delay_us(900);
         output_low(PIN_B1);
         delay_us(19100);
      }
      if(segundos==8) {
         segundos = 0;
      }
   }

Escribe un comentario

Tu comentario