亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calender.c

?? 51單片機實驗程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
              strcpy(s, "HH:MM:SS");                  /* Create the template for the selected format   */
              s[0] = ClkHr  / 10 + '0';               /* Convert TIME to ASCII                         */
              s[1] = ClkHr  % 10 + '0';
              s[3] = ClkMin / 10 + '0';
              s[4] = ClkMin % 10 + '0';
              s[6] = ClkSec / 10 + '0';
              s[7] = ClkSec % 10 + '0';
              break;

        case  2:
              strcpy(s, "HH:MM:SS AM");               /* Create the template for the selected format   */
              s[9] = (ClkHr >= 12) ? 'P' : 'A';       /* Set AM or PM indicator                        */
              if (ClkHr > 12) 
                {                                     /* Adjust time to be displayed                   */
                  hr   = ClkHr - 12;
                } 
              else
                {
                  hr = ClkHr;
                }
              s[0] = hr     / 10 + '0';               /* Convert TIME to ASCII                         */
              s[1] = hr     % 10 + '0';
              s[3] = ClkMin / 10 + '0';
              s[4] = ClkMin % 10 + '0';
              s[6] = ClkSec / 10 + '0';
              s[7] = ClkSec % 10 + '0';
              break;

        default:
              strcpy(s, "?");
              break;
    }
}
/*
*********************************************************************************************************
*                                            UPDATE THE TIME
*
* Description : This function is called to update the time (i.e. hours, minutes and seconds)
* Arguments   : None.
* Returns     : TRUE     if we have completed one day.
*               FALSE    otherwise
* Notes       : This function updates ClkSec, ClkMin and ClkHr.
*********************************************************************************************************
*/
static  BOOL  ClkUpdateTime (void)
{
    BOOL newday;
    
    newday = FALSE;                           /* Assume that we haven't completed one whole day yet      */
    if (ClkSec >= 59)
     {                                        /* See if we have completed one minute yet                 */
          ClkSec = 0;                         /* Yes, clear seconds                                      */
          if (ClkMin >= 59)
            {                                 /*    See if we have completed one hour yet                */
              ClkMin = 0;                     /*    Yes, clear minutes                                   */
              if (ClkHr >= 23) 
               {                              /*        See if we have completed one day yet             */
                 ClkHr = 0;                   /*        Yes, clear hours ...                             */
                 newday    = TRUE;            /*        ... change flag to indicate we have a new day    */
               } 
              else
               {
                ClkHr++;                      /*        No,  increment hours                             */
               }
            }
          else
           {
            ClkMin++;                         /*    No,  increment minutes                               */
           }
     } 
    else
     {
        ClkSec++;                             /* No,  increment seconds                                  */
     }
    return (newday);
}
/*
*********************************************************************************************************
*                                          SET TIME ONLY
*
* Description : Set the time-of-day clock
* Arguments   : hr        is the desired hour    (0..23)
*               min       is the desired minutes (0..59)
*               sec       is the desired seconds (0..59)
* Returns     : None.
* Notes       : It is assumed that you are specifying a correct time (i.e. there is no range checking
*               done by this function).
*********************************************************************************************************
*/
void  Clk_set_time (UCHAR hr, UCHAR min, UCHAR sec)
{
    ENTER_CRITICAL();                         /* Gain exclusive access to time-of-day clock         */
    ClkHr  = hr;
    ClkMin = min;
    ClkSec = sec;
    EXIT_CRITICAL();                          /* Release access to time-of-day clock                */
}
/*
*********************************************************************************************************
*                                     DETERMINE IF WE HAVE A LEAP YEAR
*
* Description : This function determines whether the 'year' passed as an argument is a leap year.
* Arguments   : year    is the year to check for leap year.
* Returns     : TRUE    if 'year' is a leap year.
*               FALSE   if 'year' is NOT a leap year.
*********************************************************************************************************
*/
#if CLK_DATE_EN
static  BOOL  ClkIsLeapYear(UINT year)
{
    if (!(year % 4) && (year % 100) || !(year % 400)) 
     {
        return TRUE;
     } 
    else 
     {
        return (FALSE);
     }
}
#endif
/*
*********************************************************************************************************
*                                            SET DATE ONLY
*
* Description : Set the date of the time-of-day clock
* Arguments   : month     is the desired month (1..12)
*               day       is the desired day   (1..31)
*               year      is the desired year  (CLK_TS_BASE_YEAR .. CLK_TS_BASE_YEAR+63)
* Returns     : None.
* Notes       : It is assumed that you are specifying a correct date (i.e. there is no range checking
*               done by this function).
*********************************************************************************************************
*/
#if  CLK_DATE_EN
void  Clk_set_date (UCHAR month, UCHAR day, UINT year)
{
    ENTER_CRITICAL();                         
    ClkMonth = month;
    ClkDay   = day;
    ClkYear  = year;
    ClkUpdateDOW();                             
    EXIT_CRITICAL();                         
}
#endif
/*
*********************************************************************************************************
*                                          SET DATE AND TIME
*
* Description : Set the date and time of the time-of-day clock
* Arguments   : month     is the desired month   (1..12)
*               day       is the desired day     (1..31)
*               year      is the desired year    (2xxx)
*               hr        is the desired hour    (0..23)
*               min       is the desired minutes (0..59)
*               sec       is the desired seconds (0..59)
* Returns     : None.
* Notes       : It is assumed that you are specifying a correct date and time (i.e. there is no range
*               checking done by this function).
*********************************************************************************************************
*/

