ON/OFF temperature control with pic16f887, pic c and Proteus
Control on off de temperatura usando un pic16f887, pic c y proteus, ON/OFF temperature control with pic16f887, pic c and Proteus
Objetivo:
Control de giro de un motor dc con pic16f887
Código in PIC C:
// control de motor de pasos unipolar con un boton de arranque y otro de giro
#include <16F887.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES LP //Low power osc < 200 khz
#FUSES NOPUT //No Power Up Timer
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOCPD //No EE protection
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOIESO //Internal External Switch Over mode disabled
#FUSES NOFCMEN //Fail-safe clock monitor disabled
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOWRT //Program memory not write protected
#FUSES BORV40 //Brownout reset at 4.0V
#use delay(clock=8000000)
void giraizquierda(){
output_low(PIN_C0);
output_high(PIN_C1);
}
void giraderecha(){
output_high(PIN_C0);
output_low(PIN_C1);
}
void main()
{
set_tris_a(0xFF); // configure porta como entrada
set_tris_c(0x00); // configure portc como salida
while(true){
if ((input(PIN_A0) == 0)) // esta prendido?
{
if ((input(PIN_A1) == 0)){ // si la ra1 esta en 1 gira en sentido, si esta 0 gira en otro
giraizquierda();
}
else{
giraderecha();
}
}
else // está apagado?
{
output_c(0x00);
}
} // end while
} // endvoid
