📄 lcd多级菜单.txt
字号:
showstr[3]=(tempvar[3]%10+0x30);
showstr[4]='\0';
tm12864_writestr(6,4,showstr,0);
showstr[0]=(tempvar[4]/10+0x30);
showstr[1]=(tempvar[4]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,4,showstr,0);
showstr[0]=(tempvar[5]/1000+0x30);
showstr[1]=((tempvar[5]%1000)/100+0x30);
showstr[2]=((tempvar[5]%100)/10+0x30);
showstr[3]=(tempvar[5]%10+0x30);
showstr[4]='\0';
tm12864_writestr(6,6,showstr,0);
showstr[0]=(tempvar[6]/10+0x30);
showstr[1]=(tempvar[6]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,6,showstr,0);
}
else
{
tempvar[1]=0x00;
tempvar[2]=0x00;
tempvar[3]=0x00;
tempvar[4]=0x00;
tempvar[5]=0x00;
tempvar[6]=0x00;
}
}
if((j<4)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[1]=0;
}
tempvar[1]=((tempvar[1]*0x0a)+(int)tempkey);
j++;
}
showstr[0]=(tempvar[1]/1000+0x30);
showstr[1]=((tempvar[1]%1000)/100+0x30);
showstr[2]=((tempvar[1]%100)/10+0x30);
showstr[3]=(tempvar[1]%10+0x30);
showstr[4]='\0';
tm12864_writestr(6,2,showstr,1);
break;
case 2://获取工作时间-秒
showstr[0]=(tempvar[1]/1000+0x30);
showstr[1]=((tempvar[1]%1000)/100+0x30);
showstr[2]=((tempvar[1]%100)/10+0x30);
showstr[3]=(tempvar[1]%10+0x30);
showstr[4]='\0';
tm12864_writestr(6,2,showstr,0);
if((j<2)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[2]=0;
}
tempvar[2]=tempvar[2]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[2]/10+0x30);
showstr[1]=(tempvar[2]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,2,showstr,1);
break;
case 3://获取停止时间-分
showstr[0]=(tempvar[2]/10+0x30);
showstr[1]=(tempvar[2]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,2,showstr,0);
if((j<4)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[3]=0;
}
tempvar[3]=tempvar[3]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[3]/1000+0x30);
showstr[1]=((tempvar[3]%1000)/100+0x30);
showstr[2]=((tempvar[3]%100)/10+0x30);
showstr[3]=(tempvar[3]%10+0x30);
showstr[4]='\0';
tm12864_writestr(6,4,showstr,1);
break;
case 4://获取停止时间-秒
showstr[0]=(tempvar[3]/1000+0x30);
showstr[1]=((tempvar[3]%1000)/100+0x30);
showstr[2]=((tempvar[3]%100)/10+0x30);
showstr[3]=(tempvar[3]%10+0x30);
showstr[4]='\0';
tm12864_writestr(6,4,showstr,0);
if((j<2)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[4]=0;
}
tempvar[4]=tempvar[4]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[4]/10+0x30);
showstr[1]=(tempvar[4]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,4,showstr,1);
break;
case 5://获取间隔时间-分
showstr[0]=(tempvar[4]/10+0x30);
showstr[1]=(tempvar[4]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,4,showstr,0);
if((j<4)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[5]=0;
}
tempvar[5]=tempvar[5]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[5]/1000+0x30);
showstr[1]=((tempvar[5]%1000)/100+0x30);
showstr[2]=((tempvar[5]%100)/10+0x30);
showstr[3]=(tempvar[5]%10+0x30);
showstr[4]='\0';
tm12864_writestr(6,6,showstr,1);
break;
case 6://获取间隔时间-秒
showstr[0]=(tempvar[5]/1000+0x30);
showstr[1]=((tempvar[5]%1000)/100+0x30);
showstr[2]=((tempvar[5]%100)/10+0x30);
showstr[3]=(tempvar[5]%10+0x30);
showstr[4]='\0';
tm12864_writestr(6,6,showstr,0);
if((j<2)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[6]=0;
}
tempvar[6]=tempvar[6]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[6]/10+0x30);
showstr[1]=(tempvar[6]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,6,showstr,1);
break;
case 7://确认存储菜单
tm12864_writestr(12,6,showstr,0);
tm12864_writehz(4,5,bmp1,0);
if(tempkey==BUTTON_OK)
{
tempvar[1]=tempvar[1]*60;
tempvar[1]=tempvar[1]+tempvar[2];
tempvar[3]=tempvar[3]*60;
tempvar[3]=tempvar[3]+tempvar[4];
tempvar[5]=tempvar[5]*60;
tempvar[5]=tempvar[5]+tempvar[6];
x25045_init();
//保存工作时间
x25045_writeenable();
x25045_writeword(tempvar[1],(tempvar[0]*7-7));
//保存停止时间
x25045_writeenable();
x25045_writeword(tempvar[3],(tempvar[0]*7-5));
//保存间隔时间
x25045_writeenable();
x25045_writeword(tempvar[5],(tempvar[0]*7-3));
submenuitem=0;
showflag=0;
tempvar[0]=0x00;
j=0;
}
break;
}
tempkey=0x50;
break;
原程序3 [huxiangming] [57次] 01-11-16 下午 10:40:51
case 0x05://设置输入回路
tm12864_reset();
if(showflag==0)
{
tm12864_fillscreen(0x00);
showflag=1;
}
tm12864_writehz(2,0,sdsrhl,0);
tm12864_writehz(0,2,xzhlh,0);
tm12864_writehz(14,2,hao,0);
tm12864_writehz(0,4,lj,0);//连接
if(submenuitem!=0x03)
{
tm12864_writehz(6,4,hschl,0);//号回路
}
tm12864_writehz(0,6,gn,0);//功能
tm12864_writestr(4,6,": ",0);
switch(tempkey)
{
case BUTTON_SLAVE:
if(submenuitem<3)
{
submenuitem++;
}
else
{
submenuitem=0;
showflag=0;
tm12864_writehz(6,4,hschl,0);
tm12864_writestr(4,6,": ",0);
tempvar[0]=0;
}
if((tempvar[0]==0)||(tempvar[0]>76))
{
tempvar[0]=0;
submenuitem=0;
}
else if((tempvar[1]==0)||((tempvar[1]>36)&&(tempvar[1]!=99)))
{
tempvar[1]=0;
submenuitem=1;
}
j=0;
break;
case BUTTON_STOP:
menuitem=0x03;
submenuitem=0x01;
showflag=0;
tempvar[0]=0;
j=0;
break;
}
switch(submenuitem)
{
case 0://获取回路号
if((j<2)&&(tempkey<0x0a))
{
tempvar[0]=tempvar[0]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[0]/0x0a+0x30);
showstr[1]=(tempvar[0]%0x0a+0x30);
showstr[2]='\0';
tm12864_writestr(12,2,showstr,1);
break;
case 1://获取输出回路号
showstr[0]=(tempvar[0]/0x0a+0x30);
showstr[1]=(tempvar[0]%0x0a+0x30);
showstr[2]='\0';
tm12864_writestr(12,2,showstr,0);
if(j==0)
{
if(tempvar[0]!=0)
{
tempvar[1]=x25045_readbyte(tempvar[0]*2-2+0x100);
tempvar[2]=x25045_readbyte(tempvar[0]*2-1+0x100);
if(tempvar[2]==1)
{
tm12864_writehz(6,6,qdsc,0);
}
else
{
tm12864_writehz(6,6,tzsc,0);
}
}
else
{
tempvar[1]=0x00;
tempvar[2]=0x00;
}
}
if((j<4)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[1]=0;
}
tempvar[1]=tempvar[1]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[1]/10+0x30);
showstr[1]=(tempvar[1]%10+0x30);
showstr[2]='\0';
tm12864_writestr(4,4,showstr,1);
break;
case 2://获取功能
tm12864_writestr(4,4,showstr,0);
if(tempvar[2]==1)
{
tm12864_writehz(6,6,qdsc,1);
}
else
{
tm12864_writehz(6,6,tzsc,1);
}
if(tempkey==BUTTON_SET)
{
if(tempvar[2]==0)
{
tempvar[2]=1;
}
else
{
tempvar[2]=0;
}
}
break;
case 3://确认存储菜单
tm12864_writehz(4,5,bmp1,0);
if(tempkey==BUTTON_OK)
{
//保存参数
x25045_init();
x25045_writeenable();
x25045_writebyte(tempvar[1],(0x100+tempvar[0]*2-2));
x25045_writeenable();
x25045_writebyte(tempvar[2],(0x100+tempvar[0]*2-1));
if(tempvar[1]==99)//加入指向联动回路处理
{
x25045_writeenable();
x25045_writebyte(tempvar[0],0x00ff);
}
submenuitem=0;
showflag=0;
tempvar[0]=0;
j=0;
}
break;
}
break;
case 0x06://联锁功能选择
tm12864_reset();
if(showflag==0)
{
tm12864_fillscreen(0x00);
showflag=1;
}
tm12864_writehz(4,0,lssd,0);
switch(submenuitem)
{
case 0x00:
tm12864_writehz(0,2,ldzsd,1);
tm12864_writehz(0,4,hszsd,0);
break;
case 0x01:
tm12864_writehz(0,2,ldzsd,0);
tm12864_writehz(0,4,hszsd,1);
break;
}
switch(tempkey)
{
case BUTTON_SLAVE:
if(submenuitem<1)
{
submenuitem++;
}
else
{
submenuitem=0;
showflag=0;
}
break;
case BUTTON_OK:
menuitem=0x0b+submenuitem;
submenuitem=0x00;
showflag=0;
for(i=0;i<9;i++)
{
tempvar=0;
}
j=0;
break;
case BUTTON_STOP:
menuitem=0x03;
submenuitem=0x02;
showflag=0;
break;
}
break;
case 0x07://系统参数
tm12864_reset();
if(showflag==0)
{
tm12864_fillscreen(0x00);
showflag=1;
}
tm12864_writehz(4,0,xtcs,0);
switch(submenuitem)
{
case 0x00:
tm12864_writehz(0,2,srscds,1);//输入输出点数
tm12864_writehz(0,4,xtsj,0);//系统时间
tm12864_writehz(0,6,mm,0);
break;
case 0x01:
tm12864_writehz(0,2,srscds,0);//输入输出点数
tm12864_writehz(0,4,xtsj,1);//系统时间
tm12864_writehz(0,6,mm,0);
break;
case 0x02:
tm12864_writehz(0,2,srscds,0);//输入输出点数
tm12864_writehz(0,4,xtsj,0);//系统时间
tm12864_writehz(0,6,mm,1);
break;
}
switch(tempkey)
{
case BUTTON_SLAVE:
if(submenuitem<2)
{
submenuitem++;
}
else
{
submenuitem=0;
showflag=0;
}
break;
case BUTTON_OK:
menuitem=0x08+submenuitem;
submenuitem=0x00;
showflag=0;
tempvar[0]=0;
if(menuitem==0x09)
{
gettime_12887();
}
j=0;
break;
case BUTTON_STOP:
menuitem=0x03;
submenuitem=0x03;
showflag=0;
break;
}
break;
case 0x08://输入输出点数
tm12864_reset();
if(showflag==0)
{
tm12864_fillscreen(0x00);
showflag=1;
}
tm12864_writehz(2,0,srscds,0);
if(submenuitem!=0x02)
{
tm12864_writehz(0,4,srds,0);//输入点数
tm12864_writehz(0,6,scds,0);//输出点数
}
tm12864_writehz(14,4,dian,0);
tm12864_writehz(14,6,dian,0);
switch(submenuitem)
{
case 0x00:
if(j==0)
{
tempvar[1]=x25045_readbyte(INNUMBER);
tempvar[2]=x25045_readbyte(OUTNUMBER);
showstr[0]=(tempvar[2]/10+0x30);
showstr[1]=(tempvar[2]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,6,showstr,0);
}
if((j<2)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[1]=0;
}
tempvar[1]=tempvar[1]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[1]/10+0x30);
showstr[1]=(tempvar[1]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,4,showstr,1);
break;
case 0x01:
showstr[0]=(tempvar[1]/10+0x30);
showstr[1]=(tempvar[1]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,4,showstr,0);
if((j<2)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[2]=0;
}
tempvar[2]=tempvar[2]*0x0a+tempkey;
j++;
}
showstr[0]=(tempvar[2]/10+0x30);
showstr[1]=(tempvar[2]%10+0x30);
showstr[2]='\0';
tm12864_writestr(12,6,showstr,1);
break;
case 0x02://确认存储菜单
tm12864_writehz(4,5,bmp1,0);
if(tempkey==BUTTON_OK)
{
//保存参数
x25045_init();
x25045_writeenable();
x25045_writebyte(tempvar[1],INNUMBER);
x25045_writeenable();
x25045_writebyte(tempvar[2],OUTNUMBER);
menuitem=0x07;
submenuitem=0;
showflag=0;
tempvar[0]=0;
j=0;
}
break;
}
switch(tempkey)
{
case BUTTON_SLAVE:
if(submenuitem<2)
{
submenuitem++;
}
else
{
submenuitem=0;
showflag=0;
tempvar[0]=0;
}
if(tempvar[1]>12)
{
tempvar[1]=0;
submenuitem=0;
}
else if((tempvar[2]>32)||(tempvar[2]==0))
{
tempvar[2]=0;
submenuitem=1;
}
j=0;
break;
case BUTTON_STOP:
menuitem=0x07;
submenuitem=0x00;
showflag=0;
tempvar[0]=0;
j=0;
break;
}
break;
case 0x09://系统时间
tm12864_reset();
if(showflag==0)
{
tm12864_fillscreen(0x00);
showflag=1;
showstr[0]=(tempvar[0]/1000+0x30);
showstr[1]=((tempvar[0]%1000)/100+0x30);
showstr[2]=((tempvar[0]%100)/10+0x30);
showstr[3]=(tempvar[0]%10+0x30);
showstr[4]='\0';
tm12864_writestr(0,4,showstr,0);
showstr[0]=(tempvar[1]/10+0x30);
showstr[1]=(tempvar[1]%10+0x30);
showstr[2]='\0';
tm12864_writestr(6,4,showstr,0);
showstr[0]=(tempvar[2]/10+0x30);
showstr[1]=(tempvar[2]%10+0x30);
showstr[2]='\0';
tm12864_writestr(10,4,showstr,0);
showstr[0]=(tempvar[3]/10+0x30);
showstr[1]=(tempvar[3]%10+0x30);
showstr[2]='\0';
tm12864_writestr(2,6,showstr,0);
showstr[0]=(tempvar[4]/10+0x30);
showstr[1]=(tempvar[4]%10+0x30);
showstr[2]='\0';
tm12864_writestr(6,6,showstr,0);
}
tm12864_writehz(4,0,xtsj,0);
tm12864_writehz(12,4,ri,0);
if(submenuitem!=5)
{
tm12864_writehz(4,4,nian,0);
tm12864_writehz(8,4,yue,0);
tm12864_writehz(4,6,shi,0);
tm12864_writehz(8,6,fen,0);
}
switch(tempkey)
{
case BUTTON_SLAVE:
if(submenuitem<5)
{
submenuitem++;
}
else
{
showflag=0;
submenuitem=0;
gettime_12887();
}
if(tempvar[0]<2000)
{
tempvar[0]=2001;
submenuitem=0;
}
else if((tempvar[1]>12)||(tempvar[1]==0))
{
tempvar[1]=0;
submenuitem=1;
}
else if((tempvar[2]>31)||(tempvar[2]==0))
{
tempvar[2]=0;
submenuitem=2;
}
else if(tempvar[3]>24)
{
tempvar[3]=0;
submenuitem=3;
}
else if(tempvar[4]>59)
{
tempvar[4]=0;
submenuitem=4;
}
j=0;
break;
case BUTTON_STOP:
submenuitem=0x01;
menuitem=0x07;
showflag=0;
tempvar[0]=0;
j=0;
break;
}
原程序4 [huxiangming] [58次] 01-11-16 下午 10:41:44
switch(submenuitem)
{
case 0://获取年
if((j<4)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[0]=0;
}
tempvar[0]=((tempvar[0]*0x0a)+(int)tempkey);
j++;
}
showstr[0]=(tempvar[0]/1000+0x30);
showstr[1]=((tempvar[0]%1000)/100+0x30);
showstr[2]=((tempvar[0]%100)/10+0x30);
showstr[3]=(tempvar[0]%10+0x30);
showstr[4]='\0';
tm12864_writestr(0,4,showstr,1);
break;
case 1://获取月
showstr[0]=(tempvar[0]/1000+0x30);
showstr[1]=((tempvar[0]%1000)/100+0x30);
showstr[2]=((tempvar[0]%100)/10+0x30);
showstr[3]=(tempvar[0]%10+0x30);
showstr[4]='\0';
tm12864_writestr(0,4,showstr,0);
if((j<2)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[1]=0;
}
tempvar[1]=((tempvar[1]*0x0a)+(int)tempkey);
j++;
}
showstr[0]=(tempvar[1]/10+0x30);
showstr[1]=(tempvar[1]%10+0x30);
showstr[2]='\0';
tm12864_writestr(6,4,showstr,1);
break;
case 2://获取日
showstr[0]=(tempvar[1]/10+0x30);
showstr[1]=(tempvar[1]%10+0x30);
showstr[2]='\0';
tm12864_writestr(6,4,showstr,0);
if((j<2)&&(tempkey<0x0a))
{
if(j==0)
{
tempvar[2]=0;
}
tempvar[2]=((tempvar[2]*0x0a)+(int)tempkey);
j++;
}
showstr[0]=(tempvar[2]/10+0x30);
showstr[1]=(tempvar[2]%10+0x30);
showstr[2]='\0';
tm12864_writestr(10,4,showstr,1);
break;
case 3://获取时
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -