#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// تنظیم پایههای مورد نظر به عنوان خروجی
DDRB |= (1 << 2) | (1 << 5); // PB.2 و PB.5
DDRC |= (1 << 3); // PC.3
DDRD |= (1 << 5); // PD.5
while (1)
{
// -----------------------------------------
// الف) پایه PB.2: یک ثانیه خاموش، یک ثانیه روشن
// -----------------------------------------
PORTB &= ~(1 << 2); // خاموش
_delay_ms(1000); // ۱ ثانیه
PORTB |= (1 << 2); // روشن
_delay_ms(1000); // ۱ ثانیه
// -----------------------------------------
// ب) پایه PB.5: یک ثانیه خاموش، پنج ثانیه روشن
// -----------------------------------------
PORTB &= ~(1 << 5); // خاموش
_delay_ms(1000); // ۱ ثانیه
PORTB |= (1 << 5); // روشن
_delay_ms(5000); // ۵ ثانیه
// -----------------------------------------
// پ) پایه PC.3: سه ثانیه خاموش، سه ثانیه روشن
// -----------------------------------------
PORTC &= ~(1 << 3); // خاموش
_delay_ms(3000); // ۳ ثانیه
PORTC |= (1 << 3); // روشن
_delay_ms(3000); // ۳ ثانیه
// -----------------------------------------
// ت) پایه PD.5: چهار ثانیه خاموش، دو ثانیه روشن
// -----------------------------------------
PORTD &= ~(1 << 5); // خاموش
_delay_ms(4000); // ۴ ثانیه
PORTD |= (1 << 5); // روشن
_delay_ms(2000); // ۲ ثانیه
}
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: