📄 keyprocess.c
字号:
SysP[28].Int_N=0;
SysP[28].Min_N=0;
break;
}
if( keyv>=0 && keyv<=4)
{
Hb[3]=keyv;
wdm164(Hb);
}
}
}
}
void timer1_ISR(void)
{
if(TbSample!=13)
{
SysP[28].Int_N=SysP[28].Int_N+ICR1;
TCCR1B=0x00;
TCNT1=0;
TCCR1B=0xc6;
}
if(TbSample==4 )
TbSample=5;
AutPrintC=AutPrintC+1;
AutCompC=AutCompC+1;
Counter2=Counter2+1;
switch(TbSample)
{
case 1://measure box tempeture
{
TCCR3B=0x00;
SysP[45].Int_N=TCNT3;
if(SysP[45].Int_N>=2930)
{
TbSample=10;
MarkOk=1;
TCCR3B=0x00;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 2://jiaozheng
{
if( TCCR3B!=0x00)
Counter=Counter+1;
TCCR3B=0x00;
if(Counter>1)
SysP[16].Int_N=SysP[16].Int_N+ TCNT3;
if(Counter==11)
{
syst_parm[16]=SysP[16].Int_N;
syst_parm[16]=syst_parm[16]/10000;
SysP[16].Int_N=syst_parm[16];
SysP[16].Min_N=syst_parm[16]*10-SysP[16].Int_N*10;
Counter=0;
MFlage=1;
PORTE=(PORTE & 0xfb)|0x08;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 3:
{
if( TCCR3B!=0x00)
Counter=Counter+1;
TCCR3B=0x00;
if(Counter>1)
SysP[17].Int_N=SysP[17].Int_N+ TCNT3;
if(Counter==3)
{
syst_parm[17]=SysP[17].Int_N;
syst_parm[17]=syst_parm[17]/2000;
SysP[17].Int_N=syst_parm[17];
SysP[17].Min_N=syst_parm[17]*10-SysP[17].Int_N*10;
TbSample=4;
Counter=0;
TFlage=1;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 6://celiang
{
if( TCCR3B!=0x00)
Counter1=Counter1+1;
TCCR3B=0x00;
if(Counter1>1)
SysP[39].Int_N=SysP[39].Int_N+ TCNT3;
if(Counter1==11)
{
syst_parm[39]=SysP[39].Int_N;
SysP[39].Int_N=syst_parm[39]/10000;
SysP[39].Min_N=(syst_parm[39]*10-SysP[39].Int_N*10)*100;
TbSample=7;
Counter1=0;
PORTE=(PORTE & 0xfb)|0x08;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 7:
{
if( TCCR3B!=0x00)
Counter1=Counter1+1;
TCCR3B=0x00;
if(Counter1>1)
SysP[40].Int_N=SysP[40].Int_N+ TCNT3;
if(Counter1==3)
{
syst_parm[40]=SysP[40].Int_N;
syst_parm[40]=syst_parm[40]/2000;
syst_parm[43]=syst_parm[40];
SysP[40].Int_N=syst_parm[40];
SysP[40].Min_N=(syst_parm[40]*10-SysP[40].Int_N*10)*100;
SysP[43].Int_N=syst_parm[40];
SysP[43].Min_N=syst_parm[40]*10-SysP[40].Int_N*10;
TbSample=8;
Counter1=0;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 11://caisample M
{
if( TCCR3B!=0x00)
{
SysP[42].Int_N=TCNT3;
SysP[42].Int_N=TCNT3/1000;
SysP[42].Min_N=(TCNT3/100)-SysP[42].Int_N*10;
TbSample=10;
TCNT3=0;
//Counter1=Counter1+1;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 12://caiyang T
{
if( TCCR3B!=0x00 )
{
TCCR3B=0x00;
SysP[47].Int_N=TCNT3;
SysP[43].Int_N=TCNT3/1000;
SysP[43].Min_N=(TCNT3/100)-SysP[43].Int_N*10;
TbSample=10;
TCNT3=0;
//Counter1=Counter1+1;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 13://caisample V
{
if(Counter1==0)
{
SysP[48].Int_N=0;
Counter1=Counter1+1;
}
else
{
SysP[48].Int_N=SysP[48].Int_N+ICR1;
TCCR1B=0x00;
TCNT1=0;
TCCR1B=0xc6;
if(Counter1==10)
{
TbSample=10;
Counter1=0;
}
else
{
Counter1=Counter1+1;
}
}
break;
}
case 14:
{
if(TCCR3B!=0x00)
{
TCCR3B=0x00;
SysP[47].Int_N=TCNT3;
SysP[45].Int_N=TCNT3/1000;
SysP[45].Min_N=(TCNT3/100)-SysP[45].Int_N*10;
TbSample=10;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 15:
{
if( TCCR3B!=0x00)
Counter1=Counter1+1;
TCCR3B=0x00;
if(Counter1>1)
{
SysP[39].Int_N=SysP[39].Int_N+ TCNT3;
}
if(Counter1==2)
{
syst_parm[39]=SysP[39].Int_N;
syst_parm[39]=syst_parm[39]/1000;
SysP[39].Int_N=syst_parm[39];
SysP[39].Min_N=(syst_parm[39]*10-SysP[39].Int_N*10)*100;
TbSample=16;
Counter1=0;
//PORTE=PORTE &0xef;
//PORTE=(PORTE & 0xfb)|0x08;
PORTE=PORTE|0x98;
PORTE=PORTE & 0xfb;
TimeBuffer[0]=PORTE;
TCCR3B=0x00;
//PORTE=PORTE|0x94;
//PORTE=PORTE & 0xf7;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
case 16:
{
if( TCCR3B!=0x00)
Counter1=Counter1+1;
TCCR3B=0x00;
if(Counter1>1)
SysP[40].Int_N=SysP[40].Int_N+ TCNT3;
if(Counter1==3)
{
syst_parm[40]=SysP[40].Int_N;
syst_parm[40]=syst_parm[40]/2000;
syst_parm[43]=syst_parm[40];
SysP[40].Int_N=syst_parm[40];
SysP[40].Min_N=(syst_parm[40]*10-SysP[40].Int_N*10)*100;
SysP[43].Int_N=syst_parm[40];
SysP[43].Min_N=syst_parm[40]*10-SysP[40].Int_N*10;
TbSample=10;
Counter1=0;
}
else
{
TCNT3=0;
TCCR3B=0x07;
}
break;
}
default:
break;
}
/* k=ReadTime( TimeBuffer);
syst_parm[24]=((TimeBuffer[3]& 0xf0)>>4)*10+(TimeBuffer[3]& 0x0f);
syst_parm[23]=((TimeBuffer[4]& 0xf0)>>4)*10+(TimeBuffer[4]& 0x0f);
syst_parm[22]=(((TimeBuffer[5]& 0x3f)& 0xf0)>>4)*10+((TimeBuffer[5]& 0x3f)& 0x0f);
syst_parm[21]=(((TimeBuffer[6]& 0x1f)&0xf0)>>4)*10+((TimeBuffer[6]& 0x1f)&0x0f);
syst_parm[20]=syst_parm[20]+((TimeBuffer[5]& 0xc0)>>6);
SysP[24].Int_N=syst_parm[24];
SysP[24].Min_N=0;
SysP[23].Int_N=syst_parm[23];
SysP[23].Min_N=0;
SysP[22].Int_N=syst_parm[22];
SysP[22].Min_N=0;
SysP[21].Int_N=syst_parm[21];
SysP[21].Min_N=0;
SysP[20].Int_N=syst_parm[20];
SysP[20].Min_N=0;*/
}
void IntSysP(void)
{
unsigned char i,j;
unsigned char Par[6];
for(i=0;i<50;i++)
{
EEPROMReadBytes(i*6,Par,6);
EEPROMWriteBytes(i*6,Par,6);
if(Par[5]!=0xff)
{
for(j=0;j<(NumBit[i+1].PartNumB+NumBit[i+1].IntNumB);j++)
{
if(j<NumBit[i+1].IntNumB)
SysP[i+1].Int_N=SysP[i+1].Int_N*10+Par[5-j]&0x7f;
else
SysP[i+1].Min_N=SysP[i+1].Min_N*10+Par[5-j]&0x7f;
}
}
else
{
SysP[i+1].Int_N=0;
SysP[i+1].Min_N=0;
}
}
}
void biaoding35(void)
{
uchar i,keyv;
uchar Te[6]={14,14,14,0,0,11};
float ReT1,ReT2,M1;
//PORTE=PORTE|0x80;
PORTE=(PORTE|0x94)& 0xf7;
//PORTE=(PORTE|0x94)& 0xf7;
TbSample=15;
PORTB=(PORTB | 0x0f)& 0xfb;
while(TbSample!=10);
// SysP[39].Int_N=SysP[42].Int_N;
// SysP[39].Min_N=SysP[42].Min_N*100;
TbSample=10;
/* PORTE=PORTE|0x98;
PORTE=PORTE & 0xfb;
Counter1=0;
while(Counter1<=4)
{
TbSample=12;
}
TbSample=10;
SysP[40].Int_N=SysP[43].Int_N;
SysP[40].Min_N=SysP[43].Min_N*100;*/
PORTB=PORTB | 0x0f;
syst_parm[35]=Comunpter();
SysP[35].Int_N=fabs(syst_parm[35]);
SysP[35].Min_N=(fabs(syst_parm[35]))*10-SysP[35].Int_N*10;
if(syst_parm[35]<0)
SysP[35].PNC=1;
else
SysP[35].PNC=0;
FloatToUchar(35,Te);
Te[0]=14;//f
Te[1]=14;
Te[2]=14;
Te[2]=Te[3];
Te[3]=Te[5];
Te[5]=Te[2];
Te[2]=14;
wdm164(Te);
while(1)
{
if(keypressed())
{
keyv=keyscan();
if(keyv==14)
break;
}
}
}
void biaoding36(void)
{
uchar i,keyv;
uchar Te[6]={14,14,14,0,0,11};
float ReT1,ReT2,M1;
//PORTB=(PORTB | 0x0f)& 0xfb;
// PORTE=(PORTE|0x94)& 0xf7;
//PORTE=(PORTE|0x94)& 0xf7;
PORTB=(PORTB | 0x0f)& 0xfb;
Counter1=0;
PORTE=(PORTE|0x94)& 0xf7;
while(Counter1<=7)
{
TbSample=11;
}
SysP[39].Int_N=SysP[42].Int_N;
SysP[39].Min_N=SysP[42].Min_N*100;
TbSample=10;
PORTE=PORTE|0x98;
PORTE=PORTE & 0xfb;
Counter1=0;
while(Counter1<=4)
{
TbSample=12;
}
TbSample=10;
SysP[40].Int_N=SysP[43].Int_N;
SysP[40].Min_N=SysP[43].Min_N*100;
PORTB=PORTB | 0x0f;
syst_parm[36]=Comunpter();
SysP[36].Int_N=fabs(syst_parm[36]);
SysP[36].Min_N=fabs(syst_parm[36])*10-(SysP[36].Int_N)*10;
if(syst_parm[36]<0)
SysP[36].PNC=1;
else
SysP[36].PNC=0;
FloatToUchar(36,Te);
Te[0]=14;//f
Te[1]=14;
Te[2]=14;
Te[2]=Te[3];
Te[3]=Te[5];
Te[5]=Te[2];
Te[2]=14;
wdm164(Te);
while(1)
{
if(keypressed())
{
keyv=keyscan();
if(keyv==14)
break;
}
}
}
void biaoding37(void)
{
uchar i,keyv;
uchar Te[6]={14,14,14,0,0,11};
float ReT1,ReT2,M1;
FloatToUchar(37,Te);
Te[0]=14;
Te[1]=14;
Te[2]=14;
Te[2]=Te[5];
Te[5]=Te[3];
Te[3]=Te[2];
Te[2]=14;
wdm164(Te);
i=3;
while(1)
{
if(keypressed())
{
keyv=keyscan();
if( keyv>=0 && keyv<=9 )
{
Te[i+2]=Te[i+1]& 0x7f;
Te[i+1]=Te[i]| 0x80;
Te[i]=keyv;
wdm164(Te);
}
if(keyv==14)
{
UcharToFloat(Te,37);
break;
}
}
}
}
void biaoding38(void)
{
uchar i,keyv;
uchar Te[6]={14,14,14,0,0,11};
float ReT1,ReT2,M1;
FloatToUchar(38,Te);
Te[0]=14;
Te[1]=14;
Te[2]=14;
Te[2]=Te[5];
Te[5]=Te[3];
Te[3]=Te[2];
Te[2]=14;
wdm164(Te);
i=3;
while(1)
{
if(keypressed())
{
keyv=keyscan();
if( keyv>=0 && keyv<=9 )
{
Te[i+2]=Te[i+1]& 0x7f;
Te[i+1]=Te[i]|0x80;
Te[i]=keyv;
wdm164(Te);
}
if(keyv==14)
{
UcharToFloat(Te,38);
break;
}
}
}
}
void biaoding1(void)
{
uchar i,keyv;
uchar Te[6]={14,14,14,0,0,11};
float ReT1,ReT2,M1;
syst_parm[1]=syst_parm[1]*(syst_parm[37]-syst_parm[38] )/( syst_parm[35]-syst_parm[36]);
if(syst_parm[1]<0)
{
SysP[1].PNC=1;
SysP[1].Int_N=0-syst_parm[1];
SysP[1].Min_N=((0-syst_parm[1])*10-(SysP[1].Int_N*10))*10;
}
else
{
SysP[1].PNC=0;
SysP[1].Int_N=syst_parm[1];
SysP[1].Min_N=((syst_parm[1]*10)-(SysP[1].Int_N*10))*10;
}
FloatToUchar(1,Te);
Te[0]=14;
Te[1]=14;
Te[2]=14;
Te[2]=Te[5];
Te[5]=Te[3];
Te[3]=Te[2];
Te[2]=14;
wdm164(Te);
while(1)
{
if(keypressed())
{
keyv=keyscan();
if(keyv==14)
break;
}
}
SysP[1].Int_N=fabs(syst_parm[1]);
SysP[1].Min_N=(fabs(syst_parm[1])-SysP[1].Int_N)*100;
if(syst_parm[1]<0)
SysP[1].PNC=1;
else
SysP[1].PNC=0;
SysPTosyst();
ReT1=syst_parm[1]*(syst_parm[39]-syst_parm[16])+syst_parm[2];
ReT2=syst_parm[5]*( syst_parm[40]-syst_parm[17])+(syst_parm[6]-syst_parm[7]);
M1=ReT1+syst_parm[9]*(syst_parm[8]-ReT2)*ReT2/10;
M1=M1/syst_parm[12];
syst_parm[2]=syst_parm[2]+(syst_parm[38]-M1);
//SysP[2].Int_N=fabs(syst_parm[2]);
//SysP[2].Min_N=(fabs(syst_parm[2]))*10-(SysP[2].Int_N*10);
if(syst_parm[2]<0)
{
SysP[2].PNC=1;
SysP[2].Int_N=0-syst_parm[2];
SysP[2].Min_N=(0-syst_parm[2])*10-(SysP[2].Int_N*10);
}
else
{
SysP[2].PNC=0;
SysP[2].Int_N=syst_parm[2];
SysP[2].Min_N=(syst_parm[2]*10)-(SysP[2].Int_N*10);
}
FloatToUchar(2,Te);
Te[0]=14;
Te[1]=14;
Te[2]=14;
Te[2]=Te[5];
Te[5]=Te[3];
Te[3]=Te[2];
Te[2]=14;
wdm164(Te);
while(1)
{
if(keypressed())
{
keyv=keyscan();
if(keyv==14)
break;
}
}
}
void biaoding3(void)
{
uchar i,keyv;
uchar Te[6]={14,14,14,0,0,11};
float ReT1,ReT2,M1;
syst_parm[3]=syst_parm[3]*(syst_parm[37]-syst_parm[38] )/( syst_parm[35]-syst_parm[36]);
SysP[3].Int_N=fabs(syst_parm[3]);
SysP[3].Min_N=(fabs(syst_parm[3])-SysP[3].Int_N)*100;
if(syst_parm[3]<0)
SysP[1].PNC=1;
else
SysP[1].PNC=0;
FloatToUchar(3,Te);
Te[0]=14;//f
Te[1]=14;
Te[2]=14;
Te[2]=Te[5];
Te[5]=Te[3];
Te[3]=Te[2];
Te[2]=14;
wdm164(Te);
while(1)
{
if(keypressed())
{
keyv=keyscan();
if(keyv==14)
break;
}
}
while(1)
{
if(keypressed())
{
keyv=keyscan();
if(keyv==14)
break;
}
}
SysPTosyst();
ReT1=syst_parm[1]*(syst_parm[39]-syst_parm[16])+syst_parm[2];
ReT2=syst_parm[5]*( syst_parm[40]-syst_parm[17])+(syst_parm[6]-syst_parm[7]);
M1=ReT1+syst_parm[9]*(syst_parm[8]-ReT2)*ReT2/10;
M1=M1/syst_parm[12];
syst_parm[4]=syst_parm[4]+(syst_parm[37]-M1);
SysP[4].Int_N=fabs(syst_parm[4]);
SysP[4].Min_N=(fabs(syst_parm[4])-SysP[4].Int_N)*10;
if(syst_parm[4]<0)
{
// SysP[4].Int_N=0-syst_parm[4];
// SysP[4].Min_N=( 0-syst_parm[4])*10-SysP[4].Int_N*10;
SysP[4].PNC=1;
}
else
{
// SysP[4].Int_N=syst_parm[4];
//SysP[4].Min_N= syst_parm[4]*10-SysP[4].Int_N*10;
SysP[4].PNC=0;
}
FloatToUchar(4,Te);
Te[0]=14;//f
Te[1]=14;
Te[2]=14;
Te[2]=Te[5];
Te[5]=Te[3];
Te[3]=Te[2];
Te[2]=14;
wdm164(Te);
while(1)
{
if(keypressed())
{
keyv=keyscan();
if(keyv==14)
break;
}
}
}
void SysPTosyst(void)
{
unsigned char i;
for(i=1;i<50;i++)
{
if(SysP[i].PNC<0)
syst_parm[i]=0-(SysP[i].Int_N+SysP[i].Min_N*pow(0.1,NumBit[i].PartNumB));
else
syst_parm[i]=SysP[i].Int_N+SysP[i].Min_N*pow(0.1,NumBit[i].PartNumB);
}
}
void jiaozheng1(void)
{
uchar jz[6]={0x08,0x08,0x08,0x08,0x08,0x08};
uchar ml,h,PO;
wdm164(jz);
Counter1=0;
Counter2=0;
Counter=0;
PORTE=(PORTE & 0x7f)&0xef;
PO=PORTE;
PORTB=PORTB | 0x0f;
TbSample=0;
while(1)
{
if(TbSample==0)
{
PORTE=(PORTE & 0xf7)|0x04;
TbSample=2;
}
if(MFlage==1)
{
FloatToUchar(16,jz);
jz[0]=14;
ml=jz[1];
jz[1]=jz[5];
jz[5]=ml;
ml=jz[2];
jz[2]=jz[4];
jz[4]=ml;
PORTB=(PORTB | 0x0f)& 0xf7;
wdm164(jz);
TbSample=3;
Counter=0;
MFlage=0;
}
if(TFlage==1)
{
FloatToUchar(17,jz);
jz[0]=14;
ml=jz[1];
jz[1]=jz[5];
jz[5]=ml;
ml=jz[2];
jz[2]=jz[4];
jz[4]=ml;
PORTB=(PORTB | 0x0f)& 0xfe;
wdm164(jz);
TFlage=0;
}
if(TbSample==5)
{
TbSample=10;
break;
}
}
while(1)
{
if(keypressed())
{
ml=keyscan();
if(ml==14)
{
PORTB=PORTB | 0x0f;
break;
}
}
}
}
void Clear(void)
{
uchar ShowBuff[6],keyv;
DDRB=0xff;
PORTB=PORTB | 0x0f ;
for(keyv=0;keyv<6;keyv++)
ShowBuff[keyv]=14;
wdm164(ShowBuff);
}
void celiang(void)
{
}
void ShowNSta(void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -