- #include <REGX52.H>
- #include <ADC0832.H>
- #include <LCD1602.H>
- #include <eeprom52.H>
- uchar i=0;
- uint dat;
- uint dat1=0;
- uint dat2=0;
- uint dat_value=0;
- uint DJ_dat=0,ms=0,ms_1=0;
- uchar loop=0;
- sbit key_1=P3^2;
- sbit key_2=P3^3;
- sbit key_3=P3^4;
- bit key_1_flag=0;
- bit key_2_flag=0;
- bit key_3_flag=0;
- uint Value=1000;
- uint water_h=0;
- uint water_l=0;
- uchar state=0;
- bit star_off=1,zheng_fan=1,s0=0,ir_on=0;
- uchar zz[]= //正转数据
- {
- 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09
- };
- uchar fz[]= //反转数据
- {
- 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
- };
- void display()
- {
- LCD1602_write(0,0x80);
- LCD1602_writebyte("Water :");
- if(dat>99) LCD1602_write(1,0x30+dat/100%10);
- else LCD1602_write(1,' ');
- if(dat>9) LCD1602_write(1,0x30+dat/10%10);
- else LCD1602_write(1,' ');
- LCD1602_write(1,0x30+dat%10);
- LCD1602_writebyte("% ");
- dat_value=dat;
- LCD1602_write(0,0xC0);
- LCD1602_writebyte("H:");
- if(state==1&&s0) LCD1602_writebyte(" ");
- else
- {
- if(water_h>99) LCD1602_write(1,0x30+water_h/100%10);
- else LCD1602_write(1,' ');
- if(water_h>9) LCD1602_write(1,0x30+water_h/10%10);
- else LCD1602_write(1,' ');
- LCD1602_write(1,0x30+water_h%10);
- }
- LCD1602_writebyte("% ");
- LCD1602_writebyte("L:");
- if(state==2&&s0) LCD1602_writebyte(" ");
- else
- {
- if(water_l>99) LCD1602_write(1,0x30+water_l/100%10);
- else LCD1602_write(1,' ');
- if(water_l>9) LCD1602_write(1,0x30+water_l/10%10);
- else LCD1602_write(1,' ');
- LCD1602_write(1,0x30+water_l%10);
- }
- LCD1602_writebyte("%");
- }
- void key_dispose()
- {
- if(key_1==0)
- {
- LCD1602_delay(20);
- if(key_1_flag)
- {
- key_1_flag=0;
- state=(state+1)%3;
- }
- }
- else key_1_flag=1;
- if(key_2==0)
- {
- LCD1602_delay(20);
- if(key_2_flag)
- {
- key_2_flag=0;
- if(state==1)
- {
- if(water_h<100) water_h++;
- SectorErase(0x2000);
- byte_write(0x2000,water_h);
- }
- if(state==2)
- {
- if(water_l<water_h-1) water_l++;
- SectorErase(0x2200);
- byte_write(0x2200,water_l);
- }
- }
- }
- else key_2_flag=1;
- if(key_3==0)
- {
- LCD1602_delay(20);
- if(key_3_flag)
- {
- key_3_flag=0;
- if(state==1)
- {
- if(water_h>water_l+1) water_h--;
- SectorErase(0x2000);
- byte_write(0x2000,water_h);
- }
- if(state==2)
- {
- if(water_l>0) water_l--;
- SectorErase(0x2200);
- byte_write(0x2200,water_l);
- }
-
- }
- }
- else key_3_flag=1;
- }
- ... ...
复制代码 |