#include <18f452.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay(clock=4000000)
#use fast_io(b)
#int_rtcc
void handle_rtcc_int()
{
//Output_toggle: Cambiar al estado contrario al q esta (1 o 0).
Output_Toggle(PIN_C2);
Set_timer0(1000);
}
void main(void)
{
unsigned int tiempo=100;
unsigned int activado=0;
unsigned int codigo=0;
long i=0;
set_tris_b(0b00000001);
disable_interrupts(GLOBAL);
output_b(0);
while(1)
{
if (input(PIN_B0)==0)
{
activado=1;
setup_timer_0(RTCC_DIV_16 | RTCC_8_BIT);
enable_interrupts(int_rtcc);
enable_interrupts(global);
}
//Si la puerta esa abierta o cerrada.
if (activado==0)
{
i++;
if (i>=2000)
{
output_high(PIN_B1);
}
}
else
{
if (input(PIN_A4)==0)
{
disable_interrupts(int_rtcc);
disable_interrupts(GLOBAL);
activado=0;
}
output_high(PIN_B1);
delay_ms(100);
output_low(PIN_B1);
delay_ms(100);
}
}
}
#include <18f452.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay(clock=4000000)
#use fast_io(b)
#int_rtcc
void handle_rtcc_int()
{
//Output_toggle: Cambiar al estado contrario al q esta (1 o 0).
Output_Toggle(PIN_C2);
Set_timer0(1000);
}
void main(void)
{
//unsigned int tiempo=100;
//long i=0;
unsigned int apretado=0;
unsigned int activado=0;
unsigned int codigo=0;
unsigned int mom=27;
set_tris_b(0b00000001);
disable_interrupts(GLOBAL);
output_b(0);
while(1)
{
mom++;
if (input(PIN_B0)==0)
{
if (activado==0)
{
activado=1;
mom=1;
}
}
//SI LA PUERTA ESTA ABIERTA O CERRADA.
if (activado==0)
{
delay_ms(50);
if (mom>=30)
{
output_high(PIN_B1);
if (mom>=32)
{
output_low(PIN_B1);
mom=0;
}
}
}
else
{
//ALARMA.
setup_timer_0(RTCC_DIV_16 | RTCC_8_BIT);
enable_interrupts(int_rtcc);
enable_interrupts(global);
if (mom>=2)
{
output_high(PIN_B1);
if (mom>=4)
{
output_low(PIN_B1);
mom=0;
}
}
delay_ms(50);
//CODIGO PARA DESACTIVAR.
if (input(PIN_A4)==0)
{
if (apretado==0)
{
codigo++;
apretado=1;
}
if (codigo==5)
{
disable_interrupts(int_rtcc);
disable_interrupts(GLOBAL);
activado=0;
mom=0;
apretado=0;
codigo=0;
output_low(PIN_b1);
}
}
else
{
apretado=0;
}
}
}
}
while(1)
{
for(cont=0;cont<80;cont++)
{
for(conta=0;conta<=cont;conta++)
{
conta=salvar;
for(i=0;i<80;i++)
{
if(i==0) //envia 1 a los reg
{
enviar1;
long_actual++;
if((long_actual)>=longitud)
{
long_actual=0;
if((contaletra+2)>longfra)
{
contaletra = 0;
}
else
{
contaletra++;
}
SeleccionaCaracter();
}
L[0] = C[conta2];
output_d(L[0]);
conta2++;
imprimio=1;
}
else //envia 0 a los reg
{
enviar0;
}
if(i<=conta && !(imprimio))
{
output_d(L[i]);
}
delay_ms(1); ///////////////////////////////////////////ESTE DELAY
output_d(0);
imprimio=0;
}
RotacionColumnas();
}
salvar=conta;
}
}
}