📄 set.h
字号:
sbit p30=P3^0; //设置选中
sbit p31=P3^1; //增加
sbit p32=P3^2; //减少
sbit p33=P3^3; //测试使用
sbit p10=P1^0;
void add_sub(void)
{
if(!p31)
{
tmp++;
switch(flg)
{
case 1:if(tmp>99)tmp=10;break;
case 2:if(tmp>12)tmp=6;break;
case 3:if(tmp>31)tmp=15;break;
case 4:if(tmp>23)tmp=12;break;
case 5:if(tmp>59)tmp=30;break;
case 6:if(tmp>59)tmp=30;break;
}
while(!p31);
}
if(!p32){tmp--;if(tmp<0)tmp=30;while(!p32);}
}
void set_time(void)
{
if(!p30){flg=flg+1;if(flg>6)flg=0;while(!p30);}
while(flg)
{ if(!p30){flg=flg+1;if(flg>6)flg=0;while(!p30);}
if(flg==1){tmp=dat[0]*10+dat[1];add_sub();DS1302_SetTime(0x8c,tmp);dat[0]=tmp/10;dat[1]=tmp%10;}//year
if(flg==2){tmp=((Read1302(0x88)&0x70)>>4)*10 + Read1302(0x88)&0x0F;add_sub();DS1302_SetTime(0x88,tmp);dat[3]=tmp/10;dat[4]=tmp%10;}//mounth
if(flg==3){tmp=((Read1302(0x86)&0x70)>>4)*10 + Read1302(0x86)&0x0F;add_sub();DS1302_SetTime(0x86,tmp);dat[6]=tmp/10;dat[7]=tmp%10;}//day
if(flg==4){tmp=((Read1302(0x84)&0x70)>>4)*10 + Read1302(0x84)&0x0F;add_sub();DS1302_SetTime(0x84,tmp);dat[9]=tmp/10;dat[10]=tmp%10;}//hour
if(flg==5){tmp=((Read1302(0x82)&0x70)>>4)*10 + Read1302(0x82)&0x0F;add_sub();DS1302_SetTime(0x82,tmp);dat[12]=tmp/10;dat[13]=tmp%10;}//min
if(flg==6){tmp=((Read1302(0x80)&0x70)>>4)*10 + Read1302(0x80)&0x0F;add_sub();DS1302_SetTime(0x80,tmp);dat[15]=tmp/10;dat[16]=tmp%10;}//sec
if(flg==0){break; }
noline(2,3,dat);
}
}
void inv_(void)
{
char flg2,t;flg2=0;
t=dat2[15]*10+dat2[16]-dat1[15]*10-dat1[16]; //s
if(t<0){t+=60;flg2=1;}
dat3[10]=t%10;
dat3[9]=t/10;
t=dat2[12]*10+dat2[13]-dat1[12]*10-dat1[13]; //m
if(flg2) t-=1;
flg2=0;
if(t<0){t+=60;flg2=1;}
dat3[7]=t%10;
dat3[6]=t/10;
t=dat2[9]*10+dat2[10]-dat1[9]*10-dat1[10]; //h
if(flg2) t-=1;
flg2=0;
if(t<0){t+=24;flg2=1;}
dat3[4]=t%10;
dat3[3]=t/10;
t=dat2[6]*10+dat2[7]-dat1[6]*10-dat1[7]; //d
if(flg2) t-=1;
flg2=0;
if(t<0){t+=30;flg2=1;}
dat3[1]=t%10;
dat3[0]=t/10;
}
void inv_time(void)
{
char i;
if(flg1==0)
{
for (i=0;i<17;i++)
dat1[i]=dat2[i]=dat[i];
}
if(flg1==1)
{
for (i=0;i<17;i++)
dat2[i]=dat[i];
}
if(!p33 & !flg1)flg1=1;//按下
if(p33 & flg1)flg1=2;//弹起
if(!p33 & flg1==2)flg1=0;//再次按下
inv_();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -