You are on page 1of 2

#include <16f877a.

h>
#fuses xt
#use delay(clock=4M)
#define lcd_rs_pin pin_b1
#define lcd_rw_pin pin_b2
#define lcd_enable_pin pin_b0
#define lcd_data4 pin_b4
#define lcd_data5 pin_b5
#define lcd_data6 pin_b6
#define lcd_data7 pin_b7
#include <lcd.c>
int i;
int j=7;
int p;
int x;
int y;
void main()
{

set_tris_b(0b00000000);
set_tris_c(0b00000111);
set_tris_d(0b00000000);
output_b(0b11000000);
output_c(0b00000000);
output_d(0b00000000);
lcd_init();
lcd_gotoxy(1,1);
printf(lcd_putc,"\fBIENVENIDA\n");
delay_ms(3000);
lcd_putc("\f");
while (true)
{

ad:

lcd_putc("\f");
lcd_gotoxy(1,1);
printf(lcd_putc,"MOTOR:Off\n");
printf(lcd_putc,"tiempo:0 s");
output_low(pin_d0);
inicio:
delay_ms(300);
j++;
if(j==10)
{
x=p*10;
y=x+i;
lcd_gotoxy(8,2);
printf(lcd_putc,"%u",y);

}
while(true)
{

output_low(pin_c4);
delay_ms(10);
if(input(pin_c0)==0){lcd_gotoxy(j,2); printf(lcd_putc,"1"); i=1; if(j==8)
{p=1;} goto inicio;}
if(input(pin_c1)==0){lcd_gotoxy(j,2); printf(lcd_putc,"2"); i=2; if(j==8)
{p=2;} goto inicio;}
if(input(pin_c2)==0){lcd_gotoxy(j,2); printf(lcd_putc,"3"); i=3; if(j==8)
{p=3;} goto inicio;}
output_high(pin_c4);

output_low(pin_c5);
delay_ms(10);
if(input(pin_c0)==0){lcd_gotoxy(j,2); printf(lcd_putc,"4"); i=4; if(j==8)
{p=4;} goto inicio;}
if(input(pin_c1)==0){lcd_gotoxy(j,2); printf(lcd_putc,"5"); i=5; if(j==8)
{p=5;} goto inicio;}
if(input(pin_c2)==0){lcd_gotoxy(j,2); printf(lcd_putc,"6"); i=6; if(j==8)
{p=6;} goto inicio;}
output_high(pin_c5);

output_low(pin_c6);
delay_ms(10);
if(input(pin_c0)==0){lcd_gotoxy(j,2); printf(lcd_putc,"7"); i=7; if(j==8)
{p=7;} goto inicio;}
if(input(pin_c1)==0){lcd_gotoxy(j,2); printf(lcd_putc,"8"); i=8; if(j==8)
{p=8;} goto inicio;}
if(input(pin_c2)==0){lcd_gotoxy(j,2); printf(lcd_putc,"9"); i=9; if(j==8)
{p=9;} goto inicio;}
output_high(pin_c6);

output_low(pin_c7);
delay_ms(10);
if(input(pin_c0)==0) //*perfec
{
lcd_gotoxy(1,1);
printf(lcd_putc,"\fMOTOR:ON\n");
printf(lcd_putc,"tiempo: s");
for(int A=y;A>=0;A--)
{
lcd_gotoxy(8,2);
printf(lcd_putc,"%02u",A);
output_high(pin_d0);
delay_ms(1000);
if(A==0)
{
lcd_putc("\f");
while(true)
{
goto ad;
}
}
}
}
if(input(pin_c1)==0){lcd_gotoxy(j,2); printf(lcd_putc,"0"); i=0; if(j==8)
{p=0;} goto inicio;}
if(input(pin_c0)==0){}
output_high(pin_c7);
}
}
}

You might also like