#define PORTA_DDR*(volatile uint8_t *)0x21
#define PORTA_DATA*(volatile uint8_t *)0x22
#define PORTC_DDR*(volatile uint8_t *)0x27
#define PORTC_DATA*(volatile uint8_t *)0x28
#define PORTC_PIN*(volatile uint8_t *)0x26
void twosec();
void foursec();
void twosec(){
volatile long i;
PORTA_DATA=0x01;
for(i=0;i<800000;i++){}
PORTA_DATA=0x00;
for(i=0;i<800000;i++){}
}
void foursec(){
volatile long i;
PORTA_DATA=0x01;
for(i=0;i<100000;i++){}
PORTA_DATA=0x00;
for(i=0;i<100000;i++){}
}
int main(){
PORTA_DDR=0XFF;
PORTC_DDR=0X00;
PORTC_DATA=0x01;
int button_state=0;
int previous_button=1;
while(1){
if((PORTC_PIN&0x01)==0&&previous_button==1){
if(button_state==0)
button_state=1;
else
button_state=0;
}
previous_button=PORTC_PIN&0x01;
if(button_state==0)
twosec();
else
foursec();
}
}