📄 system.c
字号:
LCD501_Bitmap(10,35,(unsigned int*)encoding_xing);
LCD501_Bitmap(30,35,(unsigned int*)encoding_qi);
LCD501_Bitmap(0,50,(unsigned int*)encoding_nong);
LCD501_Bitmap(12,50,(unsigned int*)encoding_li);
LCD501_Bitmap(20,18,(unsigned int*)encoding_maohao);
LCD501_Bitmap(48,18,(unsigned int*)encoding_maohao);
LCD501_Bitmap(48,50,(unsigned int*)encoding_month);
LCD501_Bitmap(72,50,(unsigned int*)encoding_day);
LCD501_Bitmap(90,50,(unsigned int*)encoding_nao);
LCD501_Bitmap(102,50,(unsigned int*)encoding_zhong);
LCD501_Bitmap(90,10,(unsigned int*)BMP_Cartoon[counter]);
if((nmonth==(glunarmonthday[year-2001] & 0x000f)) && runflag==1)
LCD501_Bitmap(24,50,(unsigned int*)encoding_run); //如果是当年的闰月,则显示闰字,否则不显示。
else
LCD501_Bitmap(24,50,(unsigned int*)encoding_offempty);
}
//===============================================================//
//语法格式: void display()
//实现功能:显示正常运行界面
//参数 :
//返回值 :无
//==============================================================//
void display()
{
openshow(); //在屏幕上显示固定的单元
showsec(sec); //调用显示秒单元子函数
showmin(min); //调用显示分单元子函数
showhour(hour); //调用显示小时单元子函数
showyear(year); //调用显示年单元子函数
showgmonth(gmonth); //调有显示公历月单元子函数
showgday(gday); //调用显示公历日单元子函数
showxq(xqvalue); //调用显示星期单元子函数
shownmonth(nmonth); //调用显示农历月单元子函数
shownday(nday); //调用显示农历日单元子函数
switch(onoff) //显示闹钟的开关
{
case 1:
LCD501_Bitmap(114,50,(unsigned int*)encoding_offempty);
LCD501_Bitmap(114,50,(unsigned int*)encoding_off);
break;
case 0:
LCD501_Bitmap(114,50,(unsigned int*)encoding_offempty);
LCD501_Bitmap(114,50,(unsigned int*)encoding_on);
break;
}
}
//===============================================================//
//语法格式: void displaymodify(keynowvalue)
//实现功能:时间日期调整界面
//参数 :keynowvalue当前闪烁
//返回值 :无
//==============================================================//
void displaymodify(keynowvalue)
{
openshow(); //在屏幕上显示固定的单元
showxq(xqvalue); //调用显示星期单元子函数
switch(onoff) //判断当前的闹钟的开关,如果开,则在屏幕上显示开
{ //否则显示关。
case 1:
LCD501_Bitmap(114,50,(unsigned int*)encoding_offempty);
LCD501_Bitmap(114,50,(unsigned int*)encoding_off);
break;
case 0:
LCD501_Bitmap(114,50,(unsigned int*)encoding_offempty);
LCD501_Bitmap(114,50,(unsigned int*)encoding_on);
break;
}
switch(keynowvalue)
{
case 0:
if(int2hz==0)
showyear(year);
else
{
LCD501_PutChar(18,2,' ');
LCD501_PutChar(12,2,' ');
LCD501_PutChar(6,2,' ');
}
showsec(sec); //调用显示秒单元子函数
showmin(min); //调用显示分单元子函数
showhour(hour); //调用显示小时单元子函数
showgmonth(gmonth); //调有显示公历月单元子函数
showgday(gday); //调用显示公历日单元子函数
shownmonth(nmonth); //调用显示农历月单元子函数
shownday(nday); //调用显示农历日单元子函数
break;
case 2:
if(int2hz==0)
showgmonth(gmonth);
else
{
LCD501_PutChar(42,2,' ');
LCD501_PutChar(36,2,' ');
}
showsec(sec); //调用显示秒单元子函数
showmin(min); //调用显示分单元子函数
showhour(hour); //调用显示小时单元子函数
showyear(year); //调有显示公历月单元子函数
showgday(gday); //调用显示公历日单元子函数
shownmonth(nmonth); //调用显示农历月单元子函数
shownday(nday); //调用显示农历日单元子函数
break;
case 4:
if(int2hz==0)
showgday(gday);
else
{
LCD501_PutChar(66,2,' ');
LCD501_PutChar(60,2,' ');
}
showsec(sec); //调用显示秒单元子函数
showmin(min); //调用显示分单元子函数
showhour(hour); //调用显示小时单元子函数
showgmonth(gmonth); //调有显示公历月单元子函数
showyear(year); //调用显示公历日单元子函数
shownmonth(nmonth); //调用显示农历月单元子函数
shownday(nday); //调用显示农历日单元子函数
break;
case 6:
if(int2hz==0)
showhour(hour);
else
{
LCD501_PutChar(12,20,' ');
LCD501_PutChar(6,20,' ');
}
showsec(sec); //调用显示秒单元子函数
showmin(min); //调用显示分单元子函数
showyear(year); //调用显示小时单元子函数
showgmonth(gmonth); //调有显示公历月单元子函数
showgday(gday); //调用显示公历日单元子函数
shownmonth(nmonth); //调用显示农历月单元子函数
shownday(nday); //调用显示农历日单元子函数
break;
case 8:
if(int2hz==0)
showmin(min);
else
{
LCD501_PutChar(40,20,' ');
LCD501_PutChar(34,20,' ');
}
showsec(sec); //调用显示秒单元子函数
showyear(year); //调用显示分单元子函数
showhour(hour); //调用显示小时单元子函数
showgmonth(gmonth); //调有显示公历月单元子函数
showgday(gday); //调用显示公历日单元子函数
shownmonth(nmonth); //调用显示农历月单元子函数
shownday(nday); //调用显示农历日单元子函数
break;
case 10:
if(int2hz==0)
showsec(sec);
else
{
LCD501_PutChar(66,20,' ');
LCD501_PutChar(60,20,' ');
}
showyear(year); //调用显示秒单元子函数
showmin(min); //调用显示分单元子函数
showhour(hour); //调用显示小时单元子函数
showgmonth(gmonth); //调有显示公历月单元子函数
showgday(gday); //调用显示公历日单元子函数
shownmonth(nmonth); //调用显示农历月单元子函数
shownday(nday); //调用显示农历日单元子函数
break;
case 12:
if(int2hz==0)
shownmonth(nmonth);
else
{
LCD501_PutChar(42,52,' ');
LCD501_PutChar(36,52,' ');
}
showsec(sec); //调用显示秒单元子函数
showmin(min); //调用显示分单元子函数
showhour(hour); //调用显示小时单元子函数
showgmonth(gmonth); //调有显示公历月单元子函数
showgday(gday); //调用显示公历日单元子函数
showyear(year); //调用显示农历月单元子函数
shownday(nday); //调用显示农历日单元子函数
break;
case 14:
if(int2hz==0)
shownday(nday);
else
{
LCD501_PutChar(66,52,' ');
LCD501_PutChar(60,52,' ');
}
showsec(sec); //调用显示秒单元子函数
showmin(min); //调用显示分单元子函数
showhour(hour); //调用显示小时单元子函数
showgmonth(gmonth); //调有显示公历月单元子函数
showgday(gday); //调用显示公历日单元子函数
shownmonth(nmonth); //调用显示农历月单元子函数
showyear(year); //调用显示农历日单元子函数
break;
}
}
//===============================================================//
//语法格式: void nextdisplay()
//实现功能:显示时间日期调整及功能选择界面
//参数 :无
//返回值 :无
//==============================================================//
void nextdisplay() //显示时间日期调整子程序
{
LCD501_Bitmap(28,0,(unsigned int*)encoding_shi); //时
LCD501_Bitmap(40,0,(unsigned int*)encoding_jian); //间
LCD501_Bitmap(52,0,(unsigned int*)encoding_day); //日
LCD501_Bitmap(64,0,(unsigned int*)encoding_qi); //期
LCD501_Bitmap(76,0,(unsigned int*)encoding_tiao); //调
LCD501_Bitmap(88,0,(unsigned int*)encoding_zheng); //整
LCD501_Bitmap(28,15,(unsigned int*)encoding_nao); //闹
LCD501_Bitmap(40,15,(unsigned int*)encoding_zhong); //钟
LCD501_Bitmap(52,15,(unsigned int*)encoding_she); //设
LCD501_Bitmap(64,15,(unsigned int*)encoding_zhi); //置
LCD501_Bitmap(28,45,(unsigned int*)encoding_fan); //返
LCD501_Bitmap(40,45,(unsigned int*)encoding_hui); //回
LCD501_Bitmap(28,30,(unsigned int*)encoding_miao); //秒
LCD501_Bitmap(40,30,(unsigned int*)encoding_biao); //表
LCD501_Bitmap(52,30,(unsigned int*)encoding_gong); //功
LCD501_Bitmap(64,30,(unsigned int*)encoding_neng); //能
}
//===============================================================//
//语法格式: void setday()
//实现功能:显示时间日期调整界面
//参数 :无
//返回值 :无
//==============================================================//
void setday()
{
int j = 0;
LCD501_ClrScreen(0); //调用清屏函数
keyflag3 = 1; //置位键按下标志
while(keyflag3==1)
{
keyscan(); //键盘扫描
if(keyvalue!=0)
display();
else
displaymodify(j); //调用时间日期显示界面
switch(keyvalue)
{
case 0x0001:
if(j==14) //如果光标已经到了最后的一个位置
{ //则退出调整界面
keyflag3 = 0;
LCD501_ClrScreen(0); // 退出循环,清屏
}
else //根据按键修改光标的位置
j = j+2;
break;
case 0x0002: //如果是KEY2按下,那么光标所对应的值进行加操作
switch(j)
{
case 0:
if(year>=2100)
year = 2001;
else
year = ++year;
break;
case 2:
if(gmonth==12)
gmonth = 1;
else
gmonth = ++gmonth;
break;
case 4:
if(gday==31)
gday = 1;
else
gday = ++gday;
break;
case 6:
if(hour==24)
hour = 0;
else
hour = ++hour;
break;
case 8:
if(min==60)
min = 0;
else
min = ++min;
break;
case 10:
if(sec==60)
sec = 0;
else
sec = ++sec;
break;
case 12:
if(nmonth==12)
nmonth = 1;
else
nmonth = ++nmonth;
break;
case 14:
if(nday==30)
nday = 0;
else
nday = ++nday;
break;
}
break;
case 0x0004: //如果是KEY3按下,那么光标所对应的值进行减操作
switch(j)
{
case 0:
if(year<=2001)
year = 2100;
else
year = --year;
break;
case 2:
if(gmonth==1)
gmonth = 12;
else
gmonth = --gmonth;
break;
case 4:
if(gday==1)
gday = 31;
else
gday = --gday;
break;
case 6:
if(hour==0)
hour = 23;
else
hour = --hour;
break;
case 8:
if(min==0)
min = 59;
else
min = --min;
break;
case 10:
if(sec==0)
sec = 60;
else
sec = --sec;
break;
case 12:
if(nmonth==1)
nmonth = 12;
else
nmonth = --nmonth;
break;
case 14:
if(nday==1)
nday = 30;
else
nday = --nday;
break;
}
break;
}
}
}
//===============================================================//
//语法格式:void naoclockshow1(shownhour,shownmin,keynow)
//实现功能:显示闹钟调整界面
//参数 :shownhour,shownmin,keynow,闹钟的小时,分钟,当前光标
//返回值 :无
//==============================================================//
void naoclockshow1(shownhour,shownmin,keynow) //显示闹钟调整界面
{
int clockhourshi=0;
int clockhourge=0;
int clockminshi=0;
int clockminge=0;
LCD501_Bitmap(37,20,(unsigned int*)encoding_nao); //闹
LCD501_Bitmap(49,20,(unsigned int*)encoding_zhong); //钟
LCD501_Bitmap(61,20,(unsigned int*)encoding_she); //设
LCD501_Bitmap(73,20,(unsigned int*)encoding_zhi); //置
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -