#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit clock=P1^3;
sbit d_in=P1^1;
sbit d_out=P1^0;
sbit _cs=P1^2;
sbit led1=P1^6;
sbit led2=P1^7;
sbit K1=P1^4;
sbit K2=P1^5;
sbit K3=P3^2;
sbit K4=P3^3;
sbit K5=P3^4;
uchar a1,b1,c1,d1;
float sum,sum1;
double
double
int
uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar wei[]={0xf7,0xfb,0xfd,0xfe};
sum_final1;
sum_final;
xxz,sxz;
void delay(unsigned char b)
{
//50us
unsigned char a;
for(;b>0;b--)
for(a=22;a>0;a--);
}
void display(uchar a,uchar b,uchar c,uchar d)
{
P0=duan[a]|0x80;
P2=wei[0];
delay(5);
P2=0xff;
P0=duan[b];
P2=wei[1];
delay(5);
P2=0xff;
P0=duan[c];
P2=wei[2];
delay(5);
P2=0xff;
P0=duan[d];
P2=wei[3];
delay(5);
P2=0xff;
}
uint read(uchar port)
{
i,al=0,ah=0;
uchar
unsigned long ad;
clock=0;
_cs=0;
port<<=4;
for(i=0;i<4;i++)
{
d_in=port&0x80;
clock=1;
clock=0;
port<<=1;
}
d_in=0;
for(i=0;i<8;i++)
{
clock=1;
clock=0;
}
_cs=1;
delay(5);
_cs=0;
for(i=0;i<4;i++)
{
clock=1;
ah<<=1;
if(d_out) ah|=0x01;
clock=0;
}
for(i=0;i<8;i++)
{
clock=1;
al<<=1;
if(d_out) al|=0x01;
clock=0;
}
_cs=1;
ad=(uint)ah;
ad<<=8;
ad|=al;
return(ad);
}
{
void main()
uchar j;
sum=0;sum1=0;
sum_final=0;
sum_final1=0;
xxz=2000;
sxz=4000;
while(1)
{
loop:
for(j=0;j<128;j++)
{
sum1+=read(1);
display(a1,b1,c1,d1);
}
sum=sum1/128;
sum1=0;
sum_final1=(sum/4095)*5;
sum_final=sum_final1*1000;
a1=(int)sum_final/1000;
b1=(int)sum_final%1000/100;
c1=(int)sum_final%1000%100/10;
d1=(int)sum_final%10;
display(a1,b1,c1,d1);
if(sxzsum_final)
led1=1,led2=0;
else
led1=0,led2=0;
if(K1==0)
{ a1=(int)sxz/1000;
b1=(int)sxz%1000/100;
c1=(int)sxz%1000%100/10;
d1=(int)sxz%10;
display(a1,b1,c1,d1);
if(K3==0)
{sxz++;
a1=(int)sxz/1000;
b1=(int)sxz%1000/100;
c1=(int)sxz%1000%100/10;
d1=(int)sxz%10;
display(a1,b1,c1,d1);
}
if(K4==0)
{sxz--;
a1=(int)sxz/1000;
b1=(int)sxz%1000/100;
c1=(int)sxz%1000%100/10;
d1=(int)sxz%10;
display(a1,b1,c1,d1);
}
if(K5!=0)K1=0;
else K1=1;
}
if(K2==0)
{ a1=(int)xxz/1000;
b1=(int)xxz%1000/100;
c1=(int)xxz%1000%100/10;
d1=(int)xxz%10;
display(a1,b1,c1,d1);
if(K3==0)
{xxz++;
a1=(int)xxz/1000;
b1=(int)xxz%1000/100;
c1=(int)xxz%1000%100/10;
d1=(int)xxz%10;
display(a1,b1,c1,d1);
}
if(K4==0)
{xxz--;
a1=(int)xxz/1000;
b1=(int)xxz%1000/100;
c1=(int)xxz%1000%100/10;
d1=(int)xxz%10;
display(a1,b1,c1,d1);
}
if(K5!=0)K2=0;
K2=1 ;
else
}
}
}