📄 settime.c
字号:
#include <math.h>
#include "option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"
#include "touch1.h"
#include "ads7843.h"
#include "rtc.h"
#include "GUI.H"
extern int Sec_Old,nsec,Hour_Old,nhour,Min_Old,nmin,Year_Old,nyear,Month_Old,nmonth,Day_Old,nday,Old_WeekDay,nweekday;
extern const GUI_BITMAP bmad;
extern const GUI_BITMAP bmtimer;
int it,jt;
char Select_MainFunction()
{
U8 i=1;
U32 j=0;
//GUI_DrawBitmap(&bmad,0,20);
// GUI_DrawBitmap(&bmtimer,320,20);
GUI_SetFont(&GUI_FontHZ12);
GUI_DispStringAt("华南农业大学 工程学院 03硕士 电子技术与电子计算机研究方向 王 磊 制作",10,30);
GUI_SetColor(GUI_GREEN);
GUI_DispStringAt("请选择主功能: 多通道数据采集与存储 基于uCOS II和uCGUI的表盘时钟(默认)",10,120);
while(1)
{
TP_GetScrXY(&it,&jt);
Delay(1000);
if( (it>0&&it<320)&&(jt>0&&jt<239))
{
i=0;
break;
}
if( (it>320&&it<640)&&(jt>0&&jt<239))
{
i=1;
break;
}
j++;
if(j>=300) break;
}
return i;
}
void Disp_Touch(void)
{
TP_GetScrXY(&it,&jt);
Delay(1000);
GUI_ClearRect(0,0,300,20);
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringAt("Touch At",60,2);
GUI_DispDecAt(it,160,4,3);
GUI_DispDecAt(jt,200,4,3);
rRTCCON=0x01;
}
void Set_Time (void)
{ int k;
if(TP_IRQ==0)
{
k=0;
Disp_Touch();
if( (it>60&&it<105)&&(jt>60&&jt<105))
{
while(1)
{
if(TP_IRQ==0)
{
k=0;
Disp_Touch();
if( (it>0&&it<300)&&(jt>0&&jt<50))
{
rBCDHOUR++;
if ((rBCDHOUR&0x0f)>=10)
{
rBCDHOUR +=0x10;
rBCDHOUR &=0xf0;
}
if (rBCDHOUR>=0x24) rBCDHOUR=0;
}
if((it>0&&it<300)&&(jt>110&&jt<230))
{
rBCDHOUR--;
if (rBCDHOUR==0) rBCDHOUR=0x23;
if ((rBCDHOUR&0x0f)==0)
{
rBCDHOUR -=0x10;
rBCDHOUR|=0x0a;
}
}
}
Read_Rtc();
if(Hour_Old!=nhour)
{
Hour_Old=nhour;
Sec();
}
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringAt("______",60,72);
k++;
if ((k>10000)||(it>300&&it<639)) break;
}
}
if( (it>130&&it<185)&&(jt>55&&jt<95))
{
while(1)
{
if(TP_IRQ==0)
{
k=0;
Disp_Touch();
if( (it>0&&it<300)&&(jt>0&&jt<50))
{
rBCDMIN++;
if ((rBCDMIN&0x0f)>=10)
{
rBCDMIN +=0x10;
rBCDMIN &=0xf0;
}
if (rBCDMIN>=0x5A) rBCDMIN=0;
}
if((it>0&&it<300)&&(jt>110&&jt<230))
{
rBCDMIN--;
if (rBCDMIN==0) rBCDMIN=0x59;
if ((rBCDMIN&0x0f)==0)
{
rBCDMIN -=0x10;
rBCDMIN|=0x0a;
}
}
}
Read_Rtc();
if(Min_Old!=nmin)
{
Min_Old=nmin;
Sec();
}
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringAt("______",130,72);
k++;
if ((k>10000)||(it>300&&it<639)) break;
}
}
////////////***************** 以下为设置 年 /////////////////////
if( (it>65&&it<100)&&(jt>110&&jt<136))
{
while(1)
{
if(TP_IRQ==0)
{
k=0;
Disp_Touch();
if( (it>0&&it<300)&&(jt>0&&jt<100))
{
rBCDYEAR++;
if ((rBCDYEAR&0x0f)>=10)
{
rBCDYEAR +=0x10;
rBCDYEAR &=0xf0;
}
if (rBCDYEAR>=0x9A) rBCDYEAR=0;
}
if((it>0&&it<300)&&(jt>140&&jt<230))
{
rBCDYEAR--;
if (rBCDYEAR==0) rBCDYEAR=0x99;
if ((rBCDYEAR&0x0f)==0)
{
rBCDYEAR -=0x10;
rBCDYEAR|=0x0a;
}
}
}
Read_Rtc();
if(Year_Old!=nyear)
{
Year_Old=nyear;
Sec();
}
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringAt("___",70,115);
k++;
if ((k>10000)||(it>300&&it<639)) break;
}
}
/////////////////////////////////////////////////以下设置 月
if( (it>115&&it<149)&&(jt>110&&jt<136))
{
while(1)
{
if(TP_IRQ==0)
{
k=0;
Disp_Touch();
if( (it>0&&it<300)&&(jt>0&&jt<100))
{
rBCDMON++;
if ((rBCDMON&0x0f)>=10)
{
rBCDMON +=0x10;
rBCDMON &=0xf0;
}
if (rBCDMON>=0x13) rBCDMON=1;
}
if((it>0&&it<300)&&(jt>110&&jt<230))
{
rBCDMON--;
if (rBCDMON==0) rBCDMON=0x12;
if ((rBCDMON&0x0f)==0)
{
rBCDMON -=0x10;
rBCDMON|=0x0a;
}
}
}
Read_Rtc();
if(Month_Old!=nmonth)
{
Month_Old=nmonth;
Sec();
}
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringAt("___",113,115);
k++;
if ((k>10000)||(it>300&&it<639)) break;
}
}
////////////////////////////////////////////日期
if( (it>166&&it<201)&&(jt>110&&jt<136))
{
while(1)
{
if(TP_IRQ==0)
{
k=0;
Disp_Touch();
if( (it>0&&it<300)&&(jt>0&&jt<100))
{
rBCDDAY++;
if ((rBCDDAY&0x0f)>=10)
{
rBCDDAY +=0x10;
rBCDDAY &=0xf0;
}
if (rBCDDAY>=0x32) rBCDDAY=1;
}
if((it>0&&it<300)&&(jt>110&&jt<230))
{
rBCDDAY--;
if (rBCDDAY==0) rBCDDAY=0x31;
if ((rBCDDAY&0x0f)==0)
{
rBCDDAY -=0x10;
rBCDDAY|=0x0a;
}
}
}
Read_Rtc();
if(Day_Old!=nday)
{
Day_Old=nday;
Sec();
}
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringAt("___",163,115);
k++;
if ((k>10000)||(it>300&&it<639)) break;
}
}
///////////////////////////////////////////星期//
if( (it>196&&it<281)&&(jt>110&&jt<136))
{
while(1)
{
if(TP_IRQ==0)
{
k=0;
Disp_Touch();
if( (it>0&&it<300)&&(jt>0&&jt<100))
{
rBCDDATE++;
if ((rBCDDATE>=0x8)||(rBCDDATE==0)) rBCDDATE=1;
}
if((it>0&&it<300)&&(jt>110&&jt<230))
{
rBCDDATE--;
if (rBCDDATE==0) rBCDDATE=0x7;
}
}
Read_Rtc();
if(Old_WeekDay!=nweekday)
{
Old_WeekDay=nweekday;
Sec();
}
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringAt("__",235,115);
k++;
if ((k>10000)||(it>300&&it<639)) break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -