Professional Documents
Culture Documents
h>
#include <string.h>
#include <stdio.h>
//LCD
#define CD 0x01
#define RH 0x02
#define EMS 0X06
#define DC 0X0F
#define DSr 0X1C
#define DS1 0X18
#define FS 0X28
#define RAW1 0X80
#define RAW2 0XC0
#define E LATE0
#define RS LATE1
char text7[20];
char text6[20];
char text5[20];
char text4[20];
char text3[20];
char text[11] ={"CONTRASEÑA:"},text2[11];
unsigned char i, j;
int k;
int s;
int p;
int t;
int r;
int q;
char m;
char l;
int teclado[4][4] = {
{1, 2, 3, 15},
{4, 5, 6, 14},
{7, 8, 9, 13},
{10, 0, 11, 12}};
int n;
//LCD
SettingsLCD(0x02);
SettingsLCD(EMS);
SettingsLCD(DC);
SettingsLCD(FS);
SettingsLCD(CD);
SettingsLCD(RAW1+3);
GIE = 1;
RBIE = 1;
RBIF = 0;
}
if(PORTBbits.RB5){
j=1;
break;
}
if(PORTBbits.RB6){
j = 2;
break;
}
if(PORTBbits.RB7){
j = 3;
break;
}
LATB = LATB <<1;
}
return teclado[i][j];
}
if(n==1){
p=1;
}
if(p==1){
if(n==2){
t=1;
}
}
if(t==1){
if(n==3){
r=1;
}
}
if(r==1){
if(n==9){
q=1;
}
}
if(q==1 & r==1 & t==1 & p==1){
if(n==0){
SettingsLCD(RAW2+4);
sprintf(text3,"CORRECTA",l);
for(i=0; i < 8; i++){
WriteLCD(text3[i]);
__delay_ms(300);
}
LATB = 0X0F;
SettingsLCD(CD);
p = 0;
r = 0;
q = 0;
t = 0;
n = 1;
k = 0;
settings();
}
}
//
if(n==0){
if(q!=1){
SettingsLCD(RAW2+3);
sprintf(text4,"INCORRECTA",l);
__delay_ms(1000);
for(i=0; i < 10; i++){
WriteLCD(text4[i]);
__delay_ms(300);
}
LATB = 0X0F;
SettingsLCD(CD);
settings();
k=0;
}
// if(t!=1){
// SettingsLCD(RAW2+3);
// sprintf(text5,"INCORRECTA",l);
// for(i=0; i < 10; i++){
// WriteLCD(text5[i]);
// }
// LATB = 0X0F;
// SettingsLCD(CD);
// settings();
// }
//
//
// if(r!=1){
// SettingsLCD(RAW2+3);
// sprintf(text6,"INCORRECTA",l);
// for(i=0; i < 10; i++){
// WriteLCD(text6[i]);
// }
// LATB = 0X0F;
// SettingsLCD(CD);
// settings();
// }
//
//
// if(q!=1){
// SettingsLCD(RAW2+3);
// sprintf(text7,"INCORRECTA",l);
// for(i=0; i < 10; i++){
// WriteLCD(text7[i]);
// }
// LATB = 0X0F;
// SettingsLCD(CD);
// settings();
// }
}
//
k++;
}
}
}
void main(void) {
settings();
while(1){