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

📄 sub_program.lst

📁 用单片机制作电子时钟,lcd1602显示,包括模拟电路图,源码,以及编译过程等
💻 LST
📖 第 1 页 / 共 2 页
字号:
 158   3                                      ResetTime.Day=0;
 159   3                       break;
 160   3               case 4:
 161   3                               ResetTime.Hour++;
 162   3                               if(ResetTime.Hour>=24)
 163   3                                      ResetTime.Hour=0;
 164   3                       break;
 165   3               case 5:
 166   3                               ResetTime.Minute++;
 167   3                               if(ResetTime.Minute>=60)
 168   3                                      ResetTime.Minute=0;
 169   3                       break;
 170   3              
 171   3               default:break;
 172   3              }
 173   2              
 174   2                      GotoXY(0,0);
 175   2                  Print("Date: ");
 176   2                      Print(ResetTime.DateString);
 177   2                      GotoXY(0,1);
 178   2                      Print("Time: ");
 179   2                      Print(ResetTime.TimeString);
C51 COMPILER V8.02   SUB_PROGRAM                                                           03/21/2008 14:20:29 PAGE 4   

 180   2        
 181   2          DS1302_SetTime(DS1302_YEAR,ResetTime.Year);          
 182   2              DS1302_SetTime(DS1302_MONTH,ResetTime.Month);
 183   2              DS1302_SetTime(DS1302_DAY,ResetTime.Day );
 184   2              DS1302_SetTime(DS1302_HOUR,ResetTime.Hour );
 185   2              DS1302_SetTime(DS1302_MINUTE,ResetTime.Minute );
 186   2         }
 187   1      }
 188                   
 189          void alarm_set(void)                                                              //闹钟设置
 190          { 
 191   1        //SYSTEMTIME Alarm_time;
 192   1        
 193   1          TR1=0;
 194   1              Alarm_time=CurrentTime;
 195   1                      GotoXY(0,0);
 196   1                  Print("Date: ");
 197   1                      Print(Alarm_time.DateString);
 198   1                      GotoXY(0,1);
 199   1                      Print("Time: ");
 200   1                      Print(Alarm_time.TimeString);
 201   1        if(keyflag==1)                         //updown键       1
 202   1         {
 203   2              switch(resetflag)                //choose健      2
 204   2              { case 1:
 205   3                               Alarm_time.Year++;
 206   3                               if(Alarm_time.Year>=100)
 207   3                                      Alarm_time.Year=0;
 208   3                       break;
 209   3               case 2:
 210   3                               Alarm_time.Month++;
 211   3                               if(Alarm_time.Month>=13)
 212   3                                      Alarm_time.Month=0;
 213   3                       break;
 214   3               case 3:
 215   3                               Alarm_time.Day++;
 216   3                               if(Alarm_time.Day>=31)
 217   3                                      Alarm_time.Day=0;
 218   3                       break;
 219   3               case 4:
 220   3                               Alarm_time.Hour++;
 221   3                               if(Alarm_time.Hour>=24)
 222   3                                      Alarm_time.Hour=0;
 223   3                       break;
 224   3               case 5:
 225   3                               Alarm_time.Minute++;
 226   3                               if(Alarm_time.Minute>=60)
 227   3                                      Alarm_time.Minute=0;
 228   3                       break;
 229   3              
 230   3               default:break;
 231   3               }
 232   2              
 233   2                      GotoXY(0,0);
 234   2                  Print("Date: ");
 235   2                      Print(Alarm_time.DateString);
 236   2                      GotoXY(0,1);
 237   2                      Print("Time: ");
 238   2                      Print(Alarm_time.TimeString);
 239   2        
 240   2         }
 241   1      
C51 COMPILER V8.02   SUB_PROGRAM                                                           03/21/2008 14:20:29 PAGE 5   

 242   1      }
 243          
 244          void lcd_menu(void)                              //显示菜单
 245          {       static unsigned char jj;
 246   1          jj++;
 247   1       
 248   1          TR1=0;
 249   1              GotoXY(0,0);
 250   1          Print("   MENU:"); 
 251   1              //delay(10);
 252   1              Print("   Alarm");        
 253   1              //delay(10);
 254   1          GotoXY(0,1);
 255   1          Print("   Time ");
 256   1              //delay(10);
 257   1          Print("   Reset");
 258   1         
 259   1             switch(lcdmenu)
 260   1                    {
 261   2                          case 1: 
 262   2                                      GotoXY(9,1);
 263   2                                          Print("  ");                        
 264   2                                      GotoXY(0,1);
 265   2                                              Print("=>");
 266   2                                          break;
 267   2                                        
 268   2                          case 2: 
 269   2                                      GotoXY(0,1);
 270   2                                          Print("  ");                        
 271   2                                      GotoXY(9,0);
 272   2                                  Print("=>");
 273   2                                          break;
 274   2                                        
 275   2                          case 3:                     
 276   2                                      GotoXY(9,0);
 277   2                                          Print("  ");                        
 278   2                                      GotoXY(9,1);
 279   2                                  Print("=>");
 280   2                                          break;
 281   2                                        
 282   2                          default:
 283   2                                          break; 
 284   2                       }
 285   1      
 286   1              
 287   1         
 288   1      } 
 289          
 290           
 291          void currenttime()                                                         //显示当前时间
 292          {  
 293   1            //time_on=1; 
 294   1                TR1=1;  
 295   1         
 296   1                  DS1302_GetTime(&CurrentTime);
 297   1                      DateToStr(&CurrentTime);
 298   1                      TimeToStr(&CurrentTime);
 299   1                      GotoXY(0,0);
 300   1                  Print("Date: ");
 301   1                      Print(CurrentTime.DateString);
 302   1                      GotoXY(0,1);
 303   1                      Print("Time: ");
C51 COMPILER V8.02   SUB_PROGRAM                                                           03/21/2008 14:20:29 PAGE 6   

 304   1                      Print(CurrentTime.TimeString);   
 305   1      }        


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1707    ----
   CONSTANT SIZE    =     56    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     60      26
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      3       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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