11-فلاشر(8 led به ترتیب روشن می شوند)

#include < mega16.h >
#include < delay.h >
void main()
{
int i;
DDRA=0xFF;
   while(1)
   {
     for(i=1;i<=128;i=i*2)
       {
        PORTA=i;
        delay_ms(100);
       }
       for(i=128;i>1;i=i/2)
       {
        PORTA=i;
        delay_ms(100);
       }
    }
}

10-سه عدد کلید و سه عدد led داریم عملکرد قفل مرکزی ماشین را روی آن پیاده کنید

#include < mega16.h >
#include < delay.h >

//ghofl markazi mashin
void main()
{
int i=0,j=0,k=0;
DDRA=0x07;
DDRB.0=0;
DDRB.1=0;
DDRB.2=0;
PORTB=0x07;
while(1)
{
if(PINB.0==0)
{
while(PINB.0==0);
delay_ms(30);
i++;
k++;
j++;
if(i%2==0)
PORTA.0=0;
else
PORTA.0=1;
if(j%2==0)
PORTA.1=0;
else
PORTA.1=1;
if(k%2==0)
PORTA.2=0;
else
PORTA.2=1;
}
if(PINB.1==0)
{
while(PINB.1==0);
delay_ms(30);
j++;
if(j%2==0)
PORTA.1=0;
else
PORTA.1=1;
}
if(PINB.2==0)
{
while(PINB.2==0);
delay_ms(30);
k++;
if(k%2==0)
PORTA.2=0;
else
PORTA.2=1;
}
}
}

9-دو کلید داریم با زدن کلید اول تعداد چشمک زدن LED ها مشخص میشود با زدن کلید دوم چشمک می زند

#include < mega16.h >
#include < delay.h >
void main()
{
int j=0,i=0;
DDRA=0XFF;
DDRB.0=0;
DDRB.1=0;
PORTB.0=1;
PORTB.1=1;
while(1)
{
if(PINB.0==0)
{
while(PINB.0==0);
delay_ms(30);
i++;
}
if(PINB.1==0)
{
while(PINB.1==0);
delay_ms(30);
for(j=0;j{
PORTA=0XFF;
delay_ms(250);
PORTA=0X00;
delay_ms(250);
}
i=0;
}
}
}

8-تعداد زدن کلید به صورت باینری بر روی LED ها نمایش داده شود

#include < mega16.h >
#include < delay.h >
//tedade feshorde shodane kelid be surate binery be ruye led ha namayesh dade shavad
void main()
{
int i=0;
DDRA=0xFF;
DDRB.0=0;
PORTB.0=1;
while(1)
{
if(PINB.0==0)
{
while(PINB.0==0);
delay_ms(30);
i++;
PORTA=i;
}
}
}

7-با زدن کلید led ها 5 بار چشمک بزنند

#include < mega16.h >
#include < delay.h >
//ba zadane kelid ledha 5 bar roshan khamush mishavand va ba dobare zadane kelid hamin reval ejra shavad.
void main()
{
int i;
DDRB.0=0;
DDRA=0XFF;
PORTB.0=1;
while(1)
{
if(PINB.0==0)
{
while(PINB.0==0);
delay_ms(30);
for(i=0;i<5;i++)
{
PORTA=0XFF;
delay_ms(500);
PORTA=0X00;
delay_ms(500);

}
}
}
}

6-با زدن کلید led روشن و با دوباره زدن LED خاموش می شود

#include < mega16.h >
#include < delay.h >
//ba zadane kelid led roshan ba zadane dobare an led khamush shavad
void main()
{
int i=0;
DDRA.0=1;//khoruji kardane paye
DDRA.1=0;//vorudi kardane paye
PORTA.0=0;//pull up kardan
while(1)
{
if(PINA.1==0)
{
while(PINA.1==0);//ta zamani ke kelid zade shode ast dar in khat baghi mimanad
delay_ms(30);//in khat na khate bala larzeshgire narm afzari ast
i++;//vaghti ye bar roshan mishavad dafe baad ke zadim khamush shavad i ra tarif mikonim
if(i%2==0)
PORTA.0=0;//led khmush mishavad
else
PORTA.0=1;//led roshan mishavad

}
}
}

5-شمارنده که اعداد از 1 تا 255 به صورت باینری بر روی led ها نمایش داده شود

#include < mega16.h >
#include < delay.h >
//shomarande ke adad be soorate binery bar ruye led ha namayesh dade shavad.
void main()
{
int i;
DDRA=0XFF;//khoruji kardane payeha
for(i=0;i<256;i++)
{
PORTA=i;
delay_ms(250);
}
}

4-led ها پس از 14 بار چشمک زدن خاموش می شوند

# include < mega16.h >
# include < delay.h >
//led ha pas az 14 bar cheshmak zadan khamush mishavand.
void main()
{
int i;
DDRA=0XFF;//khoruji kardane 8 paye
for(i=0;i<14;i++)//baraye 14 bar roshan khamush shavand
{
PORTA=0XFF;
delay_ms(250);
PORTA=0X00;
delay_ms(250);
}
}

3-نوشتن تابع جهت دادن عددی برای تاخیر چشمک زدن چراغ ها

#include < mega16.h >
#include  < delay.h >
//barnameyi neveshtim be vasileye yek tabe ke ba dadane har adadi bejaye
//k led ha be haman meghdar delay baraye cheshmak zadan dashte bashand
void delay(unsigned int k)//tabe morede nazar
{
PORTA=0XAA;
delay_ms(k);
PORTA=0X55;
delay_ms(k);
}
void main()
{
unsigned int k=250;
DDRA=0Xff;
while(1)
{
delay(k);//farakhani tabe
}
}

2- 8 led چشمک زن به صورت یکی در میان

# include < mega16.h > 
# include  < delay.h >
//8 led darim ke be soorate yeki dar mian cheshmak mizanand
void main()
{
DDRA=0XFF;//8 paye ra khoruji mikoim
while(1)
{
PORTA=0XAA;//led haye fard roshan mishavand
delay_ms(500);
PORTA=0X55;//led haye zoj roshan mishavand
delay_ms(500);
}
}

1- یک led چشمک زن

#include < mega16.h >
#include  < delay.h >
//led cheshmak zan
void main()
{
DDRA.0=1;//in paye ra khoruji kardim
while(1)
{
PORTA.0=1;//be in paye meghdar digitale 1 dadim
delay_ms(500);
PORTA.0=0;//be in paye meghdar digitale 0 dadim
delay_ms(500);
}
}