Autor Tema: Control de Acceso, Monitoreo en Hyperterminal  (Leído 2439 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Control de Acceso, Monitoreo en Hyperterminal
« en: 03 de Julio de 2009, 14:21:04 »
Cordial saludo

bueno gente resulta q enfrento un control de acceso sencillo, las caracteristicas serian las siguientes:
* El acceso esta restringido a tres usuarios, identificados por medio de un menú del siguiente
  estilo:
  Seleccione el Usuario
  [1] [2] [3]

*Luego de seleccionar el usuario, este deberá ingresar su clave, la cual debe ser numérica de
  cuatro dígitos. Durante esta etapa, el usuario posee un tiempo restringido para ingresar su
  clave y que debe ser visualizado en el LCD. En caso que el usuario no ingrese a tiempo su
  clave, se considera un intento de ingreso fallido. El usuario dispondrá de tres intentos para
  ingresar la clave correcta, luego de los cuales se debe producir una indicación sonora y un
  mensaje de rechazo en el LCD. Si por el contrario el usuario ingresa la clave correcta, debe
  producirse una indicación sonora y mostrar en el LCD un mensaje de bienvenida.
*Cuando el usuario haya exitosamente ingresado, tendrá a su disposición un menú que le
  permita salir de la aplicación o cambiar su clave.
* Se debe realizar además el monitoreo del estado de la alarma por medio del computador. Se
  debe visualizar en el hyperterminal, el usuario y su numero de intentos realizados y los
  estados de la alarma.

lo q no entiendo muy bien es como visualizar el tiempo del timer en el LCD.

supongo q es el programa seria mas viable si hago todo con las estructuras switch y el uso de funciones (q de esto no tengo idea)
por ejemplo para el primer punto haría algo parecido a lo siguiente:
Código: CSS
  1. tecla=kby_getc
  2. swtich (tecla)
  3. {
  4. .
  5. .
  6. }

y ya dentro de cada caso hacer lo que deba que seria ingresar clave, cambiar o salir del programa.
para lo relacionado a las claves tengo el siguiente ejemplo q es de otro programa pero supongo q me sirve
Código: CSS
  1. #rom 0x2100={'7','2','3'}  //posicion 0 1 y 2 de la Eeprom con los datos
  2.                            //7,2, y 3 respectivamente
  3. void main() {
  4.    char k;
  5.    int i;
  6.    char data[3], clave[3];  //Matrices para guardar clave y datos
  7.  
  8.    lcd_init();
  9.    kbd_init();
  10.    port_b_pullups(TRUE);
  11.  
  12.    while (TRUE) {
  13.    i=0;            //posición de la matriz
  14.  
  15.    printf(lcd_putc,"\fpulsar tecla 1\n");  //Para primer dato
  16.  
  17.    while(i<=2){                //Para tres datos
  18.       k=kbd_getc();            //Lee el teclado
  19.       if (k!=0)                //Si se ha pulsado alguna tecla
  20.          {data[i]=k;           //se guarda en la posicion correspondiente
  21.           i++;                //de la matriz
  22.           printf(lcd_putc,"\fpulsar tecla %u\n",i+1);  //Siguiente dato
  23.          }
  24.     }
  25.  
  26.    for (i=0;i<=2;i++) {             //Pasa datos de eeprom a la matriz clave
  27.      clave[i]=read_eeprom(i);}
  28.  
  29.    if ((data[0]==clave[0])&&(data[1]==clave[1])&&(data[2]==clave[2]))
  30.       { printf(lcd_putc,"\fPuerta Abierta"); //Compara los datos con la clave
  31.         output_high(PIN_A0);                //Si es igual da pulso al relé
  32.         delay_ms(500);
  33.         output_low(PIN_A0);}
  34.    else printf(lcd_putc,"\fPuerta Cerrada");  //Clave erronea
  35.    delay_ms(1000);
  36.    }
  37. }

algun consejo...o estoy muy perdido???

Estuve viendo el proyecto del compañero zagoaristides, que hace gran uso del switch y las funciones, pero como no soy muy diestro esto del C, prefiero tratar de hacerlo yo mismo y entenderlo
« Última modificación: 03 de Julio de 2009, 15:12:37 por jhozate »
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: Control de Acceso, Monitoreo en Hyperterminal
« Respuesta #1 en: 04 de Julio de 2009, 22:06:55 »
hola aqui te dejo un reloj que hice, pero agregalo a tu programa, espero que te sirva. a y lo otro es que ahora tendras que poner a tus printf(lcd_putc,"xxxxxxxxxxxxxxxxx");  debajo un lcd_gotoxy(1.2); para que el reloj quede arriba de tus lineas.acuerdate todas la variables van arriba de donde te puse ///LLAMADA FUNCION INTERRUPCION, y el resto de tu programa va en donde dise void main(void)
{x
x
x
x
x
x
x
x
}
bueno espero que te sirva o sino cualquier duda avisas.
salu2s..... te agrego la simulacion+ el hex + el c
 


 

anything