#include "setup.h"
#define MAX 4
#define DELAY 30000
int main()
{
init_port(0x21);//DDRA
init_port(0x24);//DDRB
volatile long i;
long j,k,res,sum_two,count;
while(1)
{
volatile long out_address=0x22;//first we start with port A
j=0;
while(j<8)
{
while(count<MAX)
{
res=expo(2,j);
sum_two+=res;
count++;
j++;
}
out(sum_two,out_address);
for(i=0;i<DELAY;i++);
count=0;
sum_two=0;
}
out(0x00,out_address);
out_address=0x25;//after port A is complete we go to port B
j=0;
while(j<8)
{
while(count<MAX)
{
res=expo(2,j);
sum_two+=res;
count++;
j++;
}
out(sum_two,out_address);
for(i=0;i<DELAY;i++);
count=0;
sum_two=0;
}
out(0x00,out_address);
for(i=0;i<DELAY;i++);
out_address=0x25;
j=7;
while(j>=0)
{
while(count<MAX)
{
res=expo(2,j);
sum_two+=res;
count++;
j--;
}
out(sum_two,out_address);
for(i=0;i<DELAY;i++);
count=0;
sum_two=0;
}
out(0x00,out_address);
out_address=0x22;
j=7;
while(j>=0)
{
while(count<MAX)
{
res=expo(2,j);
sum_two+=res;
count++;
j--;
}
out(sum_two,out_address);
for(i=0;i<DELAY;i++);
count=0;
sum_two=0;
out(0x00,out_address);
}
out(0x00,out_address);
for(i=0;i<DELAY;i++);
}
}