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; } }
Tuitear 2.042 Veces leído 0 comentarios |
25 julio 2010 en Electronica | tags: Electronica |