⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caiji.c.bak

📁 我做的关于锅炉运行状况采集的产品
💻 BAK
📖 第 1 页 / 共 5 页
字号:
            keybuff[0]=keybuff[6];
/* CHECK THE PASSWORD RIGHT OR NOT*/
            for (i=0;i<3;i++)
            {
                if(pa1[i]!=keybuff[i]) break;
            }
            if(i==3)
            {
            SET_MENU:
                clear();
            	print(input_device_name,0,1);
            	print(input_device_number,2,1);
                print(input_chanel_number,4,1);
                print(input_chanel_parameter,6,1);
            	ldelay(4000);
                switch (keyvalue)
                {
                  case 1:  //设备地址
                  get_address();
                  goto SET_MENU;
                  break;
                  case 2:   //模块个数
                  get_moduel_num();
                  goto SET_MENU;
                  break;
                  case 3:   //通道个数
                  get_chanel_num();
                  goto SET_MENU;
                  break;
                  case 4:   //通道参数
                  get_chanel_param();
                  goto SET_MENU;
                  break;
                  default :
                  keyvalue=ESC;
                  break;

                }
              break;
            }
            else
            {
                print(eco,5,16);
                ldelay(50);
                clear();
                print(syset,0,16);
                print(input,2,16);
                writebig(':',5,24);
                i=0;
                if(++keybuff[8]==3)
                {
                  keyvalue=ESC;
                  break;
                }
            }
        }
    if(watch_send_flag)
    keyvalue=ESC;
    }while(keyvalue!=ESC);
}

void get_address()      //本设备的地址
{
    unsigned char code input_device_address[]="请输入设备地址";
    char code ecor[]="输入不正确!";
    char code success[]="设置成功";
    unsigned char data i=0,j,k;
    keybuff[8]=0;
    clear();
    print(input_device_address,2,1);/* xi tong she ding */
    writebig(':',5,24);
    keybuff[0]='=';
    keybuff[1]=';';
     do
    {
        ldelay(5);
    	if((keyvalue<10)&&(keyvalue!=ESC))
    	{
    	    keybuff[i]=keyvalue;
            if(i<3)
    	    i++;
            writebig(keyvalue,5,32+8*i);
            keybuff[3]=0;
    	}
    	else if(keyvalue==ENTER)
    	{
         again_write_address:
            device_address=keybuff[0]*100+keybuff[1]*10+keybuff[2];
            write_24c021(0,device_address);
            write_24c021(1,device_address);
            k=read_24c021(0);
            j=read_24c021(1);
            if(k!=j)
             {
               k=j=0;
               goto again_write_address;
             }
            clear();
            print(success,3,2);
            ldelay(150);
        }
    if(watch_send_flag)
    keyvalue=ESC;
    }while(keyvalue!=ESC);
}
void get_moduel_num()   //设置获得模块数量
{
    unsigned char code input_device_number[]="请输入模块个数";
    char code ecor[]="输入不正确!";
    char code success[]="设置成功";
    unsigned char data i=0,j,k;
    keybuff[8]=0;
    clear();
    print(input_device_number,2,1);/* xi tong she ding */
    writebig(':',5,24);
    keybuff[0]='=';
    keybuff[1]=';';
    do
    {
        ldelay(5);
    	if((keyvalue<10)&&(keyvalue!=ESC))
    	{
    	    keybuff[i]=keyvalue;
            if(i<3)
    	    i++;
            writebig(keyvalue,5,32+8*i);
            keybuff[3]=0;
    	}
    	else if(keyvalue==ENTER)
    	{
            moduel_number=keybuff[0];
         again_write_moduel_num:
            write_24c021(2,moduel_number);
            write_24c021(3,moduel_number);
            k=read_24c021(2);
            j=read_24c021(3);
            if((k!=j)||(k!=moduel_number))
             {
               k=j=0;
               goto again_write_moduel_num;
             }
            ldelay(10);
            clear();
            print(success,3,2);
            ldelay(150);
        }
    if(watch_send_flag)
    keyvalue=ESC;
    }while(keyvalue!=ESC);
}
void get_chanel_num()   //每个模块的通道数量
{
    //unsigned char code input_moduel_number1[]="1:模块1";
    //unsigned char code input_moduel_number2[]="2:模块2";
    //unsigned char code input_moduel_number3[]="3:模块3";
    //unsigned char code input_moduel_number4[]="4:模块4>>";
    //unsigned char code input_moduel_number5[]="5:模块5";
    //unsigned char code input_moduel_number6[]="6:模块6";
    char code ecor[]="输入不正确!";
    char code success[]="设置成功";
    unsigned char data i=0,j=0,k;
    keybuff[8]=0;
    SET_CHANEL:
    clear();
    print(input_moduel_number1,0,1);/* xi tong she ding */
    print(input_moduel_number2,2,1);
    print(input_moduel_number3,4,1);
    print(input_moduel_number4,6,1);
    keybuff[0]='=';
    keybuff[1]=';';
    ldelay(1000);
    switch (keyvalue)
    {
      case 1:
      write_param(4);
      goto SET_CHANEL;
      case 2:
      write_param(6);
      goto SET_CHANEL;
      case 3:
      write_param(8);
      goto SET_CHANEL;
      case 4:
      write_param(10);
      goto SET_CHANEL;
      case 5:
      write_param(12);
      goto SET_CHANEL;
      case 6:
      write_param(14);
      goto SET_CHANEL;
      default:
      break;

    }
}

void write_param(uchar put_where)
{
       unsigned char data i=0,j,k;
       char code success[]="设置成功";
       unsigned char code input_moduel_num[]="请输入通道个数";
       clear();
       print(input_moduel_num,2,1);
       writebig(':',5,24);
       keybuff[0]='=';
       keybuff[1]=';';
       do
       {
        ldelay(5);
    	if((keyvalue<10)&&(keyvalue!=ESC))
    	{
    	    keybuff[i]=keyvalue;
            if(i<2)
    	    i++;
            writebig(keyvalue,5,32+8*i);
            keybuff[2]=0;
    	}
    	else if(keyvalue==ENTER)
    	{
            moduel[(put_where)/2-2].use_chanel=keybuff[0];
            chanel_number[(put_where)/2-2]=keybuff[0];
        again_write_chanel_num:
            write_24c021(put_where,keybuff[0]);
            write_24c021((put_where+1),keybuff[0]);
            again_write_moduel_num:
            i=keybuff[0];
            k=read_24c021(put_where);
            j=read_24c021(put_where+1);
            if((k!=j)||(k!=i))
             {
               k=j=0;
               goto again_write_chanel_num;
             }
            ldelay(10);
            clear();
            print(success,3,2);
            ldelay(150);
            keyvalue=ESC;
        }

     }while(keyvalue!=ESC);
}
//*********************************------------------------------//
/*设置通道参数*/
void get_chanel_param() //通道参数
{
    //unsigned char code input_moduel_number1[]="1:模块1";
    //unsigned char code input_moduel_number2[]="2:模块2";
    //unsigned char code input_moduel_number3[]="3:模块3";
    //unsigned char code input_moduel_number4[]="4:模块4>>";
    //unsigned char code input_moduel_number5[]="5:模块5";
    //unsigned char code input_moduel_number6[]="6:模块6";
    unsigned char data i=0;
    SET_CHANEL_PARAM_1:
    keybuff[8]=0;
    clear();
    print(input_moduel_number1,0,1);/* xi tong she ding */
    print(input_moduel_number2,2,1);
    print(input_moduel_number3,4,1);
    print(input_moduel_number4,6,1);
    ldelay(3000);
    switch (keyvalue)
    {
      case 1:
      write_moduel(0);
      goto SET_CHANEL_PARAM_1;
      case 2:
      write_moduel(1);
      goto SET_CHANEL_PARAM_1;
      case 3:
      write_moduel(2);
      goto SET_CHANEL_PARAM_1;
      case 4:
      write_moduel(3);
      goto SET_CHANEL_PARAM_1;
      case 5:
      write_moduel(4);
      goto SET_CHANEL_PARAM_1;
      case 6:
      write_moduel(5);
      goto SET_CHANEL_PARAM_1;
      default:
      break;

    }
}

void write_moduel(unsigned char mod)
{
    //unsigned char code input_chanel_number1[]="1:通道1";
    //unsigned char code input_chanel_number2[]="2:通道2";
    //unsigned char code input_chanel_number3[]="3:通道3";
    //unsigned char code input_chanel_number4[]="4:通道4>>";
    //unsigned char code input_chanel_number5[]="5:通道5";
    //unsigned char code input_chanel_number6[]="6:通道6";
    //unsigned char code input_chanel_number7[]="7:通道7";
    //unsigned char code input_chanel_number8[]="8:通道8";
    unsigned char data i=0;
    SET_CHANEL_PARAM_2:
    keybuff[8]=0;
    clear();
    print(input_chanel_number1,0,1);/* xi tong she ding */
    print(input_chanel_number2,2,1);
    print(input_chanel_number3,4,1);
    print(input_chanel_number4,6,1);
    ldelay(3000);
    switch (keyvalue)
    {
      case 1:
      write_chanel(mod,0);
      goto SET_CHANEL_PARAM_2;
      case 2:
      write_chanel(mod,1);
      goto SET_CHANEL_PARAM_2;
      case 3:
      write_chanel(mod,2);
      goto SET_CHANEL_PARAM_2;
      case 4:
      write_chanel(mod,3);
      goto SET_CHANEL_PARAM_2;
      case 5:
      write_chanel(mod,4);
      goto SET_CHANEL_PARAM_2;
      case 6:
      write_chanel(mod,5);
      goto SET_CHANEL_PARAM_2;
      case 7:
      write_chanel(mod,6);
      goto SET_CHANEL_PARAM_2;
      case 8:
      write_chanel(mod,7);
      goto SET_CHANEL_PARAM_2;
      default:
      break;
    }
}

void write_chanel(unsigned char modu,unsigned char cha)
{
    unsigned char code input_chanel_name[]="1:名称";
    unsigned char code input_chanel_title[]="2:标题";
    unsigned char code input_chanel_scale[]="3:量程";
    unsigned char code input_chanel_mode[]="4:模式";
    unsigned char data i=modu,j=cha;
    SET_CHANEL_PARAM_3:
    keybuff[8]=0;
    clear();
    print(input_chanel_name,0,1);/* xi tong she ding */
    print(input_chanel_title,2,1);
    print(input_chanel_scale,4,1);
    print(input_chanel_mode,6,1);
    ldelay(3000);
    switch (keyvalue)
    {
      case 1:
      write_name(modu,cha);
      goto SET_CHANEL_PARAM_3;
      case 2:
      write_title(modu,cha);
      goto SET_CHANEL_PARAM_3;
      case 3:
      write_scale(modu,cha);
      goto SET_CHANEL_PARAM_3;
      case 4:
      write_mode(modu,cha);
      goto SET_CHANEL_PARAM_3;
      default:
      break;

    }
}

void write_name(unsigned char modu_1,unsigned char cha_1)
{
    unsigned char code name_1[]="1:一号";
    unsigned char code name_2[]="2:二号";
    unsigned char code name_3[]="3:三号";
    unsigned char code name_4[]="4:一次>>";
    unsigned char code name_5[]="5:二次";
    SET_CHANEL_PARAM_4:
    keybuff[8]=0;
    clear();
    print(name_1,0,1);/* xi tong she ding */
    print(name_2,2,1);
    print(name_3,4,1);
    print(name_4,6,1);
    ldelay(3000);
    switch (keyvalue)
    {
      case 1:
      write_e2(modu_1,cha_1,1,1);
      goto SET_CHANEL_PARAM_4;
      case 2:
      write_e2(modu_1,cha_1,1,2);
      goto SET_CHANEL_PARAM_4;
      case 3:
      write_e2(modu_1,cha_1,1,3);
      goto SET_CHANEL_PARAM_4;
      case 4:
      write_e2(modu_1,cha_1,1,4);
      goto SET_CHANEL_PARAM_4;
      case DOWN:
      {
        print(name_5,0,1);
        ldelay(2000);
        switch(keyvalue)
        {
          case 5:
          write_e2(modu_1,cha_1,1,5);
          goto SET_CHANEL_PARAM_4;
          default:
          goto SET_CHANEL_PARAM_4;
        }
      }
      default:
      break;
    }
}

void write_title(unsigned char modu_2,unsigned char cha_2)
{
    unsigned char code title_1[]="1:汽包液位";
    unsigned char code title_2[]="2:蒸汽压力";
    unsigned char code title_3[]="3:蒸汽温度";
    unsigned char code title_4[]="4:补水压力>>";
    unsigned char code title_5[]="5:进水压力";
    unsigned char code title_6[]="6:回水压力";
    unsigned char code title_7[]="7:进水温度";
    unsigned char code title_8[]="8:回水温度>>";
    SET_CHANEL_PARAM_5:
    keybuff[8]=0;
    clear();
    print(title_1,0,1);/* xi tong she ding */
    print(title_2,2,1);
    print(title_3,4,1);
    print(title_4,6,1);
    ldelay(3000);
    switch (keyvalue)
    {
      case 1:
      write_e2(modu_2,cha_2,2,1);
      goto SET_CHANEL_PARAM_5;
      case 2:
      write_e2(modu_2,cha_2,2,2);
      goto SET_CHANEL_PARAM_5;
      case 3:
      write_e2(modu_2,cha_2,2,3);
      goto SET_CHANEL_PARAM_5;
      case 4:
      write_e2(modu_2,cha_2,2,4);
      goto SET_CHANEL_PARAM_5;
      case 5:
      write_e2(modu_2,cha_2,2,5);
      goto SET_CHANEL_PARAM_5;
      case DOWN:
      {
   //     SET_CHANEL_PARAM_6:
        clear();
        print(title_5,0,1);/* xi tong she ding */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -