CHAPA ELECTRONICA CON PIC Y MEMORIA EEPROM
BUENAS HOY LES COMPARTO UN PROGRAMA PARA UNA CHAPA ELECTRONICA LA CONTRASEÑA SE GUARDA EN LA MEMORIA EEPROM, LO QUE SIGNIFICA Q ESA CONTRASEÑA SERA PERMANENTE.
TIENE 2 OPCIONES DE ABRIR LA CHAPA INGRESANDO LA CONTRASEÑA O MODIFICAR LA CONTRASEÑA QUE TIENE POR DEFECTO QUE TAMBIEN SE ALMACENARA EN EEPROM
ESTA NUEVA CONTRASEÑA SE VA MANTENER GUARDADO DE FORMA PERMANENTE POR EL USO DE LA EEPROM
PARA EL CODIGO CREE 2 LIBRERIAS PARA EL CONTROL DEL LCD Y DEL TECLADO QUE TAMBIEN ESTAN EN LA DESCARGA
APORTES
LINK DE DESCARGA:
DESCAR CODIGO Y SIMULACION
GRUPOS: PAGINA FACEBOOK GRUPO FACEBOOK
WHATSAPP1
WHATSAPP2 WHATSAPP3
TIENE 2 OPCIONES DE ABRIR LA CHAPA INGRESANDO LA CONTRASEÑA O MODIFICAR LA CONTRASEÑA QUE TIENE POR DEFECTO QUE TAMBIEN SE ALMACENARA EN EEPROM
ESTA NUEVA CONTRASEÑA SE VA MANTENER GUARDADO DE FORMA PERMANENTE POR EL USO DE LA EEPROM
PARA EL CODIGO CREE 2 LIBRERIAS PARA EL CONTROL DEL LCD Y DEL TECLADO QUE TAMBIEN ESTAN EN LA DESCARGA
APORTES
#include "lcd.c"
#include "keypad.c"
char tecla;
char estado=0,sw=0,aux;
int digito=1,k;
void main()
{
lcd_init(&portd);
keypad_init(&portb);
trise.re0=0;
trise.re1=0;
if(EEPROM_read(0)==255)
eeprom_write(0,'1');
if(EEPROM_read(1)==255)
eeprom_write(1,'5');
if(EEPROM_read(2)==255)
eeprom_write(2,'9');
if(EEPROM_read(3)==255)
eeprom_write(3,'D');
while (1)
{
while (sw==0)
{
lcd_out(1,1,"SISTEMA DE ACCESO");
lcd_out(2,1,"1)ABRIR PUERTA");
lcd_out(3,1,"2)CAMBIAR CONTRASE");
lcd_chr_cp(0b11101110);
lcd_chr_cp('A');
tecla=0;
while(tecla==0)
tecla=keypad_key_click();
if (tecla=='1' || tecla=='2')
{
delay_ms(500);
lcd_cmd(_lcd_clear);
lcd_out(1,1,"INTRODUZCA");
lcd_out(2,1,"CONTRASE");
lcd_chr_cp(0b11101110);
lcd_chr_cp('A');
lcd_out(3,1,"# BORRAR");
lcd_cmd(_LCD_FOURTH_ROW);
lcd_cmd(_LCD_UNDERLINE_ON);
if (tecla=='1')
aux=tecla;
else if (tecla=='2')
aux=tecla;
sw=1;
delay_ms(1000);
}
}
while (sw==1)
{
tecla=0;
while(tecla==0)
tecla=keypad_key_click();
if (estado==0 && tecla==eeprom_read(0))
{
estado=1;
lcd_chr(4,1,tecla);
delay_ms(1000);
lcd_out(4,1,"*");
digito++;
}
else if (estado==1 && tecla==eeprom_read(1))
{
estado=2;
lcd_chr(4,2,tecla);
delay_ms(1000);
lcd_out(4,2,"*");
digito++;
}
else if (estado==2 && tecla==eeprom_read(2))
{
estado=3;
lcd_chr(4,3,tecla);
delay_ms(1000);
lcd_out(4,3,"*");
digito++;
}
else if (estado==3 && tecla==eeprom_read(3))
{
estado=4;
lcd_chr(4,4,tecla);
delay_ms(1000);
lcd_out(4,4,"*");
digito++;
}
else
{
lcd_chr(4,digito,tecla);
delay_ms(1000);
lcd_out(4,digito,"*");
digito++;
}
if (digito > 5)
{
delay_ms(1000);
lcd_cmd(_lcd_clear);
lcd_out(1,1,"CONTRASE");
lcd_chr_cp(0b11101110);
lcd_chr_cp('A');
lcd_out(2,6,"INCORRECTA");
digito=1;
delay_ms(2000);
lcd_cmd(_lcd_clear);
lcd_cmd(_lcd_cursor_off);
sw=0;
}
if (tecla=='#')
{
lcd_out(4,1," ");
digito=1;
estado=0;
lcd_cmd(_LCD_FOURTH_ROW);
}
if (estado==4)
{
delay_ms(1000);
lcd_cmd(_lcd_clear);
lcd_out(1,1,"CONTRASE");
lcd_chr_cp(0b11101110);
lcd_chr_cp('A');
lcd_out(2,6,"CORRECTA");
if (aux=='1')
{
sw=2;
lcd_out(3,1,"*) ABRIR PUERTA");
}
else if(aux=='2')
{
delay_ms(2000);
lcd_cmd(_lcd_clear);
lcd_out(1,1,"INSERTE NUEVA");
lcd_out(2,6,"CONTRASE");
lcd_chr_cp(0b11101110);
lcd_chr_cp('A');
lcd_cmd(_lcd_fourth_row);
estado=0;
digito=1;
sw=3;
}
}
delay_ms(100);
}
while (sw==2)
{
tecla=0;
while(tecla==0)
tecla=keypad_key_click();
if (tecla=='*')
{
lcd_out(4,1,"ABRIENDO PUERTA");
late.re0=1;
delay_ms(5000);
late.re0=0;
lcd_out(4,1,"CERRANDO PUERTA");
late.re1=1;
delay_ms(5000);
late.re1=0;
delay_ms(2000);
lcd_cmd(_lcd_clear);
lcd_cmd(_lcd_cursor_off);
sw=0;
estado=0;
digito=1;
}
}
while (sw==3)
{
tecla=0;
while(tecla==0)
tecla=keypad_key_click();
if (estado==0 && tecla !='#')
{
eeprom_write(0,tecla);
lcd_chr(4,1,tecla);
delay_ms(1000);
lcd_out(4,1,"*");
estado=1;
}
else if (estado==1 && tecla !='#')
{
eeprom_write(1,tecla);
lcd_chr(4,2,tecla);
delay_ms(1000);
lcd_out(4,2,"*");
estado=2;
}
else if (estado==2 && tecla !='#')
{
eeprom_write(2,tecla);
lcd_chr(4,3,tecla);
delay_ms(1000);
lcd_out(4,3,"*");
estado=3;
}
else if (estado==3 && tecla !='#')
{
eeprom_write(3,tecla);
lcd_chr(4,4,tecla);
delay_ms(1000);
lcd_out(4,4,"*");
estado=4;
}
if (estado==4)
{
delay_ms(2000);
lcd_cmd(_lcd_clear);
lcd_cmd(_lcd_cursor_off);
lcd_out(1,1,"CONTRASE");
lcd_chr_cp(0b11101110);
lcd_chr_cp('A');
lcd_out(2,8,"CAMBIADA");
delay_ms(3000);
lcd_cmd(_lcd_clear);
estado=sw=0;
digito=1;
}
}
}
}
LINK DE DESCARGA:
DESCAR CODIGO Y SIMULACION
GRUPOS: PAGINA FACEBOOK GRUPO FACEBOOK
WHATSAPP1
WHATSAPP2 WHATSAPP3
Comentarios
Publicar un comentario