📄 menu.c
字号:
/**/
/**/ sub1_2();
/**/
/**/ temp_D[0]=TIME.YEAR;
/**/ temp_D[1]=TIME.MONTH;
/**/ temp_D[2]=TIME.DATE;
/**/ temp_D[3]=TIME.DAY;
/**/
/**/ for(i=0;i<4;i++)
/**/ {
/**/ x[i][0]=(temp_D[i]-temp_D[i]%10)/10+0x30;
/**/ x[i][1]=temp_D[i]%10+0x30;
/**/ DIS_LCD(3,2*i+1,x[i],2);
/**/ }
/***********************************************年月日周输入*********************************************/
/**/ for(i=0;i<4;i++)
/**/ {
/**/ jump=1;
/**/ while(jump)
/**/ {
/**/ do
/**/ {
/**/ keynum=KEY_SCAN();
/**/ }while(!keynum);
/**/
/**/ switch(keynum)
/**/ {
/**/ case 1: if(temp_D[0]==99) {temp_D[0]=0; break;}
/**/ if(temp_D[1]==12) {temp_D[1]=0; break;}
/**/ if(temp_D[2]==28&&temp_D[1]==2&&temp_D[0]%4==0)
/**/ {temp_D[2]=0; break;}
/**/ if(temp_D[2]==29&&temp_D[1]==2)
/**/ {temp_D[2]=0; break;}
/**/ if(temp_D[2]==30&&temp_D[1]==4&&temp_D[1]==6&&temp_D[1]==9&&temp_D[1]==11)
/**/ {temp_D[2]=0; break;}
/**/ if(temp_D[2]==31) {temp_D[2]=0; break;}
/**/ if(temp_D[3]== 7) {temp_D[2]=0; break;}
/**/ temp_D[i]++; break;
/**/ case 2: if(temp_D[0]== 0) {temp_D[0]=99; break;}
/**/ if(temp_D[1]== 0) {temp_D[1]=12; break;}
/**/ if(temp_D[2]== 0&&temp_D[1]==2&&temp_D[0]%4==0)
/**/ {temp_D[2]=28; break;}
/**/ if(temp_D[2]== 0&&temp_D[1]==2)
/**/ {temp_D[2]=29; break;}
/**/ if(temp_D[2]== 0&&temp_D[1]==4&&temp_D[1]==6&&temp_D[1]==9&&temp_D[1]==11)
/**/ {temp_D[2]=30; break;}
/**/ if(temp_D[2]== 0) {temp_D[2]=31; break;}
/**/ if(temp_D[3]== 0) {temp_D[2]=7; break;}
/**/ temp_D[i]--; break;
/**/ case 3: if(temp_D[0]>=95) {temp_D[0]-=95; break;}
/**/ if(temp_D[1]>= 8) {temp_D[1]-=8; break;}
/**/ if(temp_D[2]>=24&&temp_D[1]==2&&temp_D[0]%4==0)
/**/ {temp_D[2]-=24; break;}
/**/ if(temp_D[2]>=25&&temp_D[1]==2)
/**/ {temp_D[2]-=25; break;}
/**/ if(temp_D[2]>=26&&temp_D[1]==4&&temp_D[1]==6&&temp_D[1]==9&&temp_D[1]==11)
/**/ {temp_D[2]-=26; break;}
/**/ if(temp_D[2]>=27) {temp_D[2]-=27; break;}
/**/ if(temp_D[3]>= 3) {temp_D[2]-=3; break;}
/**/ temp_D[i]+=5; break;
/**/ case 4: if(temp_D[0]<=4) {temp_D[0]+=95; break;}
/**/ if(temp_D[1]<=4) {temp_D[1]+=8; break;}
/**/ if(temp_D[2]<=4&&temp_D[1]==2&&temp_D[0]%4==0)
/**/ {temp_D[2]+=24; break;}
/**/ if(temp_D[2]<=4&&temp_D[1]==2)
/**/ {temp_D[2]+=25; break;}
/**/ if(temp_D[2]<=4&&temp_D[1]==4&&temp_D[1]==6&&temp_D[1]==9&&temp_D[1]==11)
/**/ {temp_D[2]+=26; break;}
/**/ if(temp_D[2]<=4) {temp_D[2]+=27; break;}
/**/ if(temp_D[3]<=4) {temp_D[2]+=3; break;}
/**/ temp_D[i]-=5; break;
/**/ case 5: jump=0;
/**/ } //switch
/**/
/**/ x[i][0]=(temp_D[i]-temp_D[i]%10)/10+0x30;
/**/ x[i][1]=temp_D[i]%10+0x30;
/**/ DIS_LCD(3,2*i+1,x[i],2);
/**/ } //while
/**/ } //for
/**/
/**/ TIME.YEAR = temp_D[0];
/**/ TIME.MONTH = temp_D[1];
/**/ TIME.DATE = temp_D[2];
/**/ TIME.DAY = temp_D[3];
/**/
/**/ return TRUE;
/**/ } //fun1_1
/********************************************************************************************************/
/********************************1)扩展菜单_子3功能服务函数(保存设置)************************************/
/**/ bool fun1_3(void)
/**/ {
/**/ v_Set1302();
/**/ return TRUE;
/**/ }
/********************************************************************************************************/
/************************************2)扩展菜单功能服务函数(LCD背光)*************************************************/
/**/
/**/ bool fun2(void)
/**/ {
/**/ sub2(); //2)扩展菜单调用
/**/ while(1)
/**/ {
/**/ do //扫描并等待按键
/**/ {
/**/ keynum=KEY_SCAN();
/**/ }while(!keynum);
/**/
/**/ switch(keynum)
/**/ {
/**/ case 2:
/**/ W_8255(0x06,1); //LCD背光点亮
/**/ break;
/**/ case 3:
/**/ W_8255(0x07,1); //LCD背光取消
/**/ break;
/**/ case 4:
/**/ return TRUE;
/**/ } //switch
/**/ } //while
/**/ } //fun2
/********************************************************************************************************************/
/****************************************4)扩展菜单功能服务函数******************************************************/
/**/ bool fun4(void)
/**/ {
/**/ sub4(); //4)扩展菜单调用
/**/ while(1)
/**/ {
/**/ do //扫描并等待按键
/**/ {
/**/ keynum=KEY_SCAN();
/**/ }while(!keynum);
/**/
/**/ switch(keynum)
/**/ {
/**/ case 2:
/**/ fun4_0();
/**/ case 3:
/**/ fun4_1();
/**/ break;
/**/ case 4:
/**/ return TRUE;
/**/ } //switch
/**/ } //while
/**/ } //fun4
/********************************************************************************************************************/
/********************************4)扩展菜单_子0功能服务函数(测试阶段)************************************/
/**/ bool fun4_0(void)
/**/ {
/**/ char str[8],a,b,tph_t,tpl_t;
/**/ struct S_TIME x;
/**/
/**/ W_LCD(0x01,1); //清屏
/**/ delayms(10);
/**/
/**/ LCDLineXy(0,0,62,0);
/**/ LCDLineXy(62,1,62,62);
/**/ LCDLineXy(61,62,0,62);
/**/ LCDLineXy(0,61,0,1);
/**/
/**/ DIS_LCD(1,5,"时间:",5);
/**/
/**/ INDEX(TIME.HR,TIME.MIN,TIME.SEC);
/**/
/**/ while(1)
/**/ {
/**/ x=TIME;
/**/ v_Get1302();
/**/
/**/ INDEX(TIME.HR,TIME.MIN,TIME.SEC);
/**/ a=TIME.HR>>4;
/**/ b=TIME.HR&0x0F;
/**/ str[0]=a+0x30;
/**/ str[1]=b+0x30;
/**/ str[2]=':';
/**/ a=TIME.MIN>>4;
/**/ b=TIME.MIN&0x0F;
/**/ str[3]=a+0x30;
/**/ str[4]=b+0x30;
/**/ str[5]=':';
/**/ a=TIME.SEC>>4;
/**/ b=TIME.SEC&0x0F;
/**/ str[6]=a+0x30;
/**/ str[7]=b+0x30;
/**/
/**/ DIS_LCD(2,5,str,8);
/**/ } //while
/**/
/**/ return TRUE;
/**/ }
/********************************************************************************************************/
/********************************4)扩展菜单_子1功能服务函数(运行开始)************************************/
/**/ bool fun4_1(void)
/**/ {
/**/ uchar tph_t,tpl_t;
/**/ struct S_TIME x;
/**/
/**/ sub4_1();
/**/ DIS_D_Z();
/**/ DIS_LCD(1,7,DIS_BUF_D[0],2); //年
/**/ DIS_LCD(2,1,DIS_BUF_D[1],2); //月
/**/ DIS_LCD(2,3,DIS_BUF_D[2],2); //日
/**/ DIS_LCD(2,8,DIS_BUF_D[3],2); //星期
/**/ DIS_LCD(3,2,DIS_BUF_D[4],2); //时
/**/ DIS_LCD(3,4,DIS_BUF_D[5],2); //分
/**/ DIS_LCD(3,6,DIS_BUF_D[6],2); //秒
/**/ //DIS_T_Z();
/**/ //DIS_LCD(4,3,DIS_BUF_T,9);
/**/
/**/ while(1)
/**/ {
/**/ v_Get1302();
/**/ DIS_D_Z();
/**/ DIS_LCD(1,7,DIS_BUF_D[0],2);
/**/ DIS_LCD(2,1,DIS_BUF_D[1],2);
/**/ DIS_LCD(2,3,DIS_BUF_D[2],2);
/**/ DIS_LCD(2,8,DIS_BUF_D[3],2);
/**/ DIS_LCD(3,2,DIS_BUF_D[4],2);
/**/ DIS_LCD(3,4,DIS_BUF_D[5],2);
DIS_LCD(3,6,DIS_BUF_D[6],2);
delayms(500);
/**/ } //while
/**/ return TRUE;
/**/ }
/********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -