PROYCTO FINAL.docx

PROYECTO FINAL CERRADURA ELECTRONICA  ASIGNATURA: MICROPROCESADORES  INTEGRANTES: o CHIRINOS ACUÑA GUSTAVO o MERA A

Views 117 Downloads 45 File size 813KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROYECTO FINAL CERRADURA ELECTRONICA 

ASIGNATURA: MICROPROCESADORES



INTEGRANTES: o CHIRINOS ACUÑA GUSTAVO o MERA ALCANTARA MANFRED o TARRILLO CABRERA JOSUE



DOCENTE: ING. JUAN CARLOS ÑAÑEZ AGUILAR



SEMESTRE: 2017-II

LAMBAYEQUE - 2017

#include

WHILE (TRUE)

#fuses XT,NOWDT,NOPUT,NOPROTECT

{

#use delay (clock=4M)

IF (b == 0)

#define LCD_DB4 PIN_D4

{

#define LCD_DB5 PIN_D5

lcd_putc ("\f

POR");

#define LCD_DB6 PIN_D6

lcd_putc ("\n

FAVOR");

#define LCD_DB7 PIN_D7

delay_ms (600);

#define LCD_RS PIN_D2

lcd_putc ("\fINGRESE SU CLAVE");

#define LCD_E

PIN_D3

}

#include // Libreria del lcd

IF (e == 1)

#include // Libreria del teclado matricial

{

#rom 0x2100={'1','2','3','4'} // escribir en la memoria eeprom

lcd_putc ("\f INGRESE"); delay_ms (500);

int i; //contador del arreglo clave

lcd_putc ("\fCLAVE CORRECTA:");

int a; //contador del arreglo dato int b=0; //variable por una clave nueva

}

int e; // variable por un error

output_low (PIN_D0); // VERDE

int j; // contador de los arreglos clave , dato

output_low (PIN_D1); // ROJO

int comp; // contador que compara si son iguales los arreglos

comp = 0;

char k; // lectura del teclado

a = 0;

char dato[4],clave[4]; //dato : almacena los digitos, clave: es la

WHILE (a < 4)

contraseña

{

void main()

k = kbd_getc (); // leer la tecla presiono

{

IF (k != 0) FOR (i = 0; i < 4; i++)

{

{

dato[a] = k; //guarda el caracter al arreglo dato

clave[i] = read_eeprom (i) ; //guarda la constraseña en el vector clave

a++; lcd_gotoxy (a, 2); // posicion i de la segunda linea

} lcd_putc ('*') ; //encriptar la clave lcd_init (); // Inicializa el hardware LCD y el estado interno del módulo.

}

kbd_init (); // Inicializa el driver para usar el teclado matrial

}

port_b_pullups (TRUE); // resistencias o internas del pic

FOR (j = 0; j < 4; j++) {

lcd_putc ("\f PROYECTO");

IF (dato[j] == clave[j])

lcd_putc ("\n FINAL");

{ comp++;

delay_ms (1000); }

lcd_putc ("\f MICRO"); lcd_putc ("\n PROCESADORES"); delay_ms (1000);

}

IF (comp == 4) { lcd_putc ("\f BIENVENIDO!!!! "); output_high (PIN_D0); // VERDE output_low (PIN_D1); // ROJO delay_ms (2000); b = 0; } ELSE { lcd_putc ("\f-ERROR DE CLAVE-"); e = 1; b++; IF (b == 4) { lcd_putc ("\f-----SISTEMA-----"); lcd_putc ("\n----BLOQUEADO----"); output_high (PIN_D1);// ROJO delay_ms (2000); b = 0; } output_high (PIN_D1);// ROJO output_low (PIN_D0);// VERDE delay_ms (1000); } } }

PIC16F877A

LCD 16X2

TECLADO MATRICIAL 4X4