InicioCiencia EducacionTeclado + lcd + login PIC18F4550
Código en PIC C

#include <18F4550.h>
#fuses XTPLL,NOMCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG
#use delay(clock=8MHz)
#include <lcd.c>
#define use_portb_KBD TRUE
#include <KBD.c>
#use fast_io(A)
void main() {
int x = 1; //VARIABLE DE POSICIONAMIENTO X LCD_GOTOXY(X,N)
int i = 0; //POSICIONAMIENTO DE DIRECCION DE LA VARIABLE MEMORIA
int z = 0; //VARIABLE DE CONTEO
int y = 0; //VARIABLE DE CONTROL QUE VERIFICA SI DOS CADENAS SON IGUALES
int intento = 0; //NUMERO DE INTENTOS INTENTOS
char registro; //VERIFICADOR DE CAMBIOS A LA ENTRADA DEL PUERTO B
char memoria[16]; //ALMACENA CARACTERES DEL TECLADO
char password[16] = "9309*#"; //PASSWORD
lcd_init();
kbd_init();
lcd_gotoxy(1,1);
lcd_putc("Password: " );
port_b_pullups(true);
set_tris_a(0b000101);
while(true){
///////////////////////////////////////////////////////////////////////////////
while(input_a()==0b100){
for(z=0;z<=15;z++){
memoria[z] = "";
}
lcd_gotoxy(1,1);
lcd_putc("Reset. " );
lcd_gotoxy(1,2);
lcd_putc(" " );
delay_ms(250);
lcd_gotoxy(1,1);
lcd_putc("Reset.. " );
delay_ms(250);
lcd_gotoxy(1,1);
lcd_putc("Reset... " );
delay_ms(250);
x = 1; i = 0; z = 0; y = 0; intento = 0; //RESET
lcd_gotoxy(1,1);
lcd_putc("Password: " );
lcd_gotoxy(1,2);
lcd_putc(" " );
}
///////////////////////////////////////////////////////////////////////////////
while(input_A()==0b0 && intento <=2 && y < 16 && i <= 15){
registro = KBD_getc();
if(registro != 0){
memoria = registro;
lcd_gotoxy(x,2);
printf(lcd_putc,"*" );
if(x < 16){
x = x + 1; //CAPTURA DE PASSWORD
}
i = i + 1;
}
}
///////////////////////////////////////////////////////////////////////////////
while(input_A()==0b1 && intento <= 2){
while(z <= 15){
if(password[z]==memoria[z]){
y = y + 1;
}
z = z + 1;
}
if(y==16){
lcd_gotoxy(1,1);
lcd_putc("Bienvenido " );
lcd_gotoxy(1,2);
lcd_putc("Victor Tanori " );
}
else{
for(z=0;z<=15;z++){
memoria[z] = ""; //VALIDACION DEL PASSWORD
}
z = 0;
y = 0;
x = 1;
i = 0;
intento = intento + 1;
lcd_gotoxy(1,2);
printf(lcd_putc,"Error de acceso " );
lcd_gotoxy(1,1);
printf(lcd_putc,"%d Intento ", intento);
delay_ms(1000);
lcd_gotoxy(1,1);
lcd_putc("Password: " );
lcd_gotoxy(1,2);
lcd_putc(" " );
if(intento==3){
lcd_gotoxy(1,1);
printf(lcd_putc,"Supero el numero " );
lcd_gotoxy(1,2);
printf(lcd_putc,"de intentos... " );
}
}
}
///////////////////////////////////////////////////////////////////////////////
}
}

Simulación en proteus 8

Teclado + lcd + login PIC18F4550
Datos archivados del Taringa! original
0puntos
19visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

T
Tanori93🇦🇷
Usuario
Puntos0
Posts63
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.