Amigos de Todopic, finalmente resolví con exito el problema del control de la bomba, agradezco enormemente sus comentarios, en especial a los siguientes usuarios: Gab163 que me dijo que todo estaba en orden con mis puertos y que usara sistema binario para manipular entradas y salidas, a Darkman que me oriento que leer para configurar correctamnte los puertos y aprender de los delay, a Bruno que me hizo reflexionar el pseudocodigo, a solapower que me hizo investigar acerca de los displays y a todos los demás que me orientarón, no inicie por lo básico me brinque muchos pasos, pero resolver este problema me hizo investigar ya prender a la fuerza... gracias nuevamente y hasta pronto, les dejo el codigo en C, si alguien a alguien le sirve que adjunte el archivo de la simulación o el *.c hagamelo saber. Hasta otro nuevo reto amigos.
#include <16F84A.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 TRISA = 0x85 // Configuramos el TRISA
#BYTE TRISB = 0x86 // Configuramos el TRISB
#BYTE PORTA = 0x05 // Configuramos el PORTA
#BYTE PORTB = 0x06 // Configuramos el PORTB
void main()
{
TRISA = 0xff;
TRISB = 0x00;
bit_set(PORTB,7);
while (true)
{
while (bit_test(PORTB,7)==1)
{
if (PORTA == 0b00000)
{
output_B(0b10111111);
}
if (PORTA==0b00001)
{
output_B(0b10000110);
}
if (PORTA == 0b00011)
{
output_B(0b11011011);
}
if (PORTA == 0b00111)
{
output_B(0b11001111);
}
if (PORTA == 0b01111)
{
output_B(0b01100110);
}
}
while (bit_test(PORTB,7)==0)
{
if (PORTA == 0B01111)
{
output_B(0b01100110);
}
if (PORTA == 0b00111)
{
output_B(0b01001111);;
}
if (PORTA == 0b00011)
{
output_B(0b01011011);;
}
if (PORTA == 0b00001)
{
output_B(0b00000110);
}
if (PORTA == 0X00000)
{
output_B(0b10111111);
}
}
}
}