Académique Documents
Professionnel Documents
Culture Documents
INGENIERIA MECATRONICA
MATERIA: MICROCONTROLADORES
PRACTICA 9:
CONTRASEA ENMASCARADA
INTEGRANTES:
Guzmn Granillo Fernando
Souffle Maldonado Rafael
INTRODUCCION:
Se realiza un programa donde se est introduciendo una contrasea de 4 dgitos
enmascarada con '*', el cual se ver reflejado en el mdulo LCD el cual est conectado
al PORTD, una vez introducida la contrasea si es correcta, se mostrara en LCD,
'CORRECTA', de lo contrario se reflejara 'INCORRECTA', as mismo se estar reseteando
el programa por medio de un push button colocado en el puerto RB2.
void main() {
inicio:
cnt = 0;
// CONTADOR RESETEADO
Keypad_Init();
// INICIO TECLERA
ANSEL = 0;
// ENTRADAS ANALOGICAS
ANSELH = 0;
TRISB.RB1 =0;
TRISB.RB2 =1;
Lcd_Init();
// INICIO LCD
Lcd_Cmd(_LCD_CLEAR);
// LIMPIAR LCD
Lcd_Cmd(_LCD_CURSOR_OFF);
// CURSOR EN OFF
Lcd_Out(1, 1, "BIENVENIDO");
// TEXTO DE LCD
while(1){
kp = 0;
do
kp = Keypad_Key_Click();
while (!kp);
switch (kp) {
// VALORES PARA KP
Lcd_Chr(2, 3, '*');
kp1 = 0;
do
kp1 = Keypad_Key_Click();
while (!kp1);
switch (kp1) {
Lcd_Chr(2, 4, '*');
kp2 = 0;
do
kp2 = Keypad_Key_Click();
while (!kp2);
switch (kp2) {
Lcd_Chr(2, 5, '*');
kp3 = 0;
do
kp3 = Keypad_Key_Click();
while (!kp3);
switch (kp3) {
Lcd_Chr(2, 6, '*');
//LIMPIA LCD
Lcd_Out(2,4,"CORRECTA");
CORRECTA
Delay_ms(1000);
PORTB.RB1 = 1;
}
else
{Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(2,4,"INCORRECTA");
INCORRECTA
PORTB.RB1 = 0;
//LIMPIA LCD
//SI LA CLAVE NO COINCIDE ESCRIBIR EN LCD
if (PORTB.RB2 = 1)
goto inicio;
} while (1);
}
SIULACION EN PROTEUS:
CONCLUSION: