本帖最后由 一袋天骄 于 2018-7-23 10:58 编辑
- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- #include "4.h"
- uchar code table[] = " 测试 ";
- uchar code table1[]= " 实时数据查看 ";
- uchar code table2[]= " 上下限设置 ";
- uchar code table3[]= "光照: ";
- uchar code table4[]= "风速: ";
- uchar code table5[]= "风向: ";
- uchar code table6[]= "温度: ";
- uchar code table7[]= "湿度: ";
- uchar code table8[]= "土温: ";
- uchar code table9[]= "土湿: ";
- uchar code table10[]="时: ";
- uchar code table11[]="天: ";
- uchar code table12[]="月: ";
- uchar code table13[]="年: ";
- uchar code table14[]="下限: ";
- uchar code table15[]="上限: ";
- uchar code table16[]=" 请输入密码: ";
- uchar code table17[]=" 密码错误 ";
- uchar code table18[]=" 请重新输入 ";
- uchar code table19[]=" 降雨量 ";
- uchar code table20[]=" 设置成功 ";
- uchar fanye,fanye2,guangbiao;
- uchar b,c,d,e,f,g;
- uchar yi,er,san,si;
- uchar ge,shi,bai,qian,wan;
- uint guang_shang,guang_xia,feng_shang,wendu_shang,wendu_xia,shidu_shang,shidu_xia,tuwen_shang,tuwen_xia,tushi_shang,tushi_xia,yu_shang;
- uint guang,fengsu,fengxiang,wendu,wendu1,shidu,tuwen,tuwen1,tushi,yu_shi,yu_tian;
- long yu_yue,yu_nian;
- //sbit LCD_CS=P0^7; //RS
- sbit LCD_SID=P0^6; //RW
- sbit LCD_SCLK=P0^5; //E
- sbit key1=P1^1; //确认
- sbit key2=P1^2; //按键减一
- sbit key3=P1^3; //按键加一
- sbit key4=P1^4; //返回
- sbit key5=P1^5;
- void delay_ms(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void sendbyte(unsigned char bbyte) //发送一个字节
- {
- unsigned char i;
- for(i=0;i<8;i++)
- {
- LCD_SID=bbyte&0x80; //取出最高位
- LCD_SCLK=1;
- LCD_SCLK=0;
- bbyte<<=1; //左移
- }
- }
- void write(bit start, unsigned char ddata) //写指令或数据
- {
- unsigned char start_data,Hdata,Ldata;
- if(start==0)
- start_data=0xf8; //写指令
- else
- start_data=0xfa; //写数据
-
- Hdata=ddata&0xf0; //取高四位
- Ldata=(ddata<<4)&0xf0; //取低四位
- sendbyte(start_data); //发送起始信号
- delay_ms(1); //延时
- sendbyte(Hdata); //发送高四位
- delay_ms(1);
- sendbyte(Ldata); //发送低四位
- delay_ms(1);
- }
- //***********一行显示8个汉字***********
- //***************汉字显示***************
- //***X为行Y为列,K为字的个数,*P为数组*
- //*************************************
- void chinese(uchar x,uchar y,uchar k,uchar *p)
- {
- uchar hang,out,i;
- y=y-1;
- switch(x)
- {
- case 1:hang=0x80;break;
- case 2:hang=0x90;break;
- case 3:hang=0x88;break;
- case 4:hang=0x98;break;
- }
- out=hang+y;
- write(0,out);
- for(i=0;i<k*2;i++) {
- write(1,*p);
- p++;
- }
- //write(1,p);
- }
- //**********一行显示16个字母***********
- //***********英文数字显示***************
- //***X为行Y为列,K为字的个数,*P为数组*
- //************************************
- void english(uchar x,uchar y,uchar k,uchar *p)
- {
- uchar hang,out,i;
- y=y-1;
-
- switch(x)
- {
- case 1:hang=0x80;break;
- case 2:hang=0x90;break;
- case 3:hang=0x88;break;
- case 4:hang=0x98;break;
- }
- out=hang+y;
- write(0,out);
- for(i=0;i<k;i++) {
- write(1,*p);
- p++;
- }
- }
- void lcd_init()
- {
- write(0,0x30); //8位介面,基本指令集
- write(0,0x0c); //显示打开,光标关,光标位置关
- write(0,0x01); //清屏,将DDRAM地址计数器归零
- delay_ms(10);
- }
- /*****************箭头指示*****************/
- void zhishi(uchar a)
- {
- write(0,0x30); //8位介面,基本指令集
-
- switch(a)
- {
- case 1:write(0,0x80);break;
- case 2:write(0,0x90);break;
- case 3:write(0,0x88);break;
- case 4:write(0,0x98);break;
- }
- write(1,0x1a);
- }
- /*******************************反白1**************************
- 将128*64看做256*32,3.4行在1.2行右边
- x0范围(0x80,0x80+16),x1范围(1,16)按字数算
- y0范围(0x80,0x80+32),y1范围(1,32)按点数算
- data1,data2写入0xff为反白,写入0x00为清零图片缓存
- ********************************************************************/
- /*void fanbai(uchar data1,uchar data2,uchar x0,uchar y0,uchar x1,uchar y1)
- {
- uchar i,j;
- for(j=0;j<y1;j++)
- {
- for(i=0;i<x1;i++)
- {
- write(0,0x34);
- write(0,y0+j); //写y坐标
- write(0,x0+i); //写x坐标
- write(0,0x30);
- write(1,data1);
- write(1,data2);
- }
- }
- write(0,0x36);
- }
- /*******************显示*******************************/
- void display_start()
- {
- write(0,0x01);
- english(2,1,15,table); //开始界面
- }
- void display_menu()
- {
- write(0,0x01);
- english(1,1,15,table1);// 实时数据查看
- english(2,1,15,table2);//上下限设置
- }
- /* void display_menu2()
- {
- write(0,0x01);
- english(3,1,15,table1);// 实时数据查看
- english(4,1,15,table2);//上下限设置
- }*/
- void display_mima()
- {
- write(0,0x01);
- english(1,1,15,table16);//请输入密码:
- }
- void display_error()
- {
- write(0,0x01);
- english(1,1,15,table17);//密码错误
- english(3,1,15,table18);//请重新输入
- }
- void display1()
- {
- write(0,0x01);
- english(2,1,15,table3);//光照
- guang=1234;
- write(0,0x93);
- write(1,0x30+guang/10000);
- write(1,0x30+guang/1000%10);
- write(0,0x94);
- write(1,0x30+guang/100%10);
- write(1,0x30+guang/10%10);
- write(0,0x95);
- write(1,0x30+guang%10);
- write(1,0x30);
- write(0,0x96);
- write(1,0x20);
- write(1,0x4c);
- write(0,0x97);
- write(1,0x78);
- }
- void display2()
- {
- write(0,0x01);
- english(2,1,15,table4);//风速
- fengsu=1230;
- write(0,0x93);
- write(1,0x30+fengsu/1000);
- write(1,0x30+fengsu/100%10);
- write(0,0x94);
- write(1,0x2e);
- write(1,0x30+fengsu/10%10);
- write(0,0x95);
- write(1,0x30+fengsu%10);
- write(0,0x96);
- write(1,0x6d);
- write(1,0x2f);
- write(0,0x97);
- write(1,0x73);
- english(4,1,15,table5);//风向
- fengxiang=1800;
- write(0,0x9b);
- write(1,0x30+fengxiang/1000);
- write(1,0x30+fengxiang/100%10);
- write(0,0x9c);
- write(1,0x30+fengxiang/10%10);
- write(1,0x2e);
- write(0,0x9d);
- write(1,0x30+fengxiang%10);
- write(0,0x9e);
- write(1,0xa1);
- write(1,0xe3);
- }
- void display3()
- {
- write(0,0x01);
- english(2,1,15,table6);//空气温度
- wendu=120;
- //wendu=0xfff0;
- if(wendu<8000)
- {
- write(0,0x93);
- write(1,0x30+wendu/100);
- write(1,0x30+wendu/10%10);
- write(0,0x94);
- write(1,0x2e);
- write(1,0x30+wendu%10);
- write(0,0x96);
- write(1,0xa1);
- write(1,0xe6);
- }
- if(wendu>=8000)
- {
- wendu1=0xffff-wendu+1;
- write(0,0x93);
- write(1,0x2d);
- write(1,0x30+wendu1/100);
- write(0,0x94);
- write(1,0x30+wendu1/10%10);
- write(1,0x2e);
- write(0,0x95);
- write(1,0x30+wendu1%10);
- write(1,0x20);
- write(0,0x96);
- write(1,0xa1);
- write(1,0xe6);
- }
- english(4,1,15,table7);//空气湿度
- shidu=120;
- write(0,0x9b);
- write(1,0x30+shidu/100);
- write(1,0x30+shidu/10%10);
- write(0,0x9c);
- write(1,0x2e);
- write(1,0x30+shidu%10);
- write(0,0x9e);
- write(1,0xa3);
- write(1,0xa5);
- }
- void display4()
- {
- write(0,0x01);
- english(2,1,15,table8);//土壤温度
- //tuwen=120;
- tuwen=0xfff0;
- if(shidu<8000)
- {
- write(0,0x93);
- write(1,0x30+tuwen/100);
- write(1,0x30+tuwen/10%10);
- write(0,0x94);
- write(1,0x2e);
- write(1,0x30+tuwen%10);
- write(0,0x96);
- write(1,0xa1);
- write(1,0xe6);
- }
- if(tuwen>=8000)
- {
- tuwen1=0xffff-tuwen+1;
- write(0,0x93);
- write(1,0x2d);
- write(1,0x30+tuwen1/100);
- write(0,0x94);
- write(1,0x30+tuwen1/10%10);
- write(1,0x2e);
- write(0,0x95);
- write(1,0x30+tuwen1%10);
- write(1,0x20);
- write(0,0x96);
- write(1,0xa1);
- write(1,0xe6);
- }
- english(4,1,15,table9);//土壤湿度
- tushi=210;
- write(0,0x9b);
- write(1,0x30+tushi/100);
- write(1,0x30+tushi/10%10);
- write(0,0x9c);
- write(1,0x2e);
- write(1,0x30+tushi%10);
- write(0,0x9e);
- write(1,0xa3);
- write(1,0xa5);
- }
- void display5()
- {
- write(0,0x01);
- english(1,1,15,table19);
- english(2,1,15,table10);//小时雨量
- yu_shi=120;
- write(0,0x92);
- write(1,0x30+yu_shi/100);
- write(1,0x30+yu_shi/10%10);
- write(0,0x93);
- write(1,0x2e);
- write(1,0x30+yu_shi%10);
- write(0,0x95);
- write(1,0x6d);
- write(1,0x6d);
- english(4,1,15,table11);//天雨量
- yu_tian=2100;
- write(0,0x9a);
- write(1,0x30+yu_tian/1000);
- write(1,0x30+yu_tian/100%10);
- write(0,0x9b);
- write(1,0x30+yu_tian/10%10);
- write(1,0x2e);
- write(0,0x9c);
- write(1,0x30+yu_tian%10);
- write(1,0x20);
- write(0,0x9d);
- write(1,0x6d);
- write(1,0x6d);
- }
- void display6()
- {
- write(0,0x01);
- english(1,1,15,table19);
- english(2,1,15,table12);//月雨量
- yu_yue=11110;
- write(0,0x92);
- write(1,0x30+yu_yue/10000);
- write(1,0x30+yu_yue/1000%10);
- write(0,0x93);
- write(1,0x30+yu_yue/100%10);
- write(1,0x30+yu_yue/10%10);
- write(0,0x94);
- write(1,0x2e);
- write(1,0x30+yu_yue%10);
- write(0,0x96);
- write(1,0x6d);
- write(1,0x6d);
- english(4,1,15,table13);//年雨量
- yu_nian=201422;
- write(0,0x9a);
- write(1,0x30+yu_nian/100000);
- write(1,0x30+yu_nian/10000%10);
- write(0,0x9b);
- write(1,0x30+yu_nian/1000%10);
- write(1,0x30+yu_nian/100%10);
- write(0,0x9c);
- write(1,0x30+yu_nian/10%10);
- write(1,0x2e);
- write(0,0x9d);
- write(1,0x30+yu_nian%10);
- write(0,0x9f);
- write(1,0x6d);
- write(1,0x6d);
- }
- void display1_1()
- {
- write(0,0x01);
- english(1,1,15,table3);//光照
- english(2,1,15,table15);//上限
- english(3,1,15,table14);//下限
- }
- void display1_2()
- {
- write(0,0x01);
- english(1,1,15,table4);//风速
- english(2,1,15,table15);//上限
- }
-
- void display1_3()
- {
- write(0,0x01);
- english(1,1,15,table6);//空气温度
- english(2,1,15,table15);//上限
- english(3,1,15,table14);//下限
- }
- void display1_4()
- {
- write(0,0x01);
- english(1,1,15,table7);//空气湿度
- english(2,1,15,table15);//上限
- english(3,1,15,table14);//下限
- }
- void display1_5()
- {
- write(0,0x01);
- english(1,1,15,table8);//土壤温度
- english(2,1,15,table15);//上限
- english(3,1,15,table14);//下限
- }
- void display1_6()
- {
- write(0,0x01);
- english(1,1,15,table9);//土壤湿度
- english(2,1,15,table15);//上限
- english(3,1,15,table14);//下限
- }
- void display1_7()
- {
- write(0,0x01);
- english(1,1,15,table19);//小时降雨
- english(2,1,15,table10);//小时降雨
- english(3,1,15,table15);//上限
- }
- void display1_8()
- {
- write(0,0x01);
- english(2,1,15,table20);//设置成功
- }
- void anjian_wan()
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(wan<9)
- {
- wan++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(wan>0)
- {
- wan--;
- }
- }
- while(!key2);
- }
- }
- void anjian_qian()
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(qian<9)
- {
- qian++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(qian>0)
- {
- qian--;
- }
- }
- while(!key2);
- }
- }
- void anjian_bai()
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(bai<9)
- {
- bai++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(bai>0)
- {
- bai--;
- }
- }
- while(!key2);
- }
- }
- void anjian_shi()
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(shi<9)
- {
- shi++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(shi>0)
- {
- shi--;
- }
- }
- while(!key2);
- }
- }
- void anjian_ge()
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(ge<9)
- {
- ge++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(ge>0)
- {
- ge--;
- }
- }
- while(!key2);
- }
- }
- void anjian_fuhao()
- {
- if((key3==0)||(bai==0))
- {
- delay_ms(50);
- if((key3==0)||(bai==0))
- {
- bai=0x2b;
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- bai=0x2d;
- }
- while(!key2);
- }
- }
-
- void main()
- {
- lcd_init();
- //fanbai(0x00,0x00,0x80,0x80,16,32); //上电清空图片缓存
- //lcd_init();
- display_start();
- while(1){
- //key1确认键
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- if(c<2)
- {
- c++;
- }
- if((c==1)&&(b==0))
- {
- display_menu();
- zhishi(1);
- b=1;
- }
- }
- while(!key1);
- }
- //key4返回键
- if(key4==0)
- {
- delay_ms(50);
- if(key4==0)
- {
- yi=er=san=si=0;
- write(0,0x0c); //关闭光标显示
- b=0;
- e=0;
- f=0;
- fanye2=0;
- if(c>0)
- {
- c--;
- }
- if(c==1)
- {
- display_menu();
- zhishi(1);
- b=1;
- }
- if(c==0)
- {
- fanye=0;
- display_start();
- }
- }
- while(!key4);
- }
-
- //按键翻页
- if(c==0)
- { //一级界面
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0) //key3向右翻页
- {
- fanye++;
- if(fanye>6)
- {
- fanye=6;
- }
- }
- while(!key3);
- if(fanye==1){display1();delay_ms(50);}
- if(fanye==2){display2();delay_ms(50);}
- if(fanye==3){display3();delay_ms(50);}
- if(fanye==4){display4();delay_ms(50);}
- if(fanye==5){display5();delay_ms(50);}
- if(fanye==6){display6();delay_ms(50);}
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0) //key2向左翻页
- {
- fanye--;
- if(fanye<1)
- {
- fanye=1;
- }
- }
- while(!key2);
- if(fanye==6){display6();delay_ms(50);}
- if(fanye==5){display5();delay_ms(50);}
- if(fanye==4){display4();delay_ms(50);}
- if(fanye==3){display3();delay_ms(50);}
- if(fanye==2){display2();delay_ms(50);}
- if(fanye==1){display1();delay_ms(50);}
- }
-
- }
- //************菜单**************************/
- if(c==1)
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(b<2)
- {
- b++;
- }
- }
- while(!key3);
- if(b==1){display_menu();zhishi(1);delay_ms(50);}
- if(b==2){display_menu();zhishi(2);delay_ms(50);}
- /* if(b==3){display_menu();zhishi(3);delay_ms(50);}
- if(b==4){display_menu();zhishi(4);delay_ms(50);}
- if(b==5){display_menu2();zhishi(1);delay_ms(50);}
- if(b==6){display_menu2();zhishi(2);delay_ms(50);}
- if(b==7){display_menu2();zhishi(3);delay_ms(50);} */
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(b>1)
- {
- b--;
- }
- }
- while(!key2);
- if(b==1){display_menu();zhishi(1);delay_ms(50);}
- if(b==2){display_menu();zhishi(2);delay_ms(50);}
- /* if(b==3){display_menu();zhishi(3);delay_ms(50);}
- if(b==4){display_menu();zhishi(4);delay_ms(50);}
- if(b==5){display_menu2();zhishi(1);delay_ms(50);}
- if(b==6){display_menu2();zhishi(2);delay_ms(50);}
- if(b==7){display_menu2();zhishi(3);delay_ms(50);} */
- }
-
- }
- if((b==1)&&(key1==0)) //实时数据查看
- {
- delay_ms(50);
- if(key1==0)
- {
- b=0;
- c=0;
- fanye=1;
- display1();
- }
- while(!key1);
- }
- if((b==2)&&(e==0))
- {
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- display_mima(); //输入密码:1425
- write(0,0x0f); //打开光标显示
- write(0,0x8a);
- e=1;
- c=2;
- delay_ms(50);
- }
- while(!key1);
- }
- }
- if(e==1)
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(yi<9)
- {
- yi++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(yi>0)
- {
- yi--;
- }
- }
- while(!key2);
- }
- write(0,0x8a);
- write(1,0x30+yi);
- delay_ms(50);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8b);
- delay_ms(50);
- e=2;
- }
- while(!key1);
- }
- }
- if(e==2)
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(er<9)
- {
- er++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(er>0)
- {
- er--;
- }
- }
- while(!key2);
- }
- write(0,0x8b);
- write(1,0x30+er);
- delay_ms(50);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8c);
- delay_ms(50);
- e=3;
- }
- while(!key1);
- }
- }
- if(e==3)
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(san<9)
- {
- san++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(san>0)
- {
- san--;
- }
- }
- while(!key2);
- }
- write(0,0x8c);
- write(1,0x30+san);
- delay_ms(50);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8d);
- delay_ms(50);
- e=4;
- }
- while(!key1);
- }
- }
- if(e==4)
- {
- if(key3==0)
- {
- delay_ms(50);
- if(key3==0)
- {
- if(si<9)
- {
- si++;
- }
- }
- while(!key3);
- }
- if(key2==0)
- {
- delay_ms(50);
- if(key2==0)
- {
- if(si>0)
- {
- si--;
- }
- }
- while(!key2);
- }
- write(0,0x8d);
- write(1,0x30+si);
- delay_ms(50);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x0c); //关闭光标显示
- if((yi==1)&&(er==4)&&(san==2)&&(si==5))//密码:1425
- {
- e=5;
- }
- if((yi!=1)||(er!=4)||(san!=2)||(si!=5))
- {
- display_error(); //密码错误
- delay_ms(3000);
- display_mima();
- write(0,0x0f); //打开光标显示
- write(0,0x8a);
- delay_ms(50);
- yi=er=san=si=0;
- e=1;
- }
- }
- while(!key1);
- }
- }
- if((e==5)&&(fanye2==0))
- {
- if((b==2)&&(key1==0)) //上下限设置
- {
- delay_ms(50);
- if(key1==0)
- {
- fanye2=1;
- f=1;
- display1_1();
- write(0,0x93);
- write(1,0x30+guang_shang/10000);
- write(0,0x94);
- write(1,0x30+guang_shang/1000%10);
- write(0,0x95);
- write(1,0x30+guang_shang/100%10);
- write(0,0x96);
- write(1,0x30+guang_shang/10%10);
- write(0,0x97);
- write(1,0x30+guang_shang%10);
- write(0,0x8b);
- write(1,0x30+guang_xia/10000);
- write(0,0x8c);
- write(1,0x30+guang_xia/1000%10);
- write(0,0x8d);
- write(1,0x30+guang_xia/100%10);
- write(0,0x8e);
- write(1,0x30+guang_xia/10%10);
- write(0,0x8f);
- write(1,0x30+guang_xia%10);
- write(0,0x0f); //打开光标显示
- write(0,0x93);
- }
- while(!key1);
- }
- }
- if(fanye2==1) //光照
- {
- if(f==1) //光照上限万位
- {
- if(g==0)
- {
- wan=guang_shang/10000;
- g=1;
- }
- anjian_wan();
- write(0,0x93);
- write(1,0x30+wan);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x94);
- f=2;
- g=0;
- }
- while(!key1);
- }
- }
- if(f==2) //光照上限千位
- {
- if(g==0)
- {
- qian=guang_shang/1000%10;
- g=1;
- }
- anjian_qian();
- write(0,0x94);
- write(1,0x30+qian);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x95);
- f=3;
- g=0;
- }
- while(!key1);
- }
- }
- if(f==3) //光照上限百位
- {
- if(g==0)
- {
- bai=guang_shang/100%10;
- g=1;
- }
- anjian_bai();
- write(0,0x95);
- write(1,0x30+bai);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x96);
- f=4;
- g=0;
- }
- while(!key1);
- }
- }
- if(f==4) //光照上限十位
- {
- if(g==0)
- {
- shi=guang_shang/10%10;
- g=1;
- }
- anjian_shi();
- write(0,0x96);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x97);
- f=5;
- g=0;
- }
- while(!key1);
- }
- }
- if(f==5) //光照上限个位
- {
- if(g==0)
- {
- ge=guang_shang%10;
- g=1;
- }
- anjian_ge();
- write(0,0x97);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- guang_shang=wan*10000+qian*1000+bai*100+shi*10+ge;//光照上限
-
- wan=qian=bai=shi=ge=0;
- write(0,0x8b);
- f=6;
- g=0;
- }
- while(!key1);
- }
- }
- if(f==6) //光照下限万位
- {
- if(g==0)
- {
- wan=guang_xia/10000;
- g=1;
- }
- anjian_wan();
- write(0,0x8b);
- write(1,0x30+wan);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8c);
- f=7;
- g=0;
- }
- while(!key1);
- }
- }
- if(f==7) //光照下限千位
- {
- if(g==0)
- {
- qian=guang_xia/1000%10;
- g=1;
- }
- anjian_qian();
- write(0,0x8c);
- write(1,0x30+qian);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8d);
- f=8;
- g=0;
- }
- while(!key1);
- }
- }
- if(f==8) //光照下限百位
- {
- if(g==0)
- {
- bai=guang_xia/100%10;
- g=1;
- }
- anjian_bai();
- write(0,0x8d);
- write(1,0x30+bai);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8e);
- f=9;
- g=0;
- }
- while(!key1);
- }
- }
- if(f==9) //光照下限十位
- {
- //标志位g
- anjian_shi();
- write(0,0x8e);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8f);
- f=10;
- }
- while(!key1);
- }
- }
- if(f==10) //光照下限个位
- {
- anjian_ge();
- write(0,0x8f);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- guang_xia=wan*10000+qian*1000+bai*100+shi*10+ge;//光照下限
- wan=qian=bai=shi=ge=0;
- fanye2=2;
- write(0,0x0c); //关闭光标显示
- display1_2(); //风速
- write(0,0x93);
- write(1,0x30+feng_shang/10);
- write(0,0x94);
- write(1,0x30+feng_shang%10);
- f=1;
- write(0,0x0f); //打开光标显示
- write(0,0x93);
- }
- while(!key1);
- }
- }
- }
- if(fanye2==2) //风速
- {
- if(f==1) //风速上限十位
- {
- anjian_shi();
- write(0,0x93);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x94);
- f=2;
- }
- while(!key1);
- }
- }
- if(f==2) //风速上限个位
- {
- anjian_ge();
- write(0,0x94);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- feng_shang=shi*10+ge; //风速上限
- shi=ge=0;
- fanye2=3;
- write(0,0x0c); //关闭光标显示
- display1_3(); //温度
- write(0,0x94);
- write(1,0x30+wendu_shang/10);
- write(0,0x95);
- write(1,0x30+wendu_shang%10);
- write(0,0x8c);
- write(1,0x30+wendu_xia/10);
- write(0,0x8d);
- write(1,0x30+wendu_xia%10);
-
- f=1;
- write(0,0x0f); //打开光标显示
- write(0,0x93);
- }
- while(!key1);
- }
- }
- }
- if(fanye2==3) //温度
- {
- if(f==1) //温度上限符号
- {
- anjian_fuhao();
- write(0,0x93);
- write(1,bai);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x94);
- f=2;
- }
- while(!key1);
- }
- }
- if(f==2) //温度上限十位
- {
- anjian_shi();
- write(0,0x94);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x95);
- f=3;
- }
- while(!key1);
- }
- }
- if(f==3) //温度上限个位
- {
- anjian_ge();
- write(0,0x95);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- wendu_shang=shi*10+ge; //温度上限
- bai=shi=ge=0;
- write(0,0x8b);
- f=4;
- }
- while(!key1);
- }
- }
- if(f==4) //温度下限符号
- {
- anjian_fuhao();
- write(0,0x8b);
- write(1,bai);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8c);
- f=5;
- }
- while(!key1);
- }
- }
- if(f==5) //温度下限十位
- {
- anjian_shi();
- write(0,0x8c);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8d);
- f=6;
- }
- while(!key1);
- }
- }
- if(f==6) //温度下限个位
- {
- anjian_ge();
- write(0,0x8d);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- wendu_xia=shi*10+ge; //温度下限
- bai=shi=ge=0;
- fanye2=4;
- write(0,0x0c); //关闭光标显示
- display1_4(); //湿度
- write(0,0x93);
- write(1,0x30+shidu_shang/10);
- write(0,0x94);
- write(1,0x30+shidu_shang%10);
- write(0,0x8b);
- write(1,0x30+shidu_xia/10);
- write(0,0x8c);
- write(1,0x30+shidu_xia%10);
- f=1;
- write(0,0x0f); //打开光标显示
- write(0,0x93);
- }
- while(!key1);
- }
- }
- }
- if(fanye2==4) //湿度
- {
- if(f==1) //湿度上限十位
- {
- anjian_shi();
- write(0,0x93);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x94);
- f=2;
- }
- while(!key1);
- }
- }
- if(f==2) //湿度上限个位
- {
- anjian_ge();
- write(0,0x94);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- shidu_shang=shi*10+ge; //湿度上限
- shi=ge=0;
- write(0,0x8b);
- f=3;
- }
- while(!key1);
- }
- }
- if(f==3) // 湿度下限十位
- {
- anjian_shi();
- write(0,0x8b);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8c);
- f=4;
- }
- while(!key1);
- }
- }
- if(f==4) //湿度下限个位
- {
- anjian_ge();
- write(0,0x8c);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- shidu_xia=shi*10+ge; //湿度下限
- shi=ge=0;
- fanye2=5;
- write(0,0x0c); //关闭光标显示
- display1_5(); //土温
- write(0,0x94);
- write(1,0x30+tuwen_shang/10);
- write(0,0x95);
- write(1,0x30+tuwen_shang%10);
- write(0,0x8c);
- write(1,0x30+tuwen_xia/10);
- write(0,0x8d);
- write(1,0x30+tuwen_xia%10);
- write(0,0x0f); //打开光标显示
- write(0,0x93);
- f=1;
- }
- while(!key1);
- }
- }
- }
- if(fanye2==5) //土温
- {
- if(f==1) //土温上限符号
- {
- anjian_fuhao();
- write(0,0x93);
- write(1,bai);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x94);
- f=2;
- }
- while(!key1);
- }
- }
- if(f==2) //土温上限十位
- {
- anjian_shi();
- write(0,0x94);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x95);
- f=3;
- }
- while(!key1);
- }
- }
- if(f==3) //土温上限个位
- {
- anjian_ge();
- write(0,0x95);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- tuwen_shang=shi*10+ge; //土温上限
- bai=shi=ge=0;
- write(0,0x8b);
- f=4;
- }
- while(!key1);
- }
- }
- if(f==4) //土温下限符号
- {
- anjian_fuhao();
- write(0,0x8b);
- write(1,bai);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8c);
- f=5;
- }
- while(!key1);
- }
- }
- if(f==5) //土温下限十位
- {
- anjian_shi();
- write(0,0x8c);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8d);
- f=6;
- }
- while(!key1);
- }
- }
- if(f==6) //土温下限个位
- {
- anjian_ge();
- write(0,0x8d);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- tuwen_xia=shi*10+ge; //土温下限
- bai=shi=ge=0;
- fanye2=6;
- write(0,0x0c); //关闭光标显示
- display1_6(); //土湿
- write(0,0x93);
- write(1,0x30+tushi_shang/10);
- write(0,0x94);
- write(1,0x30+tushi_shang%10);
- write(0,0x8b);
- write(1,0x30+tushi_xia/10);
- write(0,0x8c);
- write(1,0x30+tushi_xia%10);
- f=1;
- write(0,0x0f); //打开光标显示
- write(0,0x93);
- }
- while(!key1);
- }
- }
- }
- if(fanye2==6) //土湿
- {
- if(f==1) //土湿上限十位
- {
- anjian_shi();
- write(0,0x93);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x94);
- f=2;
- }
- while(!key1);
- }
- }
- if(f==2) //土湿上限个位
- {
- anjian_ge();
- write(0,0x94);
- write(1,0x30+ge);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- tushi_shang=shi*10+ge; //土湿上限
- shi=ge=0;
- write(0,0x8b);
- f=3;
- }
- while(!key1);
- }
- }
- if(f==3) //土湿下限十位
- {
- anjian_shi();
- write(0,0x8b);
- write(1,0x30+shi);
- if(key1==0)
- {
- delay_ms(50);
- if(key1==0)
- {
- write(0,0x8c);
- f=4;
- }
- while(!key1);
- }
- }
- if(f==4) //土湿下限个位
- {
- anjian_ge();
-
复制代码
|