Hola bueno e empezado a aprender a progrmar datos en la memoria eeprom y me he encontrado con una programacion la cual se trata de un control de accesos atraves de un teclado, y al intoducirle la clave este me da acceso mediante un pulso a un rele
y mi duda es de como cambiar la contraseña.. anexo la programacion:
ahora mi pregunta es esta lo que esta señalado con rojo es la contraseña que seria 7 , 2, 3
pero el numero que esta al lado 0x2100 esta dado en algun sistema(octa,binario, hexadecimal) o como puedo cambiar esa clave a cualquir numero???
gracias
y mi duda es de como cambiar la contraseña.. anexo la programacion:
PHP:
#include <16F876.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock= 4000000)
#use standard_io(a)
#include <lcd.c>
#include <kbd.c>
#include <stdlib.h>
[COLOR=Red]#rom 0x2100={'7','2','3'}[/COLOR] //Posición 0,1 y 2 de la Eeprom con los datos…
//7,2, y 3 respectivamente
void main() {
char k;
int i;
char data[3], clave[3]; //Matrices para guardar clave y datos
lcd_init();
kbd_init();
port_b_pullups(TRUE);
while (TRUE) {
i=0; //posición de la matriz
printf(lcd_putc,"\fpulsar tecla 1\n"); //Para primer dato
while(i<=2){ //Para tres datos
k=kbd_getc(); //Lee el teclado
if (k!=0) //Si se ha pulsado alguna tecla
{data[i]=k; //se guarda en la posición correspondiente
i++; //de la matriz
printf(lcd_putc,"\fpulsar tecla %u\n",i+1); //Siguiente dato
}
}
for (i=0;i<=2;i++) { //Pasa datos de eeprom a la matriz clave
clave[i]=read_eeprom(i);}
if ((data[0]==clave[0])&&(data[1]==clave[1])&&(data[2]==clave[2]))
{ printf(lcd_putc,"\fPuerta Abierta"); //Compara los datos con la clave
output_high(PIN_A0); //Si es igual da pulso al relé
delay_ms(500);
output_low(PIN_A0);}
else printf(lcd_putc,"\fPuerta Cerrada"); //Clave erronea
delay_ms(1000);
}
}
pero el numero que esta al lado 0x2100 esta dado en algun sistema(octa,binario, hexadecimal) o como puedo cambiar esa clave a cualquir numero???
gracias
Última edición por un moderador: