ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Cerradura Electrónica


Enviado por   •  3 de Julio de 2015  •  Ensayo  •  806 Palabras (4 Páginas)  •  181 Visitas

Página 1 de 4

Informe

Cerradura Electrónica

1. OBJETIVOS Logrado Falta práctica No logrado

• Analizar el programa y entender su funcionamiento

• Entender el funcionamiento del keypad

• Entender y analizar la configuración y programación del pic, para la realización de una llave electrónica.

• Realizar la simulación en proteus X

X

X

X

2. DIAGRAMA DE OPERACIONES REALIZADAS EN LA PRÁCTICA

bit LCD_RS at RD4_bit;

sbit LCD_EN at RD5_bit;

sbit LCD_D4 at RD0_bit;

sbit LCD_D5 at RD1_bit;

sbit LCD_D6 at RD2_bit;

sbit LCD_D7 at RD3_bit;

sbit LCD_RS_Direction at TRISD4_bit;

sbit LCD_EN_Direction at TRISD5_bit;

sbit LCD_D4_Direction at TRISD0_bit;

sbit LCD_D5_Direction at TRISD1_bit;

sbit LCD_D6_Direction at TRISD2_bit;

sbit LCD_D7_Direction at TRISD3_bit;

int dg1=0,dg2=0,dg3=0,dg4=0;//cuatro digitos que utilizaremos para leer la EEprom del pic;

unsigned short k=0,l=0,i=0,numero[4],contrasena[4];

char *text[]="1.ABRIR" ;char *text2[]="2.NUEVA CONTRASENA";char *actual[]="SU CONTRASENA" ;

char *nueva[]="NUEVA CONTRASENA";char errors[]="error"; char a[3];//* Las variables tipo cadena para visualizar en el lcd;

//* ahora dividimos las tareas en funciones.. comenzamos con la primera:

void guardando(){ //* activa el RC1 ;led amarillo que indica que se esta guardando la contraseña nueva;

Lcd_cmd(_Lcd_CLEAR);

Lcd_out(1,1,"guardando" ) ;

PORTC=0b00000010;

delay_ms(1000);

}

void new(){ // *se visualiza en el lcd cuando se ingresa la nueva contraseña;

Lcd_cmd(_Lcd_CLEAR) ;

Lcd_out(1,1,*nueva ) ;

}

void abrir(){ // *activa el RC2, en este caso se prende un led verde que representa un porton abriendo o

cualquier cosa que se pueda activar al ingresar la contraseña correcta;

Lcd_cmd(_Lcd_CLEAR) ;

Lcd_out(1,1,"abriendo" ) ;

PORTC=0b00000100 ;

}

void sucontr(){ //* cuando se pide que ingrese la contraseña.....,;

Lcd_Cmd(_Lcd_CLEAR) ;

Lcd_out(1,1,*actual ) ;

}

//* la siguiente rutina corresponde al teclado...en otro post se explico su funcionamiento.....;

//* observe como cambian los valores de k, l, i; valores que se usan para saber que numero se guardara en la memoria;

//*

void teclado(){

PORTB=0b00000001 ;

if(Button(&PORTB, 4, 20, 1)){k=1;l=1;i++;}

else if(Button (&PORTB, 5, 20, 1)){k=2;l=2;i++ ;}

else if(Button (&PORTB, 6, 20, 1)){l=3;i++ ;}

else

delay_ms(80);

PORTB=0b00000010;

if(Button (&PORTB, 4, 50, 1)){l=4;i++ ;}

else if(Button (&PORTB, 5, 20, 1)){l=5;i++ ;}

else if(Button (&PORTB, 6, 20, 1)){l=6;i++ ;}

else

delay_ms(80);

PORTB=0b00000100;

if(Button (&PORTB, 4, 20, 1)){l=7;i++;}

else if(Button (&PORTB, 5, 20, 1)){l=8;i++;}

else if(Button (&PORTB, 6, 20, 1)){l=9;i++;}

delay_ms(80);

PORTB=0b00001000;

if(Button (&PORTB, 4, 20, 1)){ l=10; i++;}

else if(Button (&PORTB, 5, 20, 1)){l=0;i++;}

else if(Button (&PORTB, 6, 20, 1)){l=12;i++;}

delay_ms(80);

}

void write_lcd(){ //* visualizar en pantalla las cadenas text y text2 a manera de menu;

Lcd_out(1,1,*text) ;

Lcd_out(2,1,*text2) ;

}

...

Descargar como (para miembros actualizados) txt (6 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com