Powered By Blogger

martes, 10 de enero de 2017

CONTROL ELECTRÓNICO DE MOTORES CON PULSADORES

void main()
{   unsigned short leer;

    trisb=0x3f;
    trisd=0x00;

    pwm_init(1000);
    pwm_change_duty(0);
    pwm2_change_duty(1);
    pwm_start();
    pwm2_start();
    portb.f7=0;
    portb.f6=0;
    portd.f0=0;
    portd.f1=0;
x7:
    leer=portb;
    leer=leer & 0x3f;
    if(leer==0x01) //activa bajo
    goto x1;
    if(leer==0x02) //activa medio
    goto x2;
    if(leer==0x04) //activa alto
    goto x3;
    if(leer==0x08) //activa stop
    goto x4;
    if(leer==0x10) //activa horario
    goto x5;
    if(leer==0x20) //activa antihorario
    goto x6;
    goto x7;
x1:
    pwm_change_duty(51);   pwm2_change_duty(51);   //bajo
    goto x7;
x2:
    pwm_change_duty(128);  pwm2_change_duty(128);  //medio
    goto x7;
x3:
    pwm_change_duty(255);  pwm2_change_duty(255);  //alto
    goto x7;
x4:
    pwm_change_duty(0);    pwm2_change_duty(0);    //apagado
    goto x7;
x5:
    portb.f7=0;
    portb.f6=1;   //horario
    portd.f0=0;
    portd.f1=1;
    goto x7;
x6:
    portb.f7=1;   //antihorario
    portb.f6=0;
    portd.f0=1;
    portd.f1=0;
    goto x7;

}

No hay comentarios.:

Publicar un comentario