Garaje automatico
Enviado por karlo • 6 de Diciembre de 2018 • 3.186 Palabras (13 Páginas) • 358 Visitas
...
clave[i]=’#’;
lcd_gotoxy(b,1);
printf(lcd_putc,"*");
b++;
auxsegundos=0;
segundos=0;
}
}
void una_tecla() // método para una tecla
{
lcd_putc(’\f’);
auxsegundos=0;
segundos=0;
do{
datom=kbd_getc();
delay_ms(60);
if(datom != ’\0’)
{
lcd_gotoxy(8,1);
lcd_putc(datom);
delay_ms(3000);
datom=datom-0x30;
segundos=6;
}
auxsegundos++;
if (auxsegundos>20)
{
auxsegundos=0;
segundos++;
}
}while(segundos < 6);
}
void leer() // método para leer la memoria del microcontrolador
{
for(i=0; i<4; i++)
{
datoe[i]=read_eeprom(i);
delay_ms(5);
}
}
void escribir()
{
for(i=0; i<2; i++)
{
write_eeprom(p,clave[i]);
delay_ms(5);
p++;
}
}
void main(){
setup_adc_ports(NO_ANALOGS);
set_tris_B(0x0C); // configuramos el Puerto B
/*
Pin_B0 =motor
Pin_B1 =motor
Pin_B2 =sensor 1
Pin_B3 =sensor 2
Pin_B4 =led Verde
Pin_B5=led Amarillo
Pin_B6= led rojo
Pin_B7=busser
*/
set_tris_A(0x03); // configuramos el Puerto A
Pin_B0=sensor 2
Pin_B1=sensor 1
Pin_B2=free
Pin_B3=free
Pin_B4=free
Pin_B5=free
Pin_B6=free
Pin_B7=free
*/
output_B(0x0C);
lcd_init(); // Inicializa LCD modulo
inc:
x=0; //inicializamos el contador en cero para bloquear el teclado cuando
intenten 4 veces.
lcd_putc ("\f BIENVENIDOS\n ARQUITECTURA");
delay_ms (2000);
lcd_putc ("\f JUAN AVILA \n IVAN HERRERA");
delay_ms (2000);
lcd_putc ("\f JHON BULLA");
delay_ms (2000);
lcd_putc ("\f DIGITE SU \n CLAVE");
delay_ms (2000);
leer ();
teclado_movil ();
clave:
if(x>=4) // hacemos la condición de que cuando el contador pase de 4 o sea igual a 4 el teclado se bloquee
{
lcd_putc ("\f TECLADO \n BLOQUEADO");
delay_ms (3000);
reset_cpu ();
}
else if ((clave [0] == 0x27) & (clave [1] == 0x29)) // hacemos la condición si la clave que digitamos entre al if
{
lcd_gotoxy (3,1);
lcd_putc("BIENVENIDOS");
lcd_gotoxy (5,2);
lcd_putc ("A CASA");
delay_ms (2000);
output_high(PIN_B0); // encendemos el motor por 2 segundos
delay_ms (2000);
output_low(PIN_B0);
delay_ms (300);
...