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

📄 12864

📁 这是一个用51开发的包含有多个模块的12864液晶显示的程序
💻
📖 第 1 页 / 共 5 页
字号:
1102                              0x02,0x5d,0x4d,    //1945
1103                              0x09,0x2d,0x42,    //1946
1104                              0x2C,0x95,0xB6,    //1947
1105                              0x0A,0x95,0x4A,    //1948
1106                              0x7B,0x4A,0xBd,    //1949
1107                              0x06,0xCA,0x51,    //1950
1108                              0x0B,0x55,0x46,    //1951
1109                              0x55,0x5A,0xBB,    //1952
C51 COMPILER V8.02   12864万年繽                                                           11/15/2007 20:52:01 PAGE 19  

1110                              0x04,0xdA,0x4e,    //1953
1111                              0x0A,0x5B,0x43,    //1954
1112                              0x35,0x2B,0xB8,    //1955
1113                              0x05,0x2B,0x4C,    //1956
1114                              0x8A,0x95,0x3f,    //1957
1115                              0x0e,0x95,0x52,    //1958
1116                              0x06,0xAA,0x48,    //1959
1117                              0x7A,0xd5,0x3C,    //1960
1118                              0x0A,0xB5,0x4f,    //1961
1119                              0x04,0xB6,0x45,    //1962
1120                              0x4A,0x57,0x39,    //1963
1121                              0x0A,0x57,0x4d,    //1964
1122                              0x05,0x26,0x42,    //1965
1123                              0x3e,0x93,0x35,    //1966
1124                              0x0d,0x95,0x49,    //1967
1125                              0x75,0xAA,0xBe,    //1968
1126                              0x05,0x6A,0x51,    //1969
1127                              0x09,0x6d,0x46,    //1970
1128                              0x54,0xAe,0xBB,    //1971
1129                              0x04,0xAd,0x4f,    //1972
1130                              0x0A,0x4d,0x43,    //1973
1131                              0x4d,0x26,0xB7,    //1974
1132                              0x0d,0x25,0x4B,    //1975
1133                              0x8d,0x52,0xBf,    //1976
1134                              0x0B,0x54,0x52,    //1977
1135                              0x0B,0x6A,0x47,    //1978
1136                              0x69,0x6d,0x3C,    //1979
1137                              0x09,0x5B,0x50,    //1980
1138                              0x04,0x9B,0x45,    //1981
1139                              0x4A,0x4B,0xB9,    //1982
1140                              0x0A,0x4B,0x4d,    //1983
1141                              0xAB,0x25,0xC2,    //1984
1142                              0x06,0xA5,0x54,    //1985
1143                              0x06,0xd4,0x49,    //1986
1144                              0x6A,0xdA,0x3d,    //1987
1145                              0x0A,0xB6,0x51,    //1988
1146                              0x09,0x37,0x46,    //1989
1147                              0x54,0x97,0xBB,    //1990
1148                              0x04,0x97,0x4f,    //1991
1149                              0x06,0x4B,0x44,    //1992
1150                              0x36,0xA5,0x37,    //1993
1151                              0x0e,0xA5,0x4A,    //1994
1152                              0x86,0xB2,0xBf,    //1995
1153                              0x05,0xAC,0x53,    //1996
1154                              0x0A,0xB6,0x47,    //1997
1155                              0x59,0x36,0xBC,    //1998
1156                              0x09,0x2e,0x50,    //1999
1157                              0x0C,0x96,0x45,    //2000
1158                              0x4d,0x4A,0xB8,    //2001
1159                              0x0d,0x4A,0x4C,    //2002
1160                              0x0d,0xA5,0x41,    //2003
1161                              0x25,0xAA,0xB6,    //2004
1162                              0x05,0x6A,0x49,    //2005
1163                              0x7A,0xAd,0xBd,    //2006
1164                              0x02,0x5d,0x52,    //2007
1165                              0x09,0x2d,0x47,    //2008
1166                              0x5C,0x95,0xBA,    //2009
1167                              0x0A,0x95,0x4e,    //2010
1168                              0x0B,0x4A,0x43,    //2011
1169                              0x4B,0x55,0x37,    //2012
1170                              0x0A,0xd5,0x4A,    //2013
1171                              0x95,0x5A,0xBf,    //2014
C51 COMPILER V8.02   12864万年繽                                                           11/15/2007 20:52:01 PAGE 20  

