Esto es lo que he hecho, a ver que os parece
Codigo:
/************************************************************************
* *
* SERVO *
* *
* Si RA0=1 --- > SERVO EN POSICION 0º *
* Si RA0=0 --- > SERVO EN POSICION 180º *
* *
* *
************************************************************************/
#include <16F876.h>
#fuses XT, NOPROTECT, NOPUT, NOWDT, NOBROWNOUT, NOLVP, NOCPD, WRT
#use delay (clock=4000000)
#use fast_io(A)
#use fast_io(B)
main()
{
short I1;
set_tris_a(0x1F);
set_tris_b(0x00);
while (1)
{
I1=input(PIN_A0);
if(I1==1) // Posición 0º
{
output_bit(pin_b0,1);
delay_us(200);
output_bit(pin_b0,0);
delay_us(19800);
}
else // Posición 180º
{
output_bit(pin_b0,1);
delay_us(2200);
output_bit(pin_b0,0);
delay_us(17800);
}
}
}