⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settime.c

📁 An interrest demo of uCGUI base S3C44B0X
💻 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 + -