Skocz do zawartości

Alarm przeciwwłamaniowy AVR


Pomocna odpowiedź

Napisano

Cześć! Jestem studentką politechniki, moim zadaniem jest projekt alarmu przeciwwłamaniowego- płytki PCB, wykorzystuję atmegę 8. Napisałam program w C, jednak nie mam na razie możliwości sprawdzenia czy zadziała on na płytce, dlatego bardzo proszę o sprawdzenie poprawności kodu.

Alarm wykorzystuje dwa czujniki ruchu PIR HC-SR501, dwie diody (każda z nich jest wyjściem dla odpowiedniego czujnika) oraz buzzer, który reaguje na sygnał z któregokolwiek czujnika.

Proszę o wyrozumiałość, to mój pierwszy tego typu projekt w C :->

#include <avr/io.h>//biblioteka wejść wyjść
#include <util/delay.h>// biblioteka opoznien



int main(void) //funkcja glowna programu

{

DDRD &=~(1<<2);//pin PD2 jako wejście (alarm1)
DDRD &=~(1<<3);//pin PD3 jako wejście (alarm2)

DDRD |=(1<<6);//pin PD3 jako wyjście (led1)
DDRD |=(1<<7);//pin PD3 jako wyjście (led2)

DDRB |=(1<<0);//pin PB0 jako wyjście (buzzer)



while(1)   // petla nieskonczona

{

if(bit_is_clear(PIND,PD2 ))// jesli alarm1 ma stan wysoki

{

PORTD |=(1<<PIND6);//włączenie led1

PORTB |=(1<<PINB0);//włącz buzzer

delay(30000);

}

else //alarm1 ma stan niski

{

PORTB &=~(1<<PIND6);//wyłącz led1

PORTB &=~(1<<PINB0);//wyłącz buzzer

} 

if(bit_is_clear(PIND,PD3 ))// jesli alarm2 ma stan wysoki

{

PORTD |=(1<<PIND6);//włączenie led2

PORTB |=(1<<PINB0);//włącz buzzer

delay(30000);


}

else //alarm2 ma stan niski

{

PORTB &=~(1<<PIND6);//wyłącz led2

PORTB &=~(1<<PINB0);//wyłącz buzzer

} 


}

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...