1172                              0x04,0xBA,0x53,    //2015
1173                              0x0A,0x5B,0x48,    //2016
1174                              0x65,0x2B,0xBC,    //2017
1175                              0x05,0x2B,0x50,    //2018
1176                              0x0A,0x93,0x45,    //2019
1177                              0x47,0x4A,0xB9,    //2020
1178                              0x06,0xAA,0x4C,    //2021
1179                              0x0A,0xd5,0x41,    //2022
1180                              0x24,0xdA,0xB6,    //2023
1181                              0x04,0xB6,0x4A,    //2024
1182                              0x69,0x57,0x3d,    //2025
1183                              0x0A,0x4e,0x51,    //2026
1184                              0x0d,0x26,0x46,    //2027
1185                              0x5e,0x93,0x3A,    //2028
1186                              0x0d,0x53,0x4d,    //2029
1187                              0x05,0xAA,0x43,    //2030
1188                              0x36,0xB5,0x37,    //2031
1189                              0x09,0x6d,0x4B,    //2032
1190                              0xB4,0xAe,0xBf,    //2033
1191                              0x04,0xAd,0x53,    //2034
1192                              0x0A,0x4d,0x48,    //2035
1193                              0x6d,0x25,0xBC,    //2036
1194                              0x0d,0x25,0x4f,    //2037
1195                              0x0d,0x52,0x44,    //2038
1196                              0x5d,0xAA,0x38,    //2039
1197                              0x0B,0x5A,0x4C,    //2040
1198                              0x05,0x6d,0x41,    //2041
1199                              0x24,0xAd,0xB6,    //2042
1200                              0x04,0x9B,0x4A,    //2043
1201                              0x7A,0x4B,0xBe,    //2044
1202                              0x0A,0x4B,0x51,    //2045
1203                              0x0A,0xA5,0x46,    //2046
1204                              0x5B,0x52,0xBA,    //2047
1205                              0x06,0xd2,0x4e,    //2048
1206                              0x0A,0xdA,0x42,    //2049
1207                              0x35,0x5B,0x37,    //2050
1208                              0x09,0x37,0x4B,    //2051
1209                              0x84,0x97,0xC1,    //2052
1210                              0x04,0x97,0x53,    //2053
1211                              0x06,0x4B,0x48,    //2054
1212                              0x66,0xA5,0x3C,    //2055
1213                              0x0e,0xA5,0x4f,    //2056
1214                              0x06,0xB2,0x44,    //2057
1215                              0x4A,0xB6,0x38,    //2058
1216                              0x0A,0xAe,0x4C,    //2059
1217                              0x09,0x2e,0x42,    //2060
1218                              0x3C,0x97,0x35,    //2061
1219                              0x0C,0x96,0x49,    //2062
1220                              0x7d,0x4A,0xBd,    //2063
1221                              0x0d,0x4A,0x51,    //2064
1222                              0x0d,0xA5,0x45,    //2065
1223                              0x55,0xAA,0xBA,    //2066
1224                              0x05,0x6A,0x4e,    //2067
1225                              0x0A,0x6d,0x43,    //2068
1226                              0x45,0x2e,0xB7,    //2069
1227                              0x05,0x2d,0x4B,    //2070
1228                              0x8A,0x95,0xBf,    //2071
1229                              0x0A,0x95,0x53,    //2072
1230                              0x0B,0x4A,0x47,    //2073
1231                              0x6B,0x55,0x3B,    //2074
1232                              0x0A,0xd5,0x4f,    //2075
1233                              0x05,0x5A,0x45,    //2076
C51 COMPILER V8.02   12864万年繽                                                           11/15/2007 20:52:01 PAGE 21  

1234                              0x4A,0x5d,0x38,    //2077
1235                              0x0A,0x5B,0x4C,    //2078
1236                              0x05,0x2B,0x42,    //2079
1237                              0x3A,0x93,0xB6,    //2080
1238                              0x06,0x93,0x49,    //2081
1239                              0x77,0x29,0xBd,    //2082
1240                              0x06,0xAA,0x51,    //2083
1241                              0x0A,0xd5,0x46,    //2084
1242                              0x54,0xdA,0xBA,    //2085
1243                              0x04,0xB6,0x4e,    //2086
1244                              0x0A,0x57,0x43,    //2087
1245                              0x45,0x27,0x38,    //2088
1246                              0x0d,0x26,0x4A,    //2089
1247                              0x8e,0x93,0x3e,    //2090
1248                              0x0d,0x52,0x52,    //2091
1249                              0x0d,0xAA,0x47,    //2092
1250                              0x66,0xB5,0x3B,    //2093
1251                              0x05,0x6d,0x4f,    //2094
1252                              0x04,0xAe,0x45,    //2095
1253                              0x4A,0x4e,0xB9,    //2096
1254                              0x0A,0x4d,0x4C,    //2097
1255                              0x0d,0x15,0x41,    //2098
1256                              0x2d,0x92,0xB5,    //2099
1257          };
1258          ///月份数据表
1259          code uchar day_code1[9]={0x0,0x1f,0x3b,0x5a,0x78,0x97,0xb5,0xd4,0xf3};
1260          code unsigned int day_code2[3]={0x111,0x130,0x14e};
1261          
1262          
1263          
1264          /*子函数,用于读取数据表中农历月的大月或小月,如果该月为大返回1,为小返回0*/
1265          bit get_moon_day(uchar month_p,unsigned int table_addr)
1266          {
1267   1      uchar temp;
1268   1          switch (month_p){
1269   2              case 1:{temp=year_code[table_addr]&0x08;
1270   3                   if (temp==0)return(0);else return(1);}
1271   2              case 2:{temp=year_code[table_addr]&0x04;
1272   3                   if (temp==0)return(0);else return(1);}
1273   2              case 3:{temp=year_code[table_addr]&0x02;
1274   3                   if (temp==0)return(0);else return(1);}
1275   2              case 4:{temp=year_code[table_addr]&0x01;
1276   3                   if (temp==0)return(0);else return(1);}
1277   2              case 5:{temp=year_code[table_addr+1]&0x80;
1278   3                   if (temp==0) return(0);else return(1);}
1279   2              case 6:{temp=year_code[table_addr+1]&0x40;
1280   3                   if (temp==0)return(0);else return(1);}
1281   2              case 7:{temp=year_code[table_addr+1]&0x20;
1282   3                   if (temp==0)return(0);else return(1);}
1283   2              case 8:{temp=year_code[table_addr+1]&0x10;
1284   3                   if (temp==0)return(0);else return(1);}
1285   2              case 9:{temp=year_code[table_addr+1]&0x08;
1286   3                   if (temp==0)return(0);else return(1);}
1287   2              case 10:{temp=year_code[table_addr+1]&0x04;
1288   3                   if (temp==0)return(0);else return(1);}
1289   2              case 11:{temp=year_code[table_addr+1]&0x02;
1290   3                   if (temp==0)return(0);else return(1);}
1291   2              case 12:{temp=year_code[table_addr+1]&0x01;
1292   3                   if (temp==0)return(0);else return(1);}
1293   2              case 13:{temp=year_code[table_addr+2]&0x80;
1294   3                   if (temp==0)return(0);else return(1);}
1295   2          }
C51 COMPILER V8.02   12864万年繽                                                           11/15/2007 20:52:01 PAGE 22  

1296   1      }
1297          
1298          /*************************************************************************************
1299          函数功能:输入阳历数据,输出阴历数据(只允许1901-2099年)
1300          调用函数示例:Conversion(c,year,month,day)
1301          如:计算2004年10月16日Conversion(0,0x4,0x0A,0x10);
1302          c,year,month,day均为16进制数据,c为世纪标志位,c_sun=0为21世纪,c_sun=1为20世纪
1303          调用函数后,原有数据不变,读c_moon,year_moon,month_moon,day_moon得出阴历16进制数据。
1304          得出的16进制数据,会在后面的显示函数中有相应的处理。
1305          声明:本函数中的year,month,day均为局部变量,对全局变量不会有影响。
1306          *************************************************************************************/
1307          void Conversion(bit c,char year,char month,char day)
1308          {                         //c=0 为21世纪,c=1 为20世纪 输入输出数据均为BCD数据
1309   1          uchar temp1,temp2,temp3,month_p;
1310   1          unsigned int temp4,table_addr;
1311   1          bit flag2,flag_y;
1312   1      
1313   1      
1314   1          //定位数据表地址
1315   1          if(c==0) { table_addr=(year+0x64-1)*0x3; }
1316   1          else     { table_addr=(year-1)*0x3;    }
1317   1          //定位数据表地址完成
1318   1      
1319   1          //取当年春节所在的公历月份
1320   1          temp1=year_code[table_addr+2]&0x60; 
1321   1          temp1=_cror_(temp1,5);
1322   1          //取当年春节所在的公历月份完成
1323   1      
1324   1          //取当年春节所在的公历日
1325   1          temp2=year_code[table_addr+2]&0x1f; 
1326   1          //取当年春节所在的公历日完成
1327   1      
1328   1          // 计算当年春年离当年元旦的天数,春节只会在公历1月或2月
1329   1          if(temp1==0x1) { temp3=temp2-1; }  
1330   1          else  { temp3=temp2+0x1f-1; }
1331   1          // 计算当年春年离当年元旦的天数完成
1332   1      
1333   1          //计算公历日离当年元旦的天数,为了减少运算,用了两个表
1334   1          //day_code1[9],day_code2[3]
1335   1          //如果公历月在九月或前,天数会少于0xff,用表day_code1[9],
1336   1          //在九月后,天数大于0xff,用表day_code2[3]
1337   1          //如输入公历日为8月10日,则公历日离元旦天数为day_code1[8-1]+10-1
1338   1          //如输入公历日为11月10日,则公历日离元旦天数为day_code2[11-10]+10-1
1339   1          if (month<10){ temp4=day_code1[month-1]+day-1; }
1340   1          else         { temp4=day_code2[month-10]+day-1;}
1341   1          if ((month>0x2)&&(year%0x4==0)&&(year!=0))
1342   1             temp4+=1; //如果公历月大于2月并且该年的2月为闰月,天数加1
1343   1          //计算公历日离当年元旦的天数完成
1344   1      
1345   1          //判断公历日在春节前还是春节后
1346   1          if (temp4>=temp3)
1347   1          { //公历日在春节后或就是春节当日使用下面代码进行运算
1348   2              temp4-=temp3;
1349   2              month=0x1;
1350   2              month_p=0x1;  //month_p为月份指向,公历日在春节前或就是春节当日month_p指向首月
1351   2              flag2=get_moon_day(month_p,table_addr); //检查该农历月为大小还是小月,大月返回1,小月返回0
1352   2              flag_y=0;
1353   2              if(flag2==0)temp1=0x1d; //小月29天
1354   2              else temp1=0x1e; //大小30天
1355   2              temp2=year_code[table_addr]&0xf0;
1356   2              temp2=_cror_(temp2,4);  //从数据表中取该年的闰月月份,如为0则该年无闰月
1357   2              while(temp4>=temp1)
C51 COMPILER V8.02   12864万年繽                                                           11/15/2007 20:52:01 PAGE 23  

1358   2              {
1359   3                  temp4-=temp1;
1360   3                  month_p+=1;
1361   3                  if(month==temp2)
1362   3                  {
1363   4                    flag_y=~flag_y;
1364   4                    if(flag_y==0)month+=1;
1365   4                  }
1366   3                  else
1367   3                                        month+=1;
1368   3                  flag2=get_moon_day(month_p,table_addr);
1369   3                  if(flag2==0)temp1=0x1d;
1370   3                  else temp1=0x1e;
1371   3              }
1372   2              day=temp4+1;
1373   2          }
1374   1          else
1375   1          {  //公历日在春节前使

⌨️ 快捷键说明

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