You are on page 1of 3

int increment=0;

int total;
int input1 = 0;
int input2 = 0;
int initiate;
int initiate2;
int operator1;
int results;
int led, segment;
void main() {
trisb = 0;
trisc = 0;
trisd = 0xff;
portb = 0;
portc = 0;
TRISA = 0;
PORTA =0;
for(;;){
if(increment==0){
if(portd.b4==1){
initiate=1;
}
if(portd.b4==0){
if(initiate==1){
if(portd.b0==1){
input1 = input1+1;
}
if(portd.b1==1){
input1 = input1+2;
}
if(portd.b2==1){
input1 = input1+4;
}
if(portd.b3==1){
input1 = input1+8;
}
increment++;
initiate=0;
}
}
}

if(increment==1){
if(portd.b4==1){
initiate2 = 1;
}
if(portd.b4==0){
if(initiate2==1){

if(portd.b0==1){
operator1 = 1;
}
if(portd.b1==1){
operator1 = 2;
}
if(portd.b2==1){
operator1 = 3;
}
initiate2=0;
increment++;
}

}
}

if(increment==2){
if(portd.b4==1){
initiate=1;
}
if(portd.b4==0){
if(initiate==1){
if(portd.b0==1){
input2 = input2+1;
}
if(portd.b1==1){
input2 = input2+2;
}
if(portd.b2==1){
input2 = input2+4;
}
if(portd.b3==1){
input2 = input2+8;
}
initiate=0;
increment++;
}

}
if(increment==3){
if(operator1==1){
results = input1 + input2;
increment=0;
input1=0;
input2=0;
portb = dec2bcd(results);
if(results>=10 && results < 20){PORTC.f0 =1;}
if(results>=20 && results < 30){PORTC.f1 =1;}
if(results>=30 && results < 40){PORTC.f2 =1;}
if(results>=40 && results < 50){PORTC.f3 =1;}
if(results>=50 && results < 60){PORTC.f4 =1;}
if(results>=60 && results < 70){PORTC.f5 =1;}
if(results>=70 && results < 80){PORTC.f6 =1;}
if(results>=80 && results < 90){PORTC.f7 =1;}
if(results>=90 && results < 100){PORTA.f0 =1;}
if(results>100){PORTA.f1 =1;}
}
if(operator1==2){
results = input1 - input2;
increment=0;
input1=0;
input2=0;
if(results>10){
led = results/10;
segment = (led*10)-results;
}
portb = dec2bcd(segment);
if(results>=10 && results < 20){PORTC.f0 =1;}
if(results>=20 && results < 30){PORTC.f1 =1;}
if(results>=30 && results < 40){PORTC.f2 =1;}
if(results>=40 && results < 50){PORTC.f3 =1;}
if(results>=50 && results < 60){PORTC.f4 =1;}
if(results>=60 && results < 70){PORTC.f5 =1;}
if(results>=70 && results < 80){PORTC.f6 =1;}
if(results>=80 && results < 90){PORTC.f7 =1;}
if(results>=90 && results < 100){PORTA.f0 =1;}
if(results>100){PORTA.f1 =1;}
}
if(operator1==3){
results = input1 * input2;
increment=0;
input1=0;
input2=0;
portb = dec2bcd(results);
if(results>=10 && results < 20){PORTC.f0 =1;}
if(results>=20 && results < 30){PORTC.f1 =1;}
if(results>=30 && results < 40){PORTC.f2 =1;}
if(results>=40 && results < 50){PORTC.f3 =1;}
if(results>=50 && results < 60){PORTC.f4 =1;}
if(results>=60 && results < 70){PORTC.f5 =1;}
if(results>=70 && results < 80){PORTC.f6 =1;}
if(results>=80 && results < 90){PORTC.f7 =1;}
if(results>=90 && results < 100){PORTA.f0 =1;}
if(results==100){PORTA.f1 =1;}

}
}
}

You might also like