Que tal, estoy buscando como saltar la paginacion en el pic 16f877a, mi programa ya paso los 2k y quiero metener mas rutinas, estoy haciendo un programa para abrir una cerradura electrica, con clave que se ingresa a travez de un teclado y mostrado por un lcd 2 x16, aqui les cuelgo el programa:
//Proyecto de cerradura con clave
void main()
{
unsigned short clave[4]={1,5,9,2}, teclado[4]={0,0,0,0}, a, b;
trisb=0x0f; trisc=0; trisa.f4=0; trisd.f1=0; adcon1=0x06;
x5:
porta.f4=0;
portd.f1=0;
keypad_init(&portb);
lcd_config(&portc,1,0,2,7,6,5,4);
lcd_cmd(lcd_clear); lcd_cmd(lcd_cursor_off);
lcd_out(1,3,"Ingrese Clave"); lcd_chr(2,6,' ');
for(a=0;a<4;++a)
{
x1:
b=keypad_read();
if(b==0)
goto x1;
teclado[a]=b;
lcd_chr_cp('*');
x2:
b=keypad_read();
if(b!=0)
goto x2;
}
for(a=0;a<4;++a)
{
if(clave[a]!= teclado[a])
goto x3;
}
lcd_cmd(lcd_clear);
lcd_out(1,5,"clave");
lcd_out(2,4,"correcta");
delay_ms(1000);
lcd_cmd(lcd_clear);
lcd_out(1,6,"ACCESO");
lcd_out(2,4,"AUTORIZADO");
porta.f4=1;
delay_ms(2000);
porta.f4=0;
goto x5;
x3:
lcd_cmd(lcd_clear);
lcd_out(1,5,"clave");
lcd_out(2,3,"incorrecta");
delay_ms(2000);
portd.f1=1;
delay_ms(2000);
lcd_cmd(lcd_clear);
portd.f1=0;
goto x5;
}
cuando meto mas mensajes al lcd y lo simulo, la pantalla sale en blanco, por eso quiero ponerlo con sub-rutinas, pero guardarlas en otro pagina, agradeceria mucho si me podrian ayudar.... gracias
//Proyecto de cerradura con clave
void main()
{
unsigned short clave[4]={1,5,9,2}, teclado[4]={0,0,0,0}, a, b;
trisb=0x0f; trisc=0; trisa.f4=0; trisd.f1=0; adcon1=0x06;
x5:
porta.f4=0;
portd.f1=0;
keypad_init(&portb);
lcd_config(&portc,1,0,2,7,6,5,4);
lcd_cmd(lcd_clear); lcd_cmd(lcd_cursor_off);
lcd_out(1,3,"Ingrese Clave"); lcd_chr(2,6,' ');
for(a=0;a<4;++a)
{
x1:
b=keypad_read();
if(b==0)
goto x1;
teclado[a]=b;
lcd_chr_cp('*');
x2:
b=keypad_read();
if(b!=0)
goto x2;
}
for(a=0;a<4;++a)
{
if(clave[a]!= teclado[a])
goto x3;
}
lcd_cmd(lcd_clear);
lcd_out(1,5,"clave");
lcd_out(2,4,"correcta");
delay_ms(1000);
lcd_cmd(lcd_clear);
lcd_out(1,6,"ACCESO");
lcd_out(2,4,"AUTORIZADO");
porta.f4=1;
delay_ms(2000);
porta.f4=0;
goto x5;
x3:
lcd_cmd(lcd_clear);
lcd_out(1,5,"clave");
lcd_out(2,3,"incorrecta");
delay_ms(2000);
portd.f1=1;
delay_ms(2000);
lcd_cmd(lcd_clear);
portd.f1=0;
goto x5;
}
cuando meto mas mensajes al lcd y lo simulo, la pantalla sale en blanco, por eso quiero ponerlo con sub-rutinas, pero guardarlas en otro pagina, agradeceria mucho si me podrian ayudar.... gracias