#if  CLK_DATE_EN
void  Clk_set_date_time (UCHAR month, UCHAR day, UINT year, UCHAR hr, UCHAR min, UCHAR sec)
{
    ENTER_CRITICAL();                         /* Gain exclusive access to time-of-day clock         */
    ClkMonth = month;
    ClkDay   = day;
    ClkYear  = year;
    ClkHr    = hr;
    ClkMin   = min;
    ClkSec   = sec;
    ClkUpdateDOW();                              /* Compute the day of the week (i.e. Sunday ...)      */
    EXIT_CRITICAL();                          /* Release access to time-of-day clock                */
}
#endif
/*
*********************************************************************************************************
*                                            UPDATE THE DATE
*
* Description : This function is called to update the date (i.e. month, day and year)
* Arguments   : None.
* Returns     : None.
* Notes       : This function updates ClkDay, ClkMonth, ClkYear and ClkDOW.
*********************************************************************************************************
*/
#if CLK_DATE_EN
static  void  ClkUpdateDate (void)
{
    BOOL newmonth;
    
    newmonth = TRUE;
    if (ClkDay >= ClkMonthTbl[ClkMonth].MonthDays) {  /* Last day of the month?                        */
        if (ClkMonth == 2) {                          /* Is this February?                             */
            if (ClkIsLeapYear(ClkYear) == TRUE) {     /* Yes, Is this a leap year?                     */
                if (ClkDay >= 29) {                   /* Yes, Last day in february?                    */
                    ClkDay = 1;                       /* Yes, Set to 1st day in March                  */
                } else {
                    ClkDay++;
                    newmonth = FALSE;
                }
            } else {
                ClkDay = 1;
            }
        } else {
            ClkDay = 1;
        }
    } else {
        ClkDay++;
        newmonth = FALSE;
    }
    if (newmonth == TRUE) {                      /* See if we have completed a month                   */
        if (ClkMonth >= 12) {                    /* Yes, Is this december ?                            */
            ClkMonth = 1;                        /* Yes, set month to january...                       */
            ClkYear++;                           /*      ...we have a new year!                        */
        } else {
            ClkMonth++;                          /* No,  increment the month                           */
        }
    }
    ClkUpdateDOW();                              /* Compute the day of the week (i.e. Sunday ...)      */
}
#endif
/*
*********************************************************************************************************
*                                         COMPUTE DAY-OF-WEEK
*
* Description : This function computes the day of the week (0 == Sunday) based on the current month,
*               day and year.
* Arguments   : None.
* Returns     : None.
* Notes       : - This function updates ClkDOW.
*               - This function is called by ClkUpdateDate().
*********************************************************************************************************
*/
#if CLK_DATE_EN
static  void  ClkUpdateDOW (void)
{
    UINT dow;
    
    dow = ClkDay + ClkMonthTbl[ClkMonth].MonthVal;
    if (ClkMonth < 3)
    {
        if (ClkIsLeapYear(ClkYear)) 
        {
            dow--;
        }
    }
    dow    += ClkYear + (ClkYear / 4);
    dow    += (ClkYear / 400) - (ClkYear / 100);
    dow    %= 7;
    ClkDOW  = dow;
}
#endif

//@@***********************************************************
//
//   功能:  給定的時間與當前時間比較
//   函數(shù):  int Cmp_now_time(UCHAR hr, UCHAR min, UCHAR sec)
//   語言:  C
//   輸入:         
//   輸出:  0   相等
//          >0  給定時間大于當前時間
//          <0  給定時間小于當前時間 
//   作者:  李艷平
//   日期:  2002-05-17
//@@***********************************************************
//------------------------------------------------------------- 
int Cmp_now_time(UCHAR hr, UCHAR min, UCHAR sec)
{
   if(ClkHr!=hr)
     return(hr-ClkHr);
   else if(ClkMin!= min) 
     return(min-ClkMin);   
   else
     return(sec-ClkSec);    
}

//@@***********************************************************
//
//   功能:  給定的時間與當前時間比較
//   函數(shù):  int Cmp_now_date_time(UCHAR month, UCHAR day, UINT year, UCHAR hr, UCHAR min, UCHAR sec)
//   語言:  C
//   輸入:         
//   輸出:  0   相等
//          >0  給定時間大于當前時間
//          <0  給定時間小于當前時間 
//   作者:  李艷平
//   日期:  2002-05-17
//@@***********************************************************
//------------------------------------------------------------- 
#if CLK_DATE_EN
int Cmp_now_date_time(UCHAR month, UCHAR day, UINT year, UCHAR hr, UCHAR min, UCHAR sec)
{
   if(ClkYear!=year)
       return(year-ClkYear);
   else if(ClkMonth!=month)
	   return(month-ClkMonth);
   else if(ClkDay!=day)
	   return(day-ClkDay);
   else if(ClkHr!=hr)
       return(hr-ClkHr);
   else if(ClkMin!= min) 
       return(min-ClkMin);   
   else
       return(sec-ClkSec);    
}
#endif


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美久久高跟鞋激| 欧美日高清视频| 中文字幕精品一区| 91黄色小视频| 美女网站色91| 亚洲激情欧美激情| 欧美大白屁股肥臀xxxxxx| 日韩av网站免费在线| 国产蜜臀97一区二区三区| 欧美综合亚洲图片综合区| 九九**精品视频免费播放| 亚洲激情网站免费观看| 日韩一区二区麻豆国产| 精品精品国产高清a毛片牛牛| 国产精品资源站在线| 亚洲精品老司机| 久久久国产精品不卡| 亚洲精品自拍动漫在线| 久久综合九色综合97_久久久| 在线这里只有精品| 本田岬高潮一区二区三区| 色哦色哦哦色天天综合| 韩国在线一区二区| 视频一区欧美日韩| 亚洲欧洲综合另类在线| 狠狠狠色丁香婷婷综合久久五月| 亚洲影院在线观看| 久久久久久久久久久久久夜| 91精品在线一区二区| 国产亚洲欧美在线| 欧美一区二区三区电影| 在线免费观看成人短视频| 国产精品一区二区久久精品爱涩| 欧美视频一区二| 成人av集中营| 韩国欧美一区二区| 激情综合一区二区三区| 偷拍一区二区三区四区| 亚洲一区二区三区四区五区中文| 国产精品灌醉下药二区| 久久久综合精品| 日韩一区二区在线观看视频播放| 91搞黄在线观看| 99riav久久精品riav| 国产精品一区一区| 国产麻豆91精品| 亚洲国产综合在线| 亚洲妇熟xx妇色黄| 亚洲国产欧美另类丝袜| 亚洲在线中文字幕| 亚洲精品乱码久久久久久 | 在线免费观看一区| 成人av在线电影| 不卡的电影网站| 不卡的电视剧免费网站有什么| 国产真实乱偷精品视频免| 久久激情综合网| 狂野欧美性猛交blacked| 免费人成网站在线观看欧美高清| 日韩高清一区在线| 亚洲综合色成人| 亚洲第四色夜色| 午夜婷婷国产麻豆精品| 日韩电影在线免费看| 欧美高清dvd| 欧美日韩一二三| 欧美精选午夜久久久乱码6080| 欧美一区二区三区四区久久| 日韩视频123| 久久亚洲二区三区| 国产三区在线成人av| 中文字幕一区二区三区av| 最新国产の精品合集bt伙计| 亚洲精品视频在线观看免费| 亚洲福利视频导航| 午夜精品福利在线| 精品一二三四区| 大桥未久av一区二区三区中文| www.av亚洲| 欧美中文字幕一区二区三区| 91精品国产91久久综合桃花| 久久久影院官网| 国产精品一区二区无线| 91一区二区三区在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 色激情天天射综合网| 欧美一区永久视频免费观看| 久久精品夜色噜噜亚洲a∨| 国产精品久久久久毛片软件| 亚洲国产成人91porn| 麻豆精品新av中文字幕| 99精品视频一区| 欧美日韩中文国产| 国产亚洲1区2区3区| 亚洲一区二区三区四区在线观看| 日本成人在线电影网| 国产精品一区二区在线观看不卡 | 亚洲免费观看视频| 国内久久精品视频| 欧美体内she精视频| 国产亚洲欧洲997久久综合| 亚洲成av人综合在线观看| av亚洲精华国产精华精华| 欧美sm美女调教| 午夜国产不卡在线观看视频| 不卡一区二区在线| 久久久亚洲精品一区二区三区| 婷婷国产v国产偷v亚洲高清| 99精品在线免费| 国产亚洲精久久久久久| 久久疯狂做爰流白浆xx| 91精品在线一区二区| 亚洲成人一区二区在线观看| 91片黄在线观看| 国产精品国产三级国产有无不卡| 久久激情五月激情| 欧美一区二区三区婷婷月色| 日韩在线一区二区| 欧美伊人久久久久久午夜久久久久| 国产精品国产三级国产三级人妇| 国产呦精品一区二区三区网站| 日韩午夜激情视频| 日韩电影免费在线观看网站| 欧美日韩国产美| 亚洲国产精品一区二区尤物区| 在线一区二区三区四区| 亚洲色图视频网站| 色综合一个色综合亚洲| 亚洲视频每日更新| 亚洲一区二区三区不卡国产欧美| 久久久久高清精品| 日本欧美一区二区在线观看| 欧美午夜精品免费| 亚洲免费观看高清| 91麻豆国产自产在线观看| 国产精品对白交换视频| 成a人片亚洲日本久久| 国产精品毛片无遮挡高清| 捆绑紧缚一区二区三区视频 | 欧美午夜精品一区二区蜜桃| 一区二区三区在线影院| 精品视频一区 二区 三区| 亚洲va国产va欧美va观看| 国产欧美精品国产国产专区| 日韩福利电影在线| 日韩色视频在线观看| 激情文学综合网| 欧美国产日韩精品免费观看| 99re视频精品| 亚洲一区在线看| 4438x亚洲最大成人网| 久久精品国产一区二区三| 26uuu色噜噜精品一区二区| 国产成人av资源| 一区二区三区日韩精品| 6080国产精品一区二区| 韩日欧美一区二区三区| 中文字幕一区二区视频| 欧美在线小视频| 精品在线免费视频| 中文字幕一区二区三区色视频| 色综合中文字幕| 免费成人av在线| 国产女同互慰高潮91漫画| 欧美在线三级电影| 久久精品二区亚洲w码| 国产精品精品国产色婷婷| 在线观看网站黄不卡| 喷白浆一区二区| 国产精品久久久久久久久搜平片| 在线视频综合导航| 极品少妇一区二区三区精品视频| 国产精品的网站| 日韩一区二区三区在线观看| 国产a精品视频| 日韩激情在线观看| 国产日产精品一区| 欧美老肥妇做.爰bbww| 国产精品69毛片高清亚洲| 亚洲最大成人综合| 国产三级精品三级在线专区| 欧美亚洲禁片免费| 国产精品亚洲а∨天堂免在线| 亚洲精品成人天堂一二三| 久久久蜜桃精品| 欧美日韩中文国产| 不卡视频在线看| 热久久免费视频| 亚洲精品国产精品乱码不99 | 欧美综合视频在线观看| 黄色成人免费在线| 婷婷中文字幕综合| 成人欧美一区二区三区1314| 91麻豆精品国产91久久久资源速度| 成人午夜激情在线| 久久99热99| 午夜精品久久久久久久| 亚洲人成影院在线观看| 国产日产精品1区| 欧美一级黄色录像|