void read_eeprom() { PH_H = byte_read(0x2000); PH_L = byte_read(0x2001); a_a = byte_read(0x2058); } void init_eeprom() { read_eeprom() if(a_a != 1||k2==0||k3==0)PH_H=90; PH_L=40; a_a = 1; write_eeprom(); } } void dispaly()// {
if(flag==0) { lcd1602_write(0,0x80); lcd1602_writebyte("PH:"); lcd1602_write(1,PH/1000 + 0x30); lcd1602_write(1,PH%1000/100 + 0x30); lcd1602_write(1,'.'); lcd1602_write(1,PH%100/10+ 0x30); lcd1602_write(1,PH%10 + 0x30); lcd1602_writebyte(" ");
if(flagU==1) { lcd1602_writebyte("U:"); lcd1602_write(1,Vdisbuff[0]); lcd1602_write(1,Vdisbuff[1]); lcd1602_write(1,Vdisbuff[2]); lcd1602_writebyte("V"); } else lcd1602_writebyte(" ");
lcd1602_write(0,0xC0); lcd1602_writebyte("Temp:"); lcd1602_write(1,temp/1000 + 0x30); lcd1602_write(1,temp%1000/100 + 0x30); lcd1602_write(1,temp%100/10 + 0x30); lcd1602_write(1,'.'); lcd1602_write(1,temp%10 + 0x30); lcd1602_write(1,0xdf); lcd1602_writebyte("C "); } if(flag>0) { lcd1602_write(0,0x80); lcd1602_writebyte("PH_H:"); lcd1602_write(1,PH_H/100 + 0x30); lcd1602_write(1,PH_H%100/10+ 0x30); lcd1602_write(1,'.'); lcd1602_write(1,PH_H%10 + 0x30); lcd1602_writebyte(" ");
if(flag==1) { lcd1602_write(0,0x80+14); lcd1602_writebyte("<<"); }
lcd1602_write(0,0xc0); lcd1602_writebyte("PH_L:"); lcd1602_write(1,PH_L/100 + 0x30); lcd1602_write(1,PH_L%100/10+ 0x30); lcd1602_write(1,'.'); lcd1602_write(1,PH_L%10 + 0x30); lcd1602_writebyte(" ");
if(flag==2) { lcd1602_write(0,0xc0+14); lcd1602_writebyte("<<"); } } }
void alarm() { altt++; if(altt>50) { altt=0; if(PHV>PH_H){rled=~rled; gled=1; beep=~beep;} else if(PHV<PH_L){rled=1; gled=~gled; beep=~beep;} else {rled=1; gled=1; beep=1;} }
}
void cekey() {
if(k1==0) { delay(10); if(k1==0) { flag++; if(flag>2) flag=0; } while(!k1); } if(k2==0&&flag>0) { delay(10); if(k2==0) { altk=0; switch(flag) { case 1: PH_H++; if(PH_H>140) PH_H=140; break; case 2: if(PH_H>PH_L) PH_L++; break; } write_eeprom(); } while(!k2); // { // dispaly(); // altk++; // if(altk>30) // { // altk=305; // switch(flag) // { // case 1: PH_H=PH_H+10; PH_H=140; break; // case 2: if(PH_H>PH_L) PH_L=PH_L+10; break; // } // write_eeprom(); // write_eeprom(); // } // delay(100); // dispaly(); // } }
if(k3==0&&flag>0) { delay(10); if(k3==0) { altk=0; switch(flag) { case 1: if(PH_H>PH_L) PH_H--; break; case 2: if(PH_L>0) PH_L--; break; } write_eeprom(); } while(!k3); // { // dispaly(); // altk++; // if(altk>30) // { // altk=305; // switch(flag) // { // case 1: if(PH_H>PH_L) PH_H=PH_H-10; break; // case 2: if(PH_L>0) PH_L=PH_L-10; break; // } // write_eeprom(); // } // delay(100); // dispaly(); // // } }
if(k3==0&&flag==0) { delay(10); if(k3==0) { flagU=~flagU; } while(!k3); }
}
void TU_Collection() {
ad_red=ADC0832(1,0) adGet=adGet+ad_red; numt++; if(numt>=100) { numt=0; Value=adGet/100; adv=Value * 500.0/ 256; PH_V =Value * 5.0 / 256; // PH_Value=-5.887*PH_V+21.677; PH_Value=-5.9647*PH_V+22.255; if(PH_Value<=0){PH_Value=0;} if(PH_Value>=14){PH_Value=14;} temp=check_wendu();
disbuff[0]=(int)(PH_Value*100)/1000; disbuff[1]=(int)(PH_Value*100)%1000/100; disbuff[2]=(int)(PH_Value*100)%100/10; disbuff[3]=(int)(PH_Value*100)%10; PH=disbuff[0]*1000+disbuff[1]*100+disbuff[2]*10+disbuff[3]; PHV=disbuff[0]*100+disbuff[1]*10+disbuff[2]; Vdisbuff[0]=(int)(PH_V*100)/100+'0'; Vdisbuff[1]=(int)(PH_V*100)%100/10+'0'; Vdisbuff[2]=(int)(PH_V*100)%10+'0'; adGet=0;
|