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

📄 main.lst

📁 使用显示芯片ZLG7290
💻 LST
📖 第 1 页 / 共 5 页
字号:
 149   3                              uStopwatch_DisBuffer[4]=temp%10;
 150   3                              
 151   3                              temp = iCounter_Inter3_temp/100/60;
 152   3                              uStopwatch_DisBuffer[0]=temp/10;
 153   3                              uStopwatch_DisBuffer[1]=temp%10;
 154   3                      }
 155   2              }else                   //计时功能
 156   1              {
 157   2                      if (!(iCounter_Inter3%100))  //100ms的整数倍
 158   2                      {
 159   3                              uHoures = uTime_DisBuffer[0]*10+uTime_DisBuffer[1];
 160   3                              uMinitues = uTime_DisBuffer[3]*10+uTime_DisBuffer[4];
 161   3                          uSeconds =  uTime_DisBuffer[6]*10+uTime_DisBuffer[7];
 162   3                              uSeconds++;
 163   3                              if (uSeconds==60)
 164   3                              {
 165   4                                      uMinitues++;
 166   4                                      uSeconds = 0;
 167   4                              }
 168   3                              if ((alarm_flag==0)&&(uSeconds>3))       //整点报时
 169   3                              {
 170   4                                      SPEAKER = 1;
 171   4                              }
 172   3                              
 173   3                              if (uMinitues==60)
 174   3                              {
 175   4                                      uHoures++;
 176   4                                      uMinitues = 0;
 177   4                                      SPEAKER = 0;
 178   4                              }
 179   3                              if (uHoures==24)
C51 COMPILER V8.05a   MAIN                                                                 01/11/2008 12:42:17 PAGE 4   

 180   3                              {
 181   4                                      uHoures=0;
 182   4                                      uYear_DisBuffer[7]++;
 183   4      
 184   4                                      iYear = 2000+uYear_DisBuffer[0]*10+uYear_DisBuffer[1];
 185   4                                      uMonth = uYear_DisBuffer[3]*10+uYear_DisBuffer[4];
 186   4                                      uDate = uYear_DisBuffer[6]*10+uYear_DisBuffer[7];
 187   4                                  switch (uMonth)  //几月份,大月小月
 188   4                                      {       //大月
 189   5                                              case 1:
 190   5                                              case 3:
 191   5                                              case 5:
 192   5                                              case 7:
 193   5                                              case 8:
 194   5                                              case 10:
 195   5                                              case 12:
 196   5                                                      if (uDate<31)
 197   5                                                      {
 198   6                                                              uDate++;
 199   6                                                      }else
 200   5                                                      {
 201   6                                                              uMonth++;
 202   6                                                              uDate=1;
 203   6                                                      }                                               
 204   5                                                      break;
 205   5                                                                                              //平月
 206   5                                              case 2:                                         
 207   5                                                  if( (!(iYear%4)) && ( ((!(iYear%100))&&(!(iYear%400))) || (iYear%100) ) )//闰年
 208   5                                                      {
 209   6                                                              if (uDate<29)
 210   6                                                      {
 211   7                                                                      uDate++;
 212   7                                                              }else
 213   6                                                              {
 214   7                                                                      uMonth++;
 215   7                                                                      uDate=1;
 216   7                                                              }
 217   6                                                      }else
 218   5                                                      {
 219   6                                                              if (uDate<28)
 220   6                                                              {
 221   7                                                                      uDate++;
 222   7                                                              }else
 223   6                                                              {
 224   7                                                                      uMonth++;
 225   7                                                                      uDate=1;
 226   7                                                              }       
 227   6                                                      }
 228   5                                                      break;
 229   5                                                                                              //小月
 230   5                                              case 4:
 231   5                                              case 6:
 232   5                                              case 9:
 233   5                                              case 11:
 234   5                                                      if (uDate<30)
 235   5                                                      {
 236   6                                                              uDate++;
 237   6                                                      }else
 238   5                                                      {
 239   6                                                              uMonth++;
 240   6                                                              uDate=1;
 241   6                                                      }
C51 COMPILER V8.05a   MAIN                                                                 01/11/2008 12:42:17 PAGE 5   

 242   5                                                      break;                                                                          
 243   5                                      }
 244   4                                      if(uMonth==13)
 245   4                                      {
 246   5                                              iYear++;
 247   5                                              uMonth = 1;     
 248   5                                      }
 249   4                                      uYear_DisBuffer[0] = (iYear-2000)/10;
 250   4                                      uYear_DisBuffer[1] = (iYear-2000)%10;
 251   4                                      
 252   4                                      uYear_DisBuffer[3] = uMonth/10;
 253   4                                  uYear_DisBuffer[4] = uMonth%10;
 254   4                                      
 255   4                                      uYear_DisBuffer[6] = uDate/10;
 256   4                                      uYear_DisBuffer[7] = uDate%10;
 257   4                                                                                      
 258   4                                      uWeek_DisBuffer[7]++;
 259   4                                      if(uWeek_DisBuffer[7]==8)
 260   4                                      {
 261   5                                              uWeek_DisBuffer[7]=1;
 262   5                                      }
 263   4                              }                       
 264   3                              uTime_DisBuffer[0]=uHoures/10;
 265   3                              uTime_DisBuffer[1]=uHoures%10;
 266   3      
 267   3                              uTime_DisBuffer[3]=uMinitues/10;
 268   3                              uTime_DisBuffer[4]=uMinitues%10;
 269   3      
 270   3                              uTime_DisBuffer[6]=uSeconds/10;
 271   3                              uTime_DisBuffer[7]=uSeconds%10;
 272   3      
 273   3                              if ( (uAlarm_DisBuffer[0]==uTime_DisBuffer[0])&&(uAlarm_DisBuffer[1]==uTime_DisBuffer[1])
 274   3                                 &&(uAlarm_DisBuffer[3]==uTime_DisBuffer[3])&&(uAlarm_DisBuffer[4]==uTime_DisBuffer[4])
 275   3                                 &&(uAlarm_DisBuffer[6]==uTime_DisBuffer[6])&&(uAlarm_DisBuffer[7]==uTime_DisBuffer[7]) )
 276   3                              {
 277   4                                      SPEAKER = 0;
 278   4                                      uSeconds_temp = uSeconds;
 279   4                                      alarm_flag=1;
 280   4                              }
 281   3                              if (uSeconds>(uSeconds_temp+10)) 
 282   3                              {
 283   4                                      SPEAKER = 1;
 284   4                                      alarm_flag=0;
 285   4                              }               
 286   3                      }
 287   2              }
 288   1      }
 289          void main()
 290          {
 291   1              uint i=0;
 292   1              uint j=0;
 293   1              uchar KeyValue;
 294   1              uchar RepeatCnt;
 295   1              uchar FnKeyValue;
 296   1      
 297   1              TH1 = 0XD8;         TL1 = 0XF0;         TR1 = 1; //每1MS进入一次定时器1中断
 298   1              SPEAKER = 1;
 299   1              SystemInit();           //系统初始化
 300   1      
 301   1              ClearAll();
 302   1              EA = 0;
 303   1              IT0 = 1;                        //负边沿触发中断
C51 COMPILER V8.05a   MAIN                                                                 01/11/2008 12:42:17 PAGE 6   

⌨️ 快捷键说明

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