Programa //definiciones #define S1 PORTA.B0 #define S2 PORTA.B1 #define S3 PORTB.B0 #define S4 PORTB.B1 #define H1 LATB.
Views 171 Downloads 13 File size 540KB
Programa //definiciones #define S1 PORTA.B0 #define S2 PORTA.B1 #define S3 PORTB.B0 #define S4 PORTB.B1 #define H1 LATB.B2 #define H LATB.B3
//"H" Giro de apertura
#define AH LATB.B4
//"AH" Giro de cierre
#define S5 PORTB.B5
#define ON 1 #define OFF 0 //Programa void main() { //Bloque de configuración OSCCON=0b01100011; //Oscilador interno a 4Mz TRISA=0b00000001; //Pueto A0 y A1 como entrada TRISB=0b00100011; //Puerto B0 como salidas y entradas TRISC=0;
//puerto C como salidas
//bucle infinito while(1) { //inicialización H1=OFF;H=OFF;AH=OFF; while(!S5)
//motor inicia apagado en ambos sentidos
//Mientras no este presionado el pulsador de parada
{ if(S1) {
//si se activa la apertura
H1=ON;
//se enciende la lampara de desplazamiento
H=ON;
//el motor empieza a girar en el sentido horario
AH=OFF; if(S3)
//y por lo tanto en el sentido amtihorario se encuentra apagado //si se acciona el final de carrera(abierto)
{ H1=OFF;
//se apaga la lampara de desplazamiento
AH=OFF;
//se apaga el motor
}
} if(S2)
//si se activa la apertura
{ H1=ON;
//se enciende la lampara de desplazamiento
AH=ON;
//el motor empieza a girar en el sentido antihorario
H=OFF;
//y en el sentido antihorario permanece apagado
if(S4)
//si se acciona el final de carrera(cerrado)
{ H1=OFF;
//se apaga la lampara de desplazamiento
AH=OFF;
//el motor se apaga
} }
}
} }
Prueba del circuito
Estado inicial
Apertura
Final de carrera (abierto)
Cierre
Final de carrera(cerrado
Stop(incluso si están activado los pulsadores de apertura o cierre, se prioriza la parada del motor)