Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - trakxe

#1
Hola amigo, no se si aun te sirve la informacion como cuentas en tu programa si quieres compara lo que tienes en el  puerto solo ponlo dentro del while(true).
Asi quedaria:

#include <16f877.h>
#fuses XT, NOWDT, NOPROTECT, PUT, Brownout
#use delay (clock = 4000000)
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)

int8  a1;
int8  b1;
int8  c1;
int8  d1;

// programa
void main (void)

    {

while(true)
{

a1= input_a();
b1= input_b();
c1= input_c();
d1= input_d();
set_tris_a(0x3f);
set_tris_b(0x3f);
set_tris_c(0x3f);
set_tris_d(0x3f);

 
    while(a1 != b1)
    {
   
while(a1 < b1)
    {
  output_high(PIN_D7);
  output_low(PIN_D6);
  output_high(PIN_C7);
  output_low(PIN_C6);
    }
   while(a1 > b1)
    {
  output_low(PIN_D7);
  output_high(PIN_D6);
  output_low(PIN_C7);
  output_high(PIN_C6);
    }
    }
 
    do
    {
  output_high(PIN_D6);
  output_low(PIN_D7);
  output_low(PIN_C6);
  output_high(PIN_C7);
  //delay_ms(1000);
 
 
    }
     while(0);
   
      while(c1!= d1)
    {
   
while(c1 < d1)
    {
  output_high(PIN_D7);
  output_low(PIN_D6);
  output_high(PIN_C7);
  output_low(PIN_C6);
    }
    while(c1 > d1)
    {
  output_low(PIN_D7);
  output_high(PIN_D6);
  output_low(PIN_C7);
  output_high(PIN_C6);
    }
    }
   
    do
    {
  output_high(PIN_D6);
  output_low(PIN_D7);
  output_low(PIN_C6);
  output_high(PIN_C7);
  //delay_ms(1000);
 
   
 
    }
     while(0);
  }
}

Prueba haber como te va... Saludos...