voidSub_Card(uchar*p)
{uchari,B_Flag;
uchartemp[14];
i=Read_Card(temp);
if((i==3)&&(!(temp[9]{if(temp[13]elsetemp[13]=temp[13]-p[4];
//以上处理小数点右边的数字;
if(B_Flag==1)
{if(temp[12]==0){temp[12]=9;B_Flag=0;}
elsetemp[12]=temp[12]-1;}
//以上对存在借位情况时对小数点左边第一位进行预处理;
if(temp[12]elsetemp[12]=temp[12]-p[3];
//以上处理小数点小数点左边第一位数字;
if(B_Flag==1)
{if(temp[11]==0){temp[11]=9;B_Flag=0;}
elsetemp[11]=temp[11]-1;}
//以上对存在借位情况时对小数点左边第二位进行预处理;
if(temp[11]elsetemp[11]=temp[11]-p[2];
//以上处理小数点小数点左边第二位数字;
if(B_Flag==1)
{if(temp[10]==0){temp[10]=9;B_Flag=0;}
elsetemp[10]=temp[10]-1;}
//以上对存在借位情况时对小数点左边第三位进行预处理;
if(temp[10]elsetemp[10]=temp[10]-p[1];
//以上处理小数点小数点左边第三位数字;
if(B_Flag==1)
{if(temp[9]==0){temp[9]=0;B_Flag=0;}
elsetemp[9]=temp[9]-1;}
//以上对存在借位情况时对小数点左边第二位进行预处理;
temp[9]=temp[9]-p[0];
//以上处理小数点小数点左边第二位数字;
WriteMainMemory(41,temp[9]);
WriteMainMemory(42,temp[10]);
WriteMainMemory(43,temp[11]);
WriteMainMemory(44,temp[12]);
WriteMainMemory(45,temp[13]);
}
}
//*****************数码管显示函数********************//
voidDisplay(uchar*p)
{ucharsel,i;
sel=0x01;
for(i=0;i《6;i++)
{PORTA=table[p[i]];
PORTB=sel;
DelayMs(2);
sel=sel《《1;}
}
//****************键盘扫描函数***********************//
ucharKey_SCAN(void)
{ucharsccode,recode;
PORTC=0xf0;
if((PINC&0xf0)!=0xf0)
{DelayMs(10);
if((PINC&0xf0)!=0xf0)
{sccode=0xfe;
while(sccode&0x10!=0x00)
{PORTC=sccode;//对第一行键盘测试
if((PINC&0xf0)!=0xf0)
{recode=(PINC&0xf0)|0x0f;
return((~sccode)+(~recode));}
else
sccode=(sccode《《1)|0x01;
}
}
}
return(0x00);
}
//******************按键处理函数*******************//
voidKey_Process(uchar*p)
{uchartemp,value;
temp=Key_Scan();
switch(temp)
{case0x11:value=9;Num_Flag=1;break;
case0x21:value=8;Num_Flag=1;break;
case0x41:value=7;Num_Flag=1;break;
case0x12:value=6;Num_Flag=1;break;