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

📄 070403.c

📁 电压表
💻 C
📖 第 1 页 / 共 5 页
字号:
            }
            else if(k4_flag)
            {
                k4_flag=0;
                lay=1;
                lay1=0;
                setok=0;
            }
        }
        if(lay==0&&lay0==1)//测量和显示年、月、日
        {
            if(k1_flag)
            {
                k1_flag=0;
                lay0=0;
            }
            else if(k2_flag)
            {
                k2_flag=0;
                lay0=0;
            }
            else if(k3_flag)
            {
                k3_flag=0;
                lay0=0;
            }
            else if(k4_flag)
            {
                k4_flag=0;
                lay=1;
                lay1=0;
                setok=0;
            }
        }



        if(lay==1&&lay1==0)//系统密码
        {
            if(setok==0)
            {
                if(passwordflag==1 || passwordflag==0)//如果密码为修改配制参数密码或密码不正确
                {
                    if(k1_flag)//返回测量画面
                    {
                        k1_flag=0;
                        lay=0;
                        lay0=0;
                    }
                    else if(k2_flag)//进入事件记录查询
                    {
                        k2_flag=0;
                        lay1=15;
                    }
                    else if(k3_flag)//进入地址画面
                    {
                        k3_flag=0;
                        lay1=1;
                    }
                    else if(k4_flag)//进入输入密码状态
                    {
                        k4_flag=0;
                        setok=1;
                        position=1;
                    }
                }
                else if(passwordflag==2)//如果密码为修改校验参数密码
                {
                    if(k1_flag)//返回测量画面
                    {
                        k1_flag=0;
                        lay=0;
                        lay0=0;
                    }
                    else if(k2_flag)//进入满度系数画面
                    {
                        k2_flag=0;
                        lay1=17;
                    }
                    else if(k3_flag)//进入零点系数画面
                    {
                        k3_flag=0;
                        lay1=16;
                    }
                    else if(k4_flag)
                    {
                        k4_flag=0;
                        setok=1;
                        position=1;
                    }
                }
            }
            else if(setok==1)
            {
                if(k1_flag)
                {
                    k1_flag=0;
                    setok=2;          //增加对SETOK=2时的情况下,进行密码比较,而产生密码passwordflag值。
                    position=0;
                    if(passwordflag==1)
                    {
                    	 systembuf[3]=password00;
                         for(i=0;i<30;i++)//写超限记录的次数到铁电存储器
                         {
                              writc64buf[2*i]=systembuf[i]&0x00ff;
                              writc64buf[2*i+1]=(systembuf[i]&0x0ff00)/256;
                         }
                         CRC_check=CRC16(&writc64buf[0],60); // 求校验码 
                         writc64buf[60]=CRC_check&0xff;																									                
                         writc64buf[61]=(CRC_check&0xff00)/256;
                         c64_wrnbyt(0xa0,0x1000,62);//写铁电
                         c64_rdnbyt(0xa0,0x1000,62);  
                    }
                    else if(passwordflag==0)
                    {                 	
                         j=systembuf[3];
                         n[0]=j&0x0f;
                         j>>=4;                   
                         n[1]=j&0x0f;             
                         j>>=4;                   
                         n[2]=j&0x0f;             
                         j>>=4;                   
                         n[3]=j&0x0f;             
                         if((password0*1000+password1*100+password2*10+password3)==(n[3]*1000+n[2]*100+n[1]*10+n[0]))
                         {
                        	passwordflag=1;
                         }
                         else if((password0*1000+password1*100+password2*10+password3)==1024)//可以设置零点系数和满度系数
                         {
                                passwordflag=2;
                         }
                         else
                         {
                                passwordflag=0;//不能设置参数
                         }                         
                    }
                }
                if(k2_flag)
                {
                    k2_flag=0;//按键清零
                    if(position==1)
                    {
                        password0++;
                        if(password0>9)password0=0;
                    }
                    else if(position==2)
                    {
                        password1++;
                        if(password1>9)password1=0;
                    }
                    else if(position==3)
                    {
                        password2++;
                        if(password2>9)password2=0;
                    }
                    else if(position==4)
                    {
                        password3++;
                        if(password3>9)password3=0;
                    }
                }
                if(k3_flag)
                {
                    k3_flag=0;//按键清零
                    if(position==1)
                    {
                        password0--;
                        if(password0>9)password0=9;
                    }
                    else if(position==2)
                    {
                        password1--;
                        if(password1>9)password1=9;
                    }
                    else if(position==3)
                    {
                        password2--;
                        if(password2>9)password2=9;
                    }
                    else if(position==4)
                    {
                        password3--;
                        if(password3>9)password3=9;
                    }
                }
                if(k4_flag)
                {
                    k4_flag=0;
                    position++;
                    if(position>4)position=1;
                }
                j=password0;
                j<<=4;
                j+=password1;
                j<<=4;
                j+=password2;
                j<<=4;
                j+=password3; 
                password00=j; //如果密码对,
             }
             else if(setok==2)
             {
                if(passwordflag==1)//修改配置参数
                {
                    if(k1_flag)
                    {
                        setok=0;
                        lay=0;
                        lay0=0;
                    }
                    if(k2_flag)
                    {
                        k2_flag=0;
                        lay1=15;
                        setok=0;
                    }
                    if(k3_flag)
                    {
                        k3_flag=0;
                        lay1=1;
                        setok=0;
                    }
                    if(k4_flag)
                    {
                        k4_flag=0;
                        setok=1;
                        position=1;
                    }
                }
                else if(passwordflag==2)//可以修改校正系数
                {
                    if(k1_flag)
                    {
                        setok=0;
                        lay=0;
                        lay0=0;
                    }
                    if(k2_flag)
                    {
                        k2_flag=0;
                        lay1=17;
                        setok=0;
                    }
                    if(k3_flag)
                    {
                        k3_flag=0;
                        lay1=16;//16
                        setok=0;
                    }
                    if(k4_flag)
                    {
                        k4_flag=0;
                        setok=1;
                        position=1;
                    }
                }
                else if(passwordflag==0)//密码不正确
                {
                    if(k1_flag)
                    {
                        setok=0;
                        lay=0;
                        lay0=0;
                    }
                    if(k2_flag)
                    {
                        k2_flag=0;
                        lay1=15;
                        setok=0;
                    }
                    if(k3_flag)
                    {
                        k3_flag=0;
                        lay1=1;
                        setok=0;
                    }
                    if(k4_flag)
                    {
                        k4_flag=0;
                        setok=1;
                        position=1;
                    }
                }
             }   
        }
        if(lay==1&&lay1==1)//通讯地址
        {
            if(setok==0)
            {
                if(k1_flag)
                {
                    k1_flag=0;
                    lay=0;
                    lay0=0;
                }
                else if(k2_flag)
                {
                    k2_flag=0;
                    lay1=15;
                }
                else if(k3_flag)
                {
                    k3_flag=0;
                    lay1=2;
                }
                else if(k4_flag)
                {
                    k4_flag=0;
                    if(passwordflag==1)
                    {
                        setok=1;
                        position=1;
                    }
                    else 
                    {
                        setok=3;
                    }
                }
            }
            else if(setok==1)
            {
                if(k1_flag)
                {
                    k1_flag=0;
                    setok=2;
                    position=0;           //zd 060918 此处position=0无意义
                }
                if(k2_flag)
                {
                    k2_flag=0;
                    if(position==1)
                    {
                        adds0++;
                        if(adds0>9)adds0=0;
                    }
                    else if(position==2)
                    {
                        adds1++;
                        if(adds1>9)adds1=0;
                    }
                    else if(position==3)
                    {
                        adds2++;
                        if(adds2>9)adds2=0;
                    }
                }
                if(k3_flag)
                {
                    k3_flag=0;
                    if(position==1)
                    {
                        adds0--;
                        if(adds0>9)adds0=9;
                    }
                    else if(position==2)
                    {
                        adds1--;
                        if(adds1>9)adds1=9;
                    }
                    else if(position==3)
                    {
                        adds2--;
                        if(adds2>9)adds2=9;
                    }
                }
                if(k4_flag)
                {
                    k4_flag=0;
                    position++;
                    if(position>3)position=1;
                }
             }
             else if(setok==2)
             {
                if(k1_flag)
                {
                    lay=0;
                    lay0=0;
                }
                if(k2_flag)
                {
                    k2_flag=0;
                    lay1=15;
                    setok=0;
                }
                if(k3_flag)
                {
                    k3_flag=0;
                    lay1=2;
                    setok=0;
                }
                if(k4_flag)
                {
                    k4_flag=0;
                    setok=1;
                    position=1;
                }
             }
             else if(setok==3)
             {
                if(k1_flag)
                {
                    k1_flag=0;
                    lay=1;
                    lay1=1;
                    setok=0;
                }
                if(k2_flag)k2_flag=0;
                if(k3_flag)k3_flag=0;
                if(k4_flag)k4_flag=0;
             }      
        }
        if(lay==1&&lay1==2)//波特率 1200-0/2400-1/4800-2/9600-3/19200-4
        {
            if(setok==0)
            {
                if(k1_flag)
                {
                    k1_flag=0;
                    lay=0;
                    lay0=0;
                }
                else if(k2_flag)
                {
                    k2_flag=0;
                    lay1=1;
                }
                else if(k3_flag)
                {

⌨️ 快捷键说明

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