tengo el codigo no lo habia probado porque no tenia echo el circuito
esta presentando un problema que simulado en proteus funciona bien al grabarlo al pic 16f873a solo ejecuta hacia un lado y no sedebuelbe al pulsar el fin de carrera
el puerto a como entrada y el puerto b de salida tambien loprobe y sigue igual el puente h esta en buenas condiciones probado manual mente y responde vien las direcciones de los motores
#include <16F873a.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#use delay(clock=4000000)
byte s, r,c;
void motor_1(s)
{
output_bit(pin_b0, s);
output_bit(pin_b1, !s);
}
void motor_2(r)
{
output_bit(pin_b2, r);
output_bit(pin_b3, !r);
}
void motor_3(c)
{
output_bit(pin_b4, c);
output_bit(pin_b5, !c);
}
void main()
{
while (true)
{
if (input(pin_a0)==1)
{
s = 1;
}
if (input(pin_a1)==1)
{
s = 0;
}
if (input(pin_a2)==1)
{
r = 1;
}
if (input(pin_a3)==1)
{
r = 0;
}
if (input(pin_a4)==1)
{
c = 1;
}
if (input(pin_a5)==1)
{
c = 0;
}
motor_1(s);
motor_2(r);
motor_3(c);
}
}