#include "Blink.h"
volatile unsigned char a=1,sum=0;
volatile unsigned char t;
volatile unsigned long i;
int Add(volatile char s){
volatile char r,m=0;
while(s!=0){
r=s%10;
m=m+r;
s=s/10;
}
return m;
}
void Display(volatile char y){
if(y==1){
t=0x06;
output(t);
for(i=0;i<100000;i++);
}
else if(y==2){
t=0x5b;
output(t);
for(i=0;i<100000;i++);
}
else if(y==3){
t=0x4f;
output(t);
for(i=0;i<100000;i++);
}
else if(y==4){
t=0x66;
output(t);
for(i=0;i<100000;i++);
}
else if(y==5){
t=0x6d;
output(t);
for(i=0;i<100000;i++);
}
else if(y==6){
t=0x7d;
output(t);
for(i=0;i<100000;i++);
}
else if(y==7){
t=0x07;
output(t);
for(i=0;i<100000;i++);
}
else if(y==8){
t=0x7f;
output(t);
for(i=0;i<100000;i++);
}
}
int GetInput(){
volatile unsigned char h=0;
volatile unsigned char x;
volatile char *inp;
inp=0x106;
while(h<4){
x=*inp;
if(x == 0x01){
t=0x06;
Display(1);
sum=(sum*10)+1;
h++;
}
if(x== 0x02){
Display(2);
sum=(sum*10)+2;
h++;
}
if(x== 0x04){
Display(3);
sum=(sum*10)+3;
h++;
}
if(x== 0x08){
Display(4);
sum=(sum*10)+4;
h++;
}
if(x== 0x10){
Display(5);
sum=(sum*10)+5;
h++;
}
if(x== 0x20){
Display(6);
sum=(sum*10)+6;
h++;
}
if(x== 0x40){
Display(7);
sum=(sum*10)+7;
h++;
}
if(x== 0x80){
Display(8);
sum=(sum*10)+8;
h++;
}
}
return sum;
}
void setup() {
// put your setup code here, to run once:
dir();
}
void loop() {
// put your main code here, to run repeatedly:
volatile unsigned char rec=GetInput();
volatile unsigned char f=0;
f=Add(rec);
printf("%d",f);
t=0;
output(t);
for(i=0;i<100000;i++);
Display(f);
}