📄 chiller1.c
字号:
#include "reg952.h"
#include <string.h>
unsigned char ch,key,jsz ,h ,cg1,cg2,kg;
unsigned int Pu,L,lc,hc,gh,gl,bujs,bujk;
unsigned char y[0x06];
unsigned char rx[10] ,tx[10] ;
unsigned char bjbz ;
unsigned char idata kz[] = {0xF6,0xF7,0xF3,0xFB,0xF9,0xFD,0xFC,0xFE };
static unsigned int tep,tmp,js,b;
unsigned char bdata sign ,bz,bujin,qd,bzc,mlbz,nm;
void xs_shu(unsigned int s ,unsigned d) ;
unsigned int ad_pum()
{
unsigned char puml,pumh ;
unsigned int T,M;
unsigned char *p ,k ;
M = 0x00 ;
T = 0x00 ;
for(k=0x00;k<0x28;k++)
{
AD0INS = 0x04;
SCAN0 = 0x01 ;
AD0MODB = 0x10 ;
AD0CON = 0x45 ;
while((AD0CON & 0x08 )==0x00) ;
AD0CON = 0x00 ;
puml = AD0DAT2R ;
pumh = AD0DAT2L ;
p =&T ;
*p = pumh/0x40;
*(p+1)=puml;
M=T+M ;
}
M = M/0x28 ;
return M;
}
void sh_cl()
{
unsigned int x1 ,x2 ;
x1 = ad_pum();
x2 = 0x02F4 - x1 ;
xs_shu(x2,0x01) ;
if(x2<(tep -0x02))
{
P5 &= 0xFB;
P5 |= 0x08;
}
if(x2>=tep)
{
P5 &= 0xF7 ;
P5 |= 0x04 ;
}
else if(x2>(tep-0x02))
{
P5 ^=Bit3 ;
}
x1 = 0x00;
x2 = 0x00 ;
}
void send(char d[])
{
unsigned char k ;
k = 0x00 ;
while(d[k]!='\0')
{
S1BUF = d[k] ;
while((S1CON&0x02)==0x00);
S1CON = S1CON & 0xFD ;
k++;
}
}
void write_shu(unsigned char dat)
{
unsigned char k ,t ;
t = 0x08 ;
P1 &=~ Bit0 ;
P1 &=~ Bit1 ;
for(k =0 ;k<150;k++);
do
{
if((dat&0x80)==0x80)
{
P1 |= Bit1;
}
else
{
P1 &=~ Bit1 ;
}
dat<<=1 ;
P1|= Bit0 ;
for(k=0;k<0x06;k++);
P1 &=~ Bit0 ;
for(k=0;k<1;k++);
} while(--t!=0x00) ;
}
unsigned char read_shu()
{
unsigned char dat ,m ,k ;
dat =0x00 ;
m = 0x08 ;
P1 &=~ Bit0 ;
P1|= Bit1 ;
do
{
P1 |= Bit0 ;
for(k=0;k<5;k++);
dat<<=1 ;
if((P1 & Bit1)==0x02)
{
dat++ ;
}
P1 &=~ Bit0 ;
for(k=0;k<0x02;k++);
} while(--m!=0x00);
return dat ;
}
void xs_error(unsigned char m,h,l)
{
switch (l)
{
case 0x01 :
{
write_shu(0xC8);
write_shu(0x0C);
break ;
}
case 0x02:
{
write_shu(0x80);
write_shu(0x0E);
break ;
}
case 0x03 :
{
write_shu(0x80);
write_shu(0x0D);
break ;
}
case 0x04 :
{
write_shu(0xC8);
write_shu(0x01);
break ;
}
case 0x05 :
{
write_shu(0xC8);
write_shu(0x02);
break ;
}
}
write_shu(0x81);
write_shu(h);
write_shu(0x82);
write_shu(0x0A);
write_shu(0xCB);
write_shu(m);
}
void xs_shu(unsigned int s,unsigned int d )
{
unsigned char c1,c2,c3;
c1 = (s/0x64)&0x0F; ;
write_shu(0xCB);
write_shu(c1);
c2 = ((s%0x64 )/0x0A+0x80 )&0x8F;
write_shu(0xCA) ;
write_shu(c2) ;
c3 = (s%0x0A)&0x0F ;
write_shu(0xC9);
write_shu(c3);
switch (d)
{
case 0x01 :
{
write_shu(0xC8);
write_shu(0x0C);
break ;
}
case 0x02 :
{
write_shu(0x80);
write_shu(0x0E);
break ;
}
case 0x03 :
{
write_shu(0x80);
write_shu(0x0D);
break ;
}
case 0x04 :
{
write_shu(0x80);
write_shu(0x0C);
break ;
}
}
}
void flash(unsigned char dh ,dl,unsigned char a[0x06])
{
unsigned char x ;
FMCON = 0x00;
FMADRH = dh;
FMADRL = dl;
for(x=0x00;x<0x06;x++)
{
FMDATA =a[x] ;
}
FMCON = 0x68;
x = FMCON ;
if((x&0x0F)==0x00)
{
P0 &=~ Bit0 ;
}
else
{
P0 |= Bit0 ;;
}
}
unsigned char sbeng()
{
unsigned int d;
unsigned char y,*p ;
p =& d ;
*p = TH0 ;
*(p+1) = TL0 ;
if(d < 0x1E)
{
y = 0x03 ;
}
else
{
y = 0x04 ;
}
return y ;
}
unsigned char ysj()
{
unsigned int wet1,wet2 ;
unsigned char y;
wet1 = ad_pum();
xs_shu((0x02F4-wet1),0x01);
P5|=Bit2 ;
y =0x00 ;
do
{
P5 &=~ Bit3 ;
P5 &=~ Bit1 ;
js=0x0400 ;
TR1 =0x01 ;
while(sign==0x00);
sign = 0x00 ;
wet2 = ad_pum();
xs_shu((0x02F4-wet2),0x01) ;
if(wet2 >(wet1 + 0x01))
{
y= 0x04 ;
}
else
{
y++;
}
}while(y<0x03);
if(y==0x04)
{
P2 &=~ Bit0 ;
}
else
{
y =0x03;
xs_error(0x0E,0x00,0x02);
P5 |= Bit1 ;
P5 |= Bit3 ;
bjbz = 0x02 ;
}
js = 0x0064 ;
TR0 =0x01 ;
TR1 =0x01 ;
return y;
}
void xs_shan(unsigned int s ,unsigned char f )
{
unsigned char c1,c2,c3;
c1 = (s/0x64)&0x0F; ;
write_shu(0xCA);
write_shu(c1);
c2 = ((s%0x64 )/0x0A+0x80 )&0x8F;
write_shu(0xC9) ;
write_shu(c2) ;
c3 = (s%0x0A)&0x0F ;
write_shu(0xC8);
write_shu(c3);
if(f ==0x01)
{
write_shu(0x83) ;
write_shu(0x0C) ;
}
if(f==0x02)
{
write_shu(0x83);
write_shu(0x0D);
}
write_shu(0x88);
write_shu(0xF7);
}
void key_cl(unsigned char n)
{
switch (n)
{
case 0x03 :
{
if((qd==0x01)||(nm==0x04))
{
qd = 0x00;
nm = 0x00 ;
P5 |= Bit3 ;
P5 |= Bit2 ;
P5 |= Bit1 ;
P5 |= Bit0 ;
P0 |= Bit0 ;
P1 |= Bit7 ;
}
else
{
nm = 0x01 ;
P5 &=~ Bit1 ;//start pump ;
}
break ;
}
case 0x02 :
{
bzc = 0x01 ;
switch (jsz)
{
case 0x01 :
{
jsz = 0x02 ;
key = 0x01 ;
xs_shu(tmp,0x01);
write_shu(0x88);
write_shu(0xFE);
break ;
}
case 0x02 :
{
key = 0x00 ;
jsz = 0x03 ;
xs_shu(L,0x03);
break;
}
case 0x03 :
{
key = 0x00 ;
jsz = 0x04 ;
xs_shu(Pu ,0x02);
break ;
}
case 0x04 :
{
jsz = 0x05 ;
key=0x02 ;
xs_shan(gh ,0x01);
break ;
}
case 0x05 :
{
jsz=0x01 ;
key=0x03 ;
xs_shan(gl,0x02);
break ;
}
}
h = 0x00 ;
break;
}
case 0x01 :
{
switch (key)
{
case 0x01 :
{
tmp++ ;
xs_shu(tmp,0x01);
h= 0x00 ;
break ;
}
case 0x02 :
{
gh++ ;
xs_shan(gh,0x01);
h = 0x00 ;
break ;
}
case 0x03 :
{
gl++;
xs_shan(gl,0x02);
h = 0x00 ;
break ;
}
}
break;
}
case 0x00:
{
switch (key)
{
case 0x01 :
{
tmp--;
xs_shu(tmp,0x01);
h = 0x00 ;
break ;
}
case 0x02 :
{
gh--;
xs_shan(gh ,0x01 );
h = 0x00 ;
break ;
}
case 0x03 :
{
gl--;
xs_shan(gl,0x02);
h = 0x00 ;
break;
}
}
break ;
}
}
}
unsigned int ad_wen()
{
unsigned char puml,pumh ;
unsigned int N,R;
unsigned char *p ,k ;
N =0x00;
R= 0x00;
for(k=0x00;k<0x28;k++)
{
AD0INS = 0x01;
SCAN0 = 0x01 ;
AD0MODB = 0x10 ;
AD0CON = 0x45 ;
while((AD0CON & 0x08 )==0x00) ;
AD0CON = 0x00 ;
puml = AD0DAT0R ;
pumh = AD0DAT0L ;
p =&N ;
*p = pumh/0x40;
*(p+1)=puml;
R=N+R ;
}
R = R/0x28 ;
return R;
}
void fs_cl(unsigned int Y0)
{
tx[0] = (Y0/0x64) + 0x30 ;
tx[1] = ((Y0%0x64)/0x0A) + 0x30 ;
tx[2] = 0x2E;
tx[3] = (Y0%0x0A) + 0x30 ;
tx[4] = 0x0D ;
tx[5] = 0x0A ;
tx[6] = '\0' ;
send(tx);
}
void ml_cl()
{
unsigned char j1[4] = "1\r\n\0";
unsigned int y1,y2,y3,y4;
if(strcmp(rx,"SO1M\0")==0x00)
{
if(nm==0x00)
{
nm = 0x01 ;
cg1 = sbeng() ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -