void display(long int number)//
{
uchar i,l,aa=0x80;
l=lenth(number);
for(i=0;i<l;i++)
{
stack=number/power(l-i-1);
number=number%power(l-i-1);
}
if(mode==0)
{
for(i=0;i<l;i++)
{
wela=1;
P0=aa;
wela=0;
dula=1;
P0=table[stack[l-i-1]];
dula=0;
P0=0xff;
aa=aa>>1;
delayms(10);
}
wela=1;
P0=0x80;
wela=0;
dula=1;
P0=0x7f;
dula=0;
P0=0xff;
}
else if(mode==1)
{
wela=1;
P0=0x80;
wela=0;
dula=1;
P0=0x40;
dula=0;
P0=0xff;
delayms(10);
}
else if(mode==2)
{
aa=0x01;
for(i=0;i<7;i++)
{
wela=1;
P0=aa;
wela=0;
aa=aa<<1;
dula=1;
P0=errorCode;
dula=0;
P0=0xff;
delayms(5);
}
}
}
//掃描函數(shù)(I/O)并返回按鍵
uchar keyscan()
{
uchar key=255,temp;
P3=0xfe;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delayms(10);
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0x7e:key=10;break;//"/"
case 0xbe:key=0;break;//"*"
case 0xde:key=18;break;//"-"
case 0xee:key=11;break;//"+"
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}
P3=0xfd;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delayms(10);
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xed:key=12;break;//"="
case 0xdd:key=3;break;//"CLR"
case 0xbd:key=2;break;
case 0x7d:key=1;break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}
P3=0xfb;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delayms(10);
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xeb:key=13;break;
case 0xdb:key=6;break;
case 0xbb:key=5;break;
case 0x7b:key=4;break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}
P3=0xf7;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delayms(10);
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xe7:key=14;break;
case 0xd7:key=9;break;
case 0xb7:key=8;break;
case 0x77:key=7;break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}
//此處加入獨立按鍵檢測代碼
if(key15==0)
{
delayms(10);
if(key15==0)
{
key=15;
while(!key15);
}
}
if(key16==0)
{
delayms(10);
if(key16==0)
{
key=16;
while(!key16);
}
}
if(key17==0)
{
delayms(10);
if(key17==0)
{
key=17;
while(!key17);
}
}
if(key19==0)
{
delayms(10);
if(key19==0)
{
key=19;
while(!key19);
}
}
return key;
} |