#define F_CPU 16000000L
#include <avr/io.h>
#include <util/delay.h>
#define BUZZER_PORT PB1 // Buzzer I/O Port
#define BUZZER_DELAY 500 // Delay for each tick
int main()
{
// Definicion de mis entradas y saidas
DDRB |= (1 << PINB3); //pin 3 del puerto B como salida //(puede ser PB3, 3, PINB3) //led
DDRB &= ~(1 << PB0); //pin 2 del puerto B como entrada //push
// DDRB &= ~(1 << 2); //pin 2 del puerto B como entrada
//DDRB |= (1 << 1); //pin 1 del puerto B como salida
while (1)
{
//led_on();
if ( (PINB & (1 << PINB0)) == (1 << PINB0) ) {
// pin is high
PORTB ^= (1 << PINB3);
buzzer_on();
} else {
// pin is low
PORTB &= ~(1 << PINB3);
}
}
return 0;
}
void led_on(){
PORTB ^= (1 << PINB3); //manda un 1 al pin 3 del puerto B
}
void buzzer_on(){
DDRB |= (1 << BUZZER_PORT); // Set port as output
PORTB |= (1 << BUZZER_PORT);
_delay_us(BUZZER_DELAY);
PORTB &= ~(1 << BUZZER_PORT);
_delay_us(BUZZER_DELAY);
}