📄 main.c
字号:
if(pos==12||pos==13||pos==14)
pos=9;
else if(pos==8||pos==5)
pos-=2;
else
pos--;
Dis_cursor(1,2+pos);
}
else
{
if(pos==21||pos==18)
pos-=2;
else
pos--;
Dis_cursor(2,pos-12);
}
}
else if(keynum<=9)
{
switch(pos)
{
case 0:
{
disp_date.year[0]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
case 1:
{
disp_date.year[1]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
case 2:
{
disp_date.year[2]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
case 3:
{
disp_date.year[3]=keynum+'0';
Disdata(keynum+'0');
pos+=2;
break;
}
case 5:
{
if(keynum>1)
break;
disp_date.month[0]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
case 6:
{
if(disp_date.month[0]==1+'0'&&keynum>2)
break;
disp_date.month[1]=keynum+'0';
Disdata(keynum+'0');
pos+=2;
break;
}
case 8:
{
if(keynum>3)
break;
disp_date.day[0]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
case 9:
{
if(disp_date.day[0]==3+'0'&&keynum>1)
break;
disp_date.day[1]=keynum+'0';
Disdata(keynum+'0');
pos+=3;
break;
}
case 12:case 13:case 14:
{
if(keynum>7||keynum==0)
break;
else
{
new_date.week=keynum;
Dis_string(1,14,dispweek[keynum-1]);
pos=15;
break;
}
}
case 15:
{
if(keynum>2)
break;
disp_time.hour[0]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
case 16:
{
if(keynum>3&&disp_time.hour[0]==2+'0')
break;
disp_time.hour[1]=keynum+'0';
Disdata(keynum+'0');
pos+=2;
break;
}
case 18:
{
if(keynum>5)
break;
disp_time.minute[0]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
case 19:
{
disp_time.minute[1]=keynum+'0';
Disdata(keynum+'0');
pos+=2;
break;
}
case 21:
{
if(keynum>5)
break;
disp_time.second[0]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
case 22:
{
disp_time.second[1]=keynum+'0';
Disdata(keynum+'0');
pos++;
break;
}
default:break;
}
}
else
{
if(pos<15)
Dis_cursor(1,2+pos);
else
Dis_cursor(2,pos-12);
}
keynum=Get_keynum(); //获取键值
}
Wrcom(0x01); //清屏
Wrcom(0x0c); //开显示,关光标及闪烁
To_value();
}
/******************更新日期,时间显示函数****************************/
void Up_disp()
{
if(new_date.year!=old_date.year||new_date.month!=old_date.month
||new_date.day!=old_date.day||new_date.week!=old_date.week)
{
old_date.year=new_date.year;
old_date.month=new_date.month;
old_date.day=new_date.day;
old_date.week=new_date.week;
}
if(old_time.hour!=new_time.hour||old_time.minute!=new_time.minute||old_time.second!=new_time.second)
{
old_time.hour=new_time.hour;
old_time.minute=new_time.minute;
old_time.second=new_time.second;
}
}
void Time_up()
{
if(alm_time.hour==new_time.hour&&alm_time.minute==new_time.minute
&&alm_time.second==new_time.second&&on==1)
{
Play();
}
}
//闹铃播放函数
void Play()
{
uchar temp1;
uint temp2;
while(on)
{
P0=0x0f;
temp1=songtab[play_point];
if(temp1==0)
{
play_point=0;
temp1=songtab[0];
}
tvar=temp1&0x0f;
temp2=musictab[temp1>>4];
TH1=temp2>>8;
hcount=TH1;
TL1=temp2&0x00ff;
lcount=TL1;
TR1=1;
Song_delay();
if(K1==0)
{
on=0;
}
play_point++;
}
P0=0x00;
TR1=0;
speaker=1;
}
/******************************************************/
void main()
{
uchar keynum;
Init();
while(1)
{
Up_disp();
To_array();
Disp_all();
Time_up();
keynum=Get_keynum(); //获取键值
if(keynum==12)
{Wrcom(0x01); //清屏
Disp_menu(); //显示菜单
keynum=Get_keynum(); //获取键值
while(keynum!=12)
{
if(keynum==1)
{
Up_value();
}
else if(keynum==2)
{
Up_alarm();
}
else if(keynum==3)
{ Disp_menu1();}
else
{;}
keynum=Get_keynum(); //获取键值
}
Wrcom(0x01); //清屏
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -