You are on page 1of 6

#include <TimerOne.

h>
#define TIMER_US 1000000
#define PIN_START A0
#define START digitalRead(PIN_START)

unsigned char a,b,c,d,e,f,z,u,v,x,y=0;


unsigned int t,l=0;
unsigned int n,m=0;

void setup()
{

pinMode(12,OUTPUT);//UP
pinMode(10,OUTPUT);//DOWN
pinMode(START,INPUT);
}

void loop() {
if(d<=1){
if(START == LOW){
if((z<=0)&&(x<=0)){
if(t<=10){
Timer1.initialize(TIMER_US);
Timer1.attachInterrupt(timerIsr);
digitalWrite(12,HIGH);
digitalWrite(10,LOW);}
if(t>=10){z=1;
t=0;}}

if((z>=1)&&(x<=0)){
if(t<=3){
Timer1.initialize(TIMER_US);
Timer1.attachInterrupt(timerIsr);
digitalWrite(12,LOW);
digitalWrite(10,LOW);}
if(t>=3){t=0;
u=1;
y=0;
x=1;
z=0;
}}

if((u>=1)&&(y<=0)){
if(t<=10){
Timer1.initialize(TIMER_US);
Timer1.attachInterrupt(timerIsr);
digitalWrite(12,LOW);
digitalWrite(10,HIGH);}
if(t>=10){ t=0;
u=0;
y=1;
}}

if((u<=0)&&(y>=1)){
if(t<=3){Timer1.initialize(TIMER_US);
Timer1.attachInterrupt(timerIsr);
digitalWrite(12,LOW);
digitalWrite(10,LOW);}
if(t>=3){ t=0;
y=1;
u=1;
x=0;
z=0;
}}}}
if(d>=1){digitalWrite(12,LOW);
digitalWrite(10,LOW);
Timer1.detachInterrupt();}}
void timerIsr(){ // ef:cd:ab
t++;
if(t=t+1){b++;}
if(b>9){a++;
b=0;}
if(a>5){d++;
a=0;}
if(d>9){c++;
d=0;}
if(c>5){f++;
c=0;}
if(f>9){e++;
f=0;}
if(e=2&&f>3)
{a,b,c,d,e,f=0;}
}
//Timer1.detachInterrupt();// tat ngat

You might also like