You are on page 1of 6

#include <16f887.

h>

#fuses xt,NOWDT

#use delay(clock= 4000000)

#include <lcd.c>

#use standard_io(C)

#use standard_io(A)

#define lcd_rs_pin pin_d1

#define lcd_rw_pin pin_d2

#define lcd_enable_pin pin_d0

#define lcd_data4 pin_d4

#define lcd_data5 pin_d5

#define lcd_data6 pin_d6

#define lcd_data7 pin_d7

enum funciones{menu,uno,dos,tres}; // asigna un valor a cada elemento

// menu=0 , uno = 1 dos = 2 tres=3

void inicio(void)

void primerasec(void)

sec1:

output_c(0x14);

delay_ms(2000);

output_c(0x15);
delay_ms(2000);

output_c(0x19);

delay_ms(2000);

output_c(0x09);

delay_ms(2000);

output_c(0x05);

delay_ms(2000);

output_c(0x06);

delay_ms(2000);

output_c(0x16);

delay_ms(2000);

output_c(0x00);

delay_ms(2000);

void secdos (void)

sec2:

output_c(0x00);

delay_ms(2000);

output_c(0x01);

delay_ms(2000);

output_c(0x05);

delay_ms(2000);

output_c(0x15);

delay_ms(2000);

output_c(0x05);

delay_ms(2000);

output_c(0x09);

delay_ms(2000);
output_c(0x0A);

delay_ms(2000);

output_c(0x00);

delay_ms(2000);

void sectres (void)

sec3:

output_c(0x00);

delay_ms(2000);

output_c(0x01);

delay_ms(2000);

output_c(0x02);

delay_ms(2000);

output_c(0x04);

delay_ms(2000);

output_c(0x14);

delay_ms(2000);

output_c(0x18);

delay_ms(2000);

output_c(0x08);

delay_ms(2000);

output_c(0x00);

delay_ms(2000);

void run_func(int numfunc){ // asignación de la funcion a realizar viene dada por la variable item

switch(numfunc){
case menu:

inicio();

break;

case uno:

primerasec();

break;

case dos:

secdos();

break;

case tres:

sectres();

break;

void main(){

char item; // variables de funciones

char n_menus = 4 ;

lcd_init();

while(1){ // detecta boton de seleccion

if (input(PIN_A0)==1){ //

item++; // aumenta la variable

delay_ms(300); // evitar rebotes

lcd_putc('\f');

if(item >(n_menus-1)){ // si la variable supera el numero de funciones


item=1; // inicializa la variable

switch(item){

case 0:

lcd_gotoxy(5,1);

printf(lcd_putc,"WELCOME\nPulse seleccionar");

break;

case 1:

lcd_gotoxy(2,1);

printf(lcd_putc,"1RA Secuencia\n\t\tA+B-C-B+A-C+");

break;

case 2:

lcd_gotoxy(2,1);

printf(lcd_putc,"2DA SECUENCIA\n\t\tA+B+C+C-B-A-");

break;

case 3:

lcd_gotoxy(2,1);

printf(lcd_putc,"3RA SECUENCIA\n\t\tA+A-B+C+B-C-");

break;

if (input(PIN_A1)==1){

delay_ms(200);

run_func(item);

}
}

You might also like