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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rili.c

?? 51單片機(jī)的日歷程序
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
 LED_ON(i);   /*選通相應(yīng)位*/
  XBYTE[LED_SEG]=dispbuf[i]; /*寫顯示段碼*/
                deley(50);   /*延時(shí)顯示*/
  LED_OFF;   /*寫LED全滅段碼*/
 }
}
void update_dispbuf(unsigned char *str)    /*更新顯示緩沖區(qū)子函數(shù),參數(shù)為要用來更新緩沖區(qū)的源字符數(shù)組的首地址*/
{
        dispbuf[0]=str[0]; /*將要更新的源字符數(shù)組內(nèi)容COPY至dispbuf數(shù)組,用作顯示緩沖區(qū)*/
        dispbuf[1]=str[1];
        dispbuf[2]=str[2]|0x80; /*默認(rèn)把時(shí)位和分位后面的小數(shù)點(diǎn)顯示出來,根據(jù)需要再取舍*/
        dispbuf[3]=str[3];
        dispbuf[4]=str[4]|0x80;
        dispbuf[5]=str[5];
}
void deley(int i)  /*延時(shí)子函數(shù)*/
{
  while(i--);
}
unsigned char getkeycode(void) /*鍵盤掃描子程序,返回獲得的鍵碼*/
{
 unsigned char keycode;  /*鍵碼變量,一開始存行碼*/
 unsigned char scancode=0x20; /*列掃描碼*/
 unsigned char icolumn=0;  /*鍵的列號(hào)*/
        display();                      /*用刷新數(shù)碼管顯示的時(shí)間去抖*/
        XBYTE[KEY_COLUMN]=0x00;
 keycode=XBYTE[KEY_LINE]&0x0f; /*從行端口讀入四位行碼*/
 while((scancode&0x3f)!=0) /*取scancode的低六位,只要沒變?yōu)槿?,則執(zhí)行循環(huán)*/
 {
  XBYTE[KEY_COLUMN]=(~scancode)&0x3f; /*給列賦掃描碼,第一次為011111*/
  if((XBYTE[KEY_LINE]&0x0f)==keycode) break; /*檢測按鍵所在的列跳出循環(huán)*/
                scancode=scancode>>1; /*列掃描碼右移一位*/
  icolumn++;  /*列號(hào)加1*/
        }
 keycode=keycode<<4;  /*把行碼移到高四位*/
 keycode=keycode|icolumn; /*由行碼和列碼組成鍵碼*/
 //等待按鍵放開
 XBYTE[KEY_COLUMN]=0x00;
 while((XBYTE[KEY_LINE]&0x0f)!=0x0f) display();
 return keycode;
}
void keyprocess(unsigned char keycode) /*鍵值處理函數(shù)*/
{
 switch (keycode)
 {
  case 0x73: Akey();
             break;
  case 0xB3: Bkey();
      break;
  case 0xD3: Ckey();
      break;
                case 0xE3: Dkey();
                           break;
  default:   break;
 }
        update_dispbuf(CurrentMode);
}
unsigned char getmonthdays(unsigned int year,unsigned char month)/*得到某月的天數(shù)*/
{
 unsigned char days;
 switch (month)
 {
  case 4:
  case 6:
  case 9:
  case 11:days=30;
          break;
  case 2: if(year%4==0) days=29;
   else days=28;
          break;
  default:days=31;
          break;
 }
 return days;
}
/*功能鍵子函數(shù)部分*/
void Akey(void) /*對(duì)當(dāng)前設(shè)置位進(jìn)行加一操作,如果設(shè)置秒位,則給秒位清零*/
{
        if(CurrentMode==TIMER)  /*秒表模式下啟閉走時(shí)*/
        { TR1=!TR1;
          return;
        }
        if(!IsSet) return;     /*如果不是設(shè)置模式退出*/
 switch (SetSelect)
 {
  case SECOND:if(CurrentMode==CLOCK)
                            {
                             clock.s=0;  /*如果當(dāng)前被設(shè)置位是秒位,則清零秒位*/
           update_clockstr();
                            }
                            if(CurrentMode==ALART)
                            {
                             Alart_EN=!Alart_EN;
                             update_alartstr();
                            }
                            if(CurrentMode==DATE)
                            {
                             if(++date.day==(getmonthdays(date.year,date.month)+1)) date.day=1;
                             update_datestr();
                            }
                            if(CurrentMode==TIMER)
                            {
                             TR1=!TR1;
                            }
                            break;
  case MINUTE:if(CurrentMode==CLOCK)
                            {
                             if(++clock.m==60) clock.m=0; /*如果當(dāng)前被設(shè)置分位,則分位加1*/
        update_clockstr();
                            }
                            if(CurrentMode==ALART)
                            {
                             if(++alart.m==60) alart.m=0;
                             update_alartstr();
                            }
                            if(CurrentMode==DATE)
                            {
                             if(++date.month==13) date.month=1;
                             update_datestr();
                            }
                            break;
  case HOUR:  if(CurrentMode==CLOCK)
                            {
                             if(++clock.h==24) clock.h=0; /*如果當(dāng)前被設(shè)置時(shí)位,則時(shí)位加1*/
        update_clockstr();
                            }
                            if(CurrentMode==ALART)
                            {
                             if(++alart.h==24) alart.h=0;
                             update_alartstr();
                            }
                            if(CurrentMode==DATE)
                            {
                             if(++date.year==100) date.year=0;
                             update_datestr();
                            }
                            break;
    default:   break;
 }
        update_dispbuf(CurrentMode);
}
void Bkey(void)  /*對(duì)當(dāng)前設(shè)置位進(jìn)行減一操作,如果設(shè)置秒分,則給秒位清零,類比Akey()函數(shù)*/
{
        if(!IsSet) return;
 switch (SetSelect)
 {
  case SECOND:if(CurrentMode==CLOCK)
                            {
                             clock.s=0;
        update_clockstr();
                            }
                            if(CurrentMode==ALART)
                            {
                             Alart_EN=!Alart_EN;
                             update_alartstr();
                            }
                            if(CurrentMode==DATE)
                            {
                             if(--date.day==0x00) date.day=getmonthdays(date.year,date.month);
                             update_datestr();
                            }
       break;
  case MINUTE:if(CurrentMode==CLOCK)
                            {
                             if(--clock.m==0xff) clock.m=59;
        update_clockstr();
                            }
                            if(CurrentMode==ALART)
                            {
                             if(--alart.m==0xff) alart.m=59;
                             update_alartstr();
                            }
                            if(CurrentMode==DATE)
                            {
                             if(--date.month==0x00) date.month=12;
                             update_datestr();
                            }
       break;
  case HOUR:  if(CurrentMode==CLOCK)
                            {
                             if(--clock.h==0xff) clock.h=23;
        update_clockstr();
                            }
                            if(CurrentMode==ALART)
                            {
                             if(--alart.h==0xff) alart.h=23;
                             update_alartstr();
                            }
                            if(CurrentMode==DATE)
                            {
                             if(--date.year==0xffff) date.year=99;
                             update_datestr();
                            }
       break;
   default:    break;
 }
        update_dispbuf(CurrentMode);
}
void Ckey(void) /*正常走時(shí)模式和設(shè)置模式的切換*/
{
  if(CurrentMode==TIMER)
  {
        TR1=0;          /*初始化定時(shí)器1設(shè)置,停止秒表記時(shí)*/
        TH1=6;
        TL1=6;
        timer.ms=0;     /*初始化秒表數(shù)組*/
        timer.s=0;
        timer.m=0;
        update_timerstr();
  }else
  {
 if(IsSet==0) /*在非秒表模式下,第一次按下C鍵進(jìn)入設(shè)置模式,設(shè)置時(shí)位*/
 {
  IsSet=1; /*置位標(biāo)志位,進(jìn)入設(shè)置模式 */
  SetSelect=HOUR;
  return;
 }   /*第二次按C鍵設(shè)置分位,第三次按鍵設(shè)置秒位,第四次按鍵完成退出設(shè)置*/
 if(SetSelect==0) /*按到第四次,即設(shè)置完秒位后,將標(biāo)志位IsSet置0,完成設(shè)置*/
 {
  IsSet=0; /*復(fù)位標(biāo)志位,進(jìn)入正常走時(shí)模式*/
  return;
 }
 if(SetSelect>0) SetSelect--;    /*設(shè)置位的標(biāo)志變量SetSelect=0:時(shí)位 1:分位 2:秒位*/
 }
}
void Dkey(void) /*工作狀態(tài)切換:時(shí)鐘、鬧鐘、日期、秒表*/
{
        if(CurrentMode==CLOCK)         /*切換至鬧鐘,同時(shí)開關(guān)鬧鐘*/
        { CurrentMode=ALART;
          Alart_EN=!Alart_EN;
          update_alartstr();
          return;
        }
        if(CurrentMode==ALART)         /*切換至日期*/
        { CurrentMode=DATE;
          return;
        }
        if(CurrentMode==DATE)          /*切換至秒表,同時(shí)關(guān)閉設(shè)置模式*/
        {
          CurrentMode=TIMER;
          IsSet=0;
          return;
        }
        if(CurrentMode==TIMER)         /*切換至?xí)r鐘*/
        {        
          CurrentMode=CLOCK;
          return;
        }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产影片| 国内精品视频666| 波多野结衣在线aⅴ中文字幕不卡| 91精品国产aⅴ一区二区| 国产精品久久久久久久久搜平片| 日韩三级视频中文字幕| 99re成人在线| 成人免费毛片片v| 欧美精品 日韩| 麻豆精品一区二区| 久久亚洲一区二区三区四区| 国内精品免费在线观看| 国产精品久久久久毛片软件| 欧美日韩成人高清| 狠狠色2019综合网| 亚洲欧洲性图库| 欧美日韩精品福利| 国产一区二区伦理| 亚洲精品第1页| 日韩欧美国产综合| 97精品视频在线观看自产线路二| 亚洲激情在线激情| 日韩免费视频一区二区| 国产高清在线精品| 亚洲午夜免费视频| 久久男人中文字幕资源站| 91一区二区在线观看| 天天色天天操综合| 亚洲国产精品精华液ab| 欧美四级电影在线观看| 国产精品18久久久久| 亚洲综合一二三区| 国产欧美一区视频| 91精品国产综合久久久久| 岛国精品一区二区| 男人操女人的视频在线观看欧美| 日本一区二区三区免费乱视频| 欧美三级韩国三级日本三斤 | 欧美三级视频在线观看| 国产一区二区三区不卡在线观看| 亚洲欧洲制服丝袜| 精品国产一区二区三区不卡| 一本色道a无线码一区v| 国产一区二区在线电影| 亚洲国产视频在线| 亚洲乱码一区二区三区在线观看| 久久综合给合久久狠狠狠97色69| 欧美日韩午夜在线| 91在线精品秘密一区二区| 国模娜娜一区二区三区| 日韩av电影免费观看高清完整版 | 国产aⅴ综合色| 日韩激情一区二区| 亚洲一区二区在线视频| 综合电影一区二区三区| 日韩一区二区麻豆国产| 亚洲男人天堂av| 久久免费午夜影院| 亚洲国产精品欧美一二99| 国产色爱av资源综合区| 精品国产自在久精品国产| 91国内精品野花午夜精品| av亚洲精华国产精华| 久久99国产精品久久| 图片区小说区国产精品视频| 亚洲精品中文字幕在线观看| 中文字幕巨乱亚洲| 中文字幕国产一区| 国产欧美视频在线观看| 久久九九国产精品| 久久久五月婷婷| 久久久不卡网国产精品一区| 欧美成人女星排行榜| 欧美白人最猛性xxxxx69交| 制服丝袜中文字幕亚洲| 91精品蜜臀在线一区尤物| 欧美又粗又大又爽| 精品视频全国免费看| 欧美视频在线不卡| 欧美日韩国产大片| 3d动漫精品啪啪一区二区竹菊| 67194成人在线观看| 91精品国产综合久久香蕉麻豆| 欧美一级片免费看| 欧美xxxxxxxx| 亚洲国产精品传媒在线观看| 中文字幕精品一区二区三区精品| 国产精品麻豆视频| 亚洲激情一二三区| 日本免费新一区视频| 激情综合网天天干| 成人综合在线观看| 一本大道久久a久久精二百| 99国产精品久久久久久久久久 | 蜜臀a∨国产成人精品| 精品中文字幕一区二区小辣椒| 青娱乐精品视频| 国内欧美视频一区二区| 懂色av一区二区夜夜嗨| 91女人视频在线观看| 欧美揉bbbbb揉bbbbb| 日韩天堂在线观看| 久久综合狠狠综合| 成人欧美一区二区三区小说| 五月婷婷色综合| 国产精品一二二区| 一本高清dvd不卡在线观看| 欧美日韩国产欧美日美国产精品| 这里是久久伊人| 国产农村妇女精品| 日日摸夜夜添夜夜添国产精品| 九九国产精品视频| 色婷婷精品大在线视频| 日韩一区二区麻豆国产| 国产精品久久久久久久久久免费看 | 日韩精品乱码av一区二区| 国产麻豆9l精品三级站| 色婷婷国产精品综合在线观看| 91精品国产高清一区二区三区蜜臀| 欧美国产精品中文字幕| 日本在线观看不卡视频| 成人性生交大合| 欧美一个色资源| 成人欧美一区二区三区小说| 久久不见久久见免费视频1| 99re8在线精品视频免费播放| 91麻豆精品国产91久久久使用方法| 精品国产91亚洲一区二区三区婷婷| 中文字幕亚洲精品在线观看| 日本一区二区三区在线不卡| 国产成人高清视频| 欧美精品一二三| 欧美特级限制片免费在线观看| 欧美大片拔萝卜| 一区二区三区小说| 国产精品911| 欧美哺乳videos| 美女高潮久久久| 欧美三级中文字幕在线观看| 国产欧美日韩久久| 久久电影网站中文字幕| 在线国产亚洲欧美| 成人免费一区二区三区在线观看| 日本少妇一区二区| 欧美挠脚心视频网站| 亚洲欧美电影一区二区| 国产a区久久久| 国产亚洲综合性久久久影院| 美日韩一区二区| 欧美欧美欧美欧美| 亚洲超碰97人人做人人爱| 91蜜桃在线观看| 欧美国产激情一区二区三区蜜月| 另类成人小视频在线| 欧美精品vⅰdeose4hd| 亚洲最新视频在线播放| 色综合天天性综合| 中文字幕一区二区三区蜜月| 成熟亚洲日本毛茸茸凸凹| 国产亚洲精品aa午夜观看| 狠狠色狠狠色综合| 26uuu精品一区二区| 狠狠狠色丁香婷婷综合激情| 欧美成人a视频| 国内精品视频一区二区三区八戒| 欧美va亚洲va| 国产福利一区在线观看| 国产偷国产偷亚洲高清人白洁| 国产精品白丝jk白祙喷水网站| 久久久久久久综合| 国产成+人+日韩+欧美+亚洲 | 欧美大片国产精品| 久久av中文字幕片| 久久久国际精品| 国产99精品在线观看| 国产精品久久久久三级| 一本高清dvd不卡在线观看 | 国产精品黄色在线观看| 99re66热这里只有精品3直播| 亚洲人成伊人成综合网小说| 一本到不卡免费一区二区| 亚洲第一福利一区| 日韩欧美中文字幕一区| 黄网站免费久久| 国产精品无遮挡| 在线看不卡av| 免费成人av在线| 国产三级精品三级| 91免费版在线| 免费成人你懂的| 中文字幕中文在线不卡住| 欧美在线高清视频| 激情文学综合网| 综合在线观看色| 91精品国产综合久久久久久久久久| 国产另类ts人妖一区二区| 亚洲视频在线观看一区| 91网址在线看| 国产亚洲精品aa| 欧美日韩一区小说|