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

📄 生日提醒.lst.svn-base

📁 单片机驱动32X64点阵资料
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
 216                                    0x0A,0x4B,0x4d,    //1983
 217                                    0xAB,0x25,0xC2,    //1984
 218                                    0x06,0xA5,0x54,    //1985
 219                                    0x06,0xd4,0x49,    //1986
 220                                    0x6A,0xdA,0x3d,    //1987
 221                                    0x0A,0xB6,0x51,    //1988
 222                                    0x09,0x37,0x46,    //1989
 223                                    0x54,0x97,0xBB,    //1990
 224                                    0x04,0x97,0x4f,    //1991
 225                                    0x06,0x4B,0x44,    //1992
 226                                    0x36,0xA5,0x37,    //1993
 227                                    0x0e,0xA5,0x4A,    //1994
 228                                    0x86,0xB2,0xBf,    //1995
 229                                    0x05,0xAC,0x53,    //1996
 230                                    0x0A,0xB6,0x47,    //1997
 231                                    0x59,0x36,0xBC,    //1998
 232                                    0x09,0x2e,0x50,    //1999 294
 233                                    0x0C,0x96,0x45,    //2000 297
 234                                    0x4d,0x4A,0xB8,    //2001
 235                                    0x0d,0x4A,0x4C,    //2002
 236                                    0x0d,0xA5,0x41,    //2003
 237                                    0x25,0xAA,0xB6,    //2004
C51 COMPILER V8.08   蒧日提醒                                                              10/25/2011 08:42:07 PAGE 5   

 238                                    0x05,0x6A,0x49,    //2005
 239                                    0x7A,0xAd,0xBd,    //2006
 240                                    0x02,0x5d,0x52,    //2007
 241                                    0x09,0x2d,0x47,    //2008
 242                                    0x5C,0x95,0xBA,    //2009
 243                                    0x0A,0x95,0x4e,    //2010
 244                                    0x0B,0x4A,0x43,    //2011
 245                                    0x4B,0x55,0x37,    //2012
 246                                    0x0A,0xd5,0x4A,    //2013
 247                                    0x95,0x5A,0xBf,    //2014
 248                                    0x04,0xBA,0x53,    //2015
 249                                    0x0A,0x5B,0x48,    //2016
 250                                    0x65,0x2B,0xBC,    //2017
 251                                    0x05,0x2B,0x50,    //2018
 252                                    0x0A,0x93,0x45,    //2019
 253                                    0x47,0x4A,0xB9,    //2020
 254                                    0x06,0xAA,0x4C,    //2021
 255                                    0x0A,0xd5,0x41,    //2022
 256                                    0x24,0xdA,0xB6,    //2023
 257                                    0x04,0xB6,0x4A,    //2024
 258                                    0x69,0x57,0x3d,    //2025
 259                                    0x0A,0x4e,0x51,    //2026
 260                                    0x0d,0x26,0x46,    //2027
 261                                    0x5e,0x93,0x3A,    //2028
 262                                    0x0d,0x53,0x4d,    //2029
 263                                    0x05,0xAA,0x43,    //2030
 264                                    0x36,0xB5,0x37,    //2031
 265                                    0x09,0x6d,0x4B,    //2032
 266                                    0xB4,0xAe,0xBf,    //2033
 267                                    0x04,0xAd,0x53,    //2034
 268                                    0x0A,0x4d,0x48,    //2035
 269                                    0x6d,0x25,0xBC,    //2036
 270                                    0x0d,0x25,0x4f,    //2037
 271                                    0x0d,0x52,0x44,    //2038
 272                                    0x5d,0xAA,0x38,    //2039
 273                                    0x0B,0x5A,0x4C,    //2040
 274                                    0x05,0x6d,0x41,    //2041
 275                                    0x24,0xAd,0xB6,    //2042
 276                                    0x04,0x9B,0x4A,    //2043
 277                                    0x7A,0x4B,0xBe,    //2044
 278                                    0x0A,0x4B,0x51,    //2045
 279                                    0x0A,0xA5,0x46,    //2046
 280                                    0x5B,0x52,0xBA,    //2047
 281                                    0x06,0xd2,0x4e,    //2048
 282                                    0x0A,0xdA,0x42,    //2049
 283                                    0x35,0x5B,0x37,    //2050
 284                                    0x09,0x37,0x4B,    //2051
 285                                    0x84,0x97,0xC1,    //2052
 286                                    0x04,0x97,0x53,    //2053
 287                                    0x06,0x4B,0x48,    //2054
 288                                    0x66,0xA5,0x3C,    //2055
 289                                    0x0e,0xA5,0x4f,    //2056
 290                                    0x06,0xB2,0x44,    //2057
 291                                    0x4A,0xB6,0x38,    //2058
 292                                    0x0A,0xAe,0x4C,    //2059
 293                                    0x09,0x2e,0x42,    //2060
 294                                    0x3C,0x97,0x35,    //2061
 295                                    0x0C,0x96,0x49,    //2062
 296                                    0x7d,0x4A,0xBd,    //2063
 297                                    0x0d,0x4A,0x51,    //2064
 298                                    0x0d,0xA5,0x45,    //2065
 299                                    0x55,0xAA,0xBA,    //2066
C51 COMPILER V8.08   蒧日提醒                                                              10/25/2011 08:42:07 PAGE 6   

 300                                    0x05,0x6A,0x4e,    //2067
 301                                    0x0A,0x6d,0x43,    //2068
 302                                    0x45,0x2e,0xB7,    //2069
 303                                    0x05,0x2d,0x4B,    //2070
 304                                    0x8A,0x95,0xBf,    //2071
 305                                    0x0A,0x95,0x53,    //2072
 306                                    0x0B,0x4A,0x47,    //2073
 307                                    0x6B,0x55,0x3B,    //2074
 308                                    0x0A,0xd5,0x4f,    //2075
 309                                    0x05,0x5A,0x45,    //2076
 310                                    0x4A,0x5d,0x38,    //2077
 311                                    0x0A,0x5B,0x4C,    //2078
 312                                    0x05,0x2B,0x42,    //2079
 313                                    0x3A,0x93,0xB6,    //2080
 314                                    0x06,0x93,0x49,    //2081
 315                                    0x77,0x29,0xBd,    //2082
 316                                    0x06,0xAA,0x51,    //2083
 317                                    0x0A,0xd5,0x46,    //2084
 318                                    0x54,0xdA,0xBA,    //2085
 319                                    0x04,0xB6,0x4e,    //2086
 320                                    0x0A,0x57,0x43,    //2087
 321                                    0x45,0x27,0x38,    //2088
 322                                    0x0d,0x26,0x4A,    //2089
 323                                    0x8e,0x93,0x3e,    //2090
 324                                    0x0d,0x52,0x52,    //2091
 325                                    0x0d,0xAA,0x47,    //2092
 326                                    0x66,0xB5,0x3B,    //2093
 327                                    0x05,0x6d,0x4f,    //2094
 328                                    0x04,0xAe,0x45,    //2095
 329                                    0x4A,0x4e,0xB9,    //2096
 330                                    0x0A,0x4d,0x4C,    //2097
 331                                    0x0d,0x15,0x41,    //2098
 332                                    0x2d,0x92,0xB5,    //2099
 333          };
 334          ///月份数据表
 335          code uchar ri_code1[9]={0x0,0x1f,0x3b,0x5a,0x78,0x97,0xb5,0xd4,0xf3};
 336          code uint ri_code2[3]={0x111,0x130,0x14e};
 337          code uchar table_xingqi[12]={0,3,3,6,1,4,6,2,5,0,3,5}; //月修正数据表
 338          
 339          bit get_moon_ri(uchar yue_p,uint table_addr)
 340          {
 341   1       uchar tenp;
 342   1          switch (yue_p)
 343   1       {
 344   2              case 1:{tenp=nian_code[table_addr]&0x08;
 345   3                     if (tenp==0)return(0);else return(1);}
 346   2              case 2:{tenp=nian_code[table_addr]&0x04;
 347   3                     if (tenp==0)return(0);else return(1);}
 348   2              case 3:{tenp=nian_code[table_addr]&0x02;
 349   3                     if (tenp==0)return(0);else return(1);}
 350   2              case 4:{tenp=nian_code[table_addr]&0x01;
 351   3                     if (tenp==0)return(0);else return(1);}
 352   2              case 5:{tenp=nian_code[table_addr+1]&0x80;
 353   3                     if (tenp==0) return(0);else return(1);}
 354   2              case 6:{tenp=nian_code[table_addr+1]&0x40;
 355   3                     if (tenp==0)return(0);else return(1);}
 356   2              case 7:{tenp=nian_code[table_addr+1]&0x20;
 357   3                     if (tenp==0)return(0);else return(1);}
 358   2              case 8:{tenp=nian_code[table_addr+1]&0x10;
 359   3                     if (tenp==0)return(0);else return(1);}
 360   2              case 9:{tenp=nian_code[table_addr+1]&0x08;
 361   3                     if (tenp==0)return(0);else return(1);}
C51 COMPILER V8.08   蒧日提醒                                                              10/25/2011 08:42:07 PAGE 7   

 362   2              case 10:{tenp=nian_code[table_addr+1]&0x04;
 363   3                     if (tenp==0)return(0);else return(1);}
 364   2              case 11:{tenp=nian_code[table_addr+1]&0x02;
 365   3                     if (tenp==0)return(0);else return(1);}
 366   2              case 12:{tenp=nian_code[table_addr+1]&0x01;
 367   3                     if (tenp==0)return(0);else return(1);}
 368   2              case 13:{tenp=nian_code[table_addr+2]&0x80;
 369   3                     if (tenp==0)return(0);else return(1);}
 370   2            }
 371   1      }
 372          /*
 373          函数功能:输入BCD阳历数据,输出BCD阴历数据(只允许1901-2099年)
 374          调用函数示例:Conversion(c_sun,nian_sun,yue_sun,ri_sun)
 375          如:计算2004年10月16日Conversion(0,0x4,0x10,0x16);
 376          c_sun,nian_sun,yue_sun,ri_sun均为BCD数据,c_sun为世纪标志位,c_sun=0为21世
 377          纪,c_sun=1为19世纪
 378          调用函数后,原有数据不变,读c_moon,nian_moon,yue_moon,ri_moon得出阴历BCD数据
 379          */
 380          void Conversion(bit c,uchar nian,uchar yue,uchar ri)
 381          {                         //c=0 为21世纪,c=1 为19世纪 输入输出数据均为BCD数据
 382   1          uchar tenp1,tenp2,tenp3,yue_p;
 383   1          uint tenp4,table_addr;
 384   1          bit flag2,flag_y;
 385   1          tenp1=nian/16;   //BCD->hex 先把数据转换为十六进制
 386   1          tenp2=nian%16;
 387   1          nian=tenp1*10+tenp2;
 388   1          tenp1=yue/16;
 389   1          tenp2=yue%16;
 390   1          yue=tenp1*10+tenp2;
 391   1          tenp1=ri/16;
 392   1          tenp2=ri%16;
 393   1          ri=tenp1*10+tenp2;
 394   1          //定位数据表地址
 395   1          if(c==0)
 396   1       {                   
 397   2             table_addr=(nian+0x64-1)*0x3;
 398   2          }
 399   1          else
 400   1       {
 401   2              table_addr=(nian-1)*0x3;
 402   2          }
 403   1          //定位数据表地址完成
 404   1          //取当年春节所在的公历月份
 405   1          tenp1=nian_code[table_addr+2]&0x60; 
 406   1          tenp1=_cror_(tenp1,5);
 407   1          //取当年春节所在的公历月份完成
 408   1          //取当年春节所在的公历日
 409   1          tenp2=nian_code[table_addr+2]&0x1f; 
 410   1          //取当年春节所在的公历日完成
 411   1          // 计算当年春年离当年元旦的天数,春节只会在公历1月或2月
 412   1          if(tenp1==0x1)
 413   1       {  
 414   2              tenp3=tenp2-1;  
 415   2          }  
 416   1          else
 417   1       {
 418   2              tenp3=tenp2+0x1f-1;        
 419   2          }
 420   1          // 计算当年春年离当年元旦的天数完成
 421   1          //计算公历日离当年元旦的天数,为了减少运算,用了两个表
 422   1          //ri_code1[9],ri_code2[3]
 423   1          //如果公历月在九月或前,天数会少于0xff,用表ri_code1[9],
C51 COMPILER V8.08   蒧日提醒                                                              10/25/2011 08:42:07 PAGE 8   

 424   1          //在九月后,天数大于0xff,用表ri_code2[3]
 425   1          //如输入公历日为8月10日,则公历日离元旦天数为ri_code1[8-1]+10-1
 426   1          //如输入公历日为11月10日,则公历日离元旦天数为ri_code2[11-10]+10-1
 427   1          if (yue<10)
 428   1       { 
 429   2              tenp4=ri_code1[yue-1]+ri-1;
 430   2          }
 431   1          else
 432   1       {
 433   2              tenp4=ri_code2[yue-10]+ri-1;
 434   2          }
 435   1          if ((yue>0x2)&&(nian%0x4==0))
 436   1       {  //如果公历月大于2月并且该年的2月为闰月,天数加1
 437   2              tenp4+=1;
 438   2          }
 439   1          //计算公历日离当年元旦的天数完成
 440   1          //判断公历日在春节前还是春节后
 441   1          if (tenp4>=tenp3)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -