Está en la página 1de 2

#include <18F2550.

h>
#fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL5, CPUDIV1, VREGEN
#use delay (clock = 20000000)
#include "usb_bootloader.h"
#use standard_io(A)
#use standard_io(B)
//int A=1;
int i;
int conteo=1;
void arriba(void)
{
CONT1:
for(i=1;i<8;i++){
output_b(conteo);
if(input(PIN_A1)==1)
return;
if(input(PIN_A3)==1)
return;
delay_ms(600);
conteo=conteo*2;
if(conteo==128)
conteo=1;
}
goto CONT1;
}
void abajo(void)
{
CONT2:
for(i=1;i<8;i++){
output_b(conteo);
if(input(PIN_A2)==1)
arriba();
if(input(PIN_A3)==1)
return;
delay_ms(600);
conteo=conteo/2;
if(conteo==0)
conteo=128;
}
goto CONT2;
}
void stop(void)
{
stop1:
if(input(PIN_A2)==1)
{
arriba();
}
if(input(PIN_A1)==1)
{
abajo();
}
else
{
goto stop1;
}
goto stop1;
}
void main()
{

empieza:
SET_TRIS_B (0X00);
SET_TRIS_A (0xFF);
if(input(PIN_A1)==1)
abajo();
if(input(PIN_A2)==1)
arriba();
if(input(PIN_A3)==1)
stop();
else
output_b(255);
goto empieza;
}

También podría gustarte