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

📄 lcd多级菜单.txt

📁 c51经典子程序代码全集
💻 TXT
📖 第 1 页 / 共 4 页
字号:
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 + -