Documentos de Académico
Documentos de Profesional
Documentos de Cultura
#include <AVR/io.h>
#include <util/delay.h>
int main(void)
{
int sig = 0;
//Decicimos que puertos seran de salida y cuales de entrada
DDRB = 0xFF;
DDRD = 0x00;
//DDRC = 0xFF;
//Configuración del timer
TCCR1B |= (1 << CS10);
//PORTC = 0x00;
while(1)
{
//Si presionamos el pulsador...
if ((PIND == 0xFE) & (sig == 0))
{
//encendemos los leds i los apagamos en su momento indic
ado
PORTB = 0x0A;
// TIEMPO DE ESPERA 2mS
while (TCNT1 < 2000)
{
}
//Reiniciamos el temporizador
TCNT1 = 0;
//Apagamos el led verde
PORTB = 0x02;
//
// TIEMPO DE ESPERA 2100uS
while (TCNT1 < 100)
{
}
//Apagamos el led rojo (todos)
PORTB = 0x00;
//Con esta variable 'alta', evitaremos entrar de nuevo e
n el bucle si no hemos soltado antes el pulsador
sig = 1;
}
//En soltar el pulsador damos acceso de nuevo a la sentencia ant
erior
if (PIND == 0xFF)
{
sig = 0;
TCNT1 = 0;
}
}
}