void init_delay();
#define DELAY 25
volatile long ON_Time,OFF_Time;
volatile long time[]={1,100,500,1000,2000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000};
volatile long time1[]={19999,19900,19500,19000,18000,16000,15000,14000,13000,12000,11000,10000,9000,8000,7000,6000,5000,4000,3000,2000};
volatile char j=0,count=0;
void setup() {
volatile long i,k;
volatile char *portf_dir=(volatile char*)0x30;
*portf_dir=0x0F;
volatile char *portf_data=(volatile char*)0x31;
ON_Time=time[0];
OFF_Time=time1[0];
Serial.begin(9600);
while(1)
{
Serial.print("ON-Time=");
Serial.println(ON_Time);
Serial.print("OFF-Time=");
Serial.println(OFF_Time);
for(k=0;k<DELAY;k++)
{
*portf_data=0x01;
for(i=0;i<ON_Time;i++);
*portf_data=0x00;
for(i=0;i<OFF_Time;i++);
}
init_delay();
}
}
void init_delay()
{
if(j==19)
{
count=1;
}
if(j==0)
{
count=0;
}
if(count==0)
{
j++;
ON_Time=time[j];
OFF_Time=time1[j];
}
if(count==1)
{
j--;
ON_Time=time[j];
OFF_Time=time1[j];
}
}