Programa que controla un motor a pasos, con un botón pulsador conectado a RA0 avanza y con otro botón conectado a RA1 se detiene
#include<16f887.h>
#fuses hs,nowdt,noprotect,nolvp
#use delay(clock=20000000)
#byte porta=5
#byte portb=6
int m1=0x01;
int paso=0;
void main()
{
set_tris_b(0x00);
set_tris_a(0x03);
while(1)
{
if (input(pin_A0)) //avanza el motor
paso=1;
if (input(pin_A1)) //detiene el motor
paso=0;
// Avanza el motor a pasos en sentido de las manecillas de reloj CW
if (paso==1)
{
portb = m1;
delay_ms(130);
m1=m1>>3 | m1<<1;
m1=m1 & 0x0F;
}
}
}
En proteus no se detiene ni avanza,con los botones porque?
ResponderEliminar