dataandtime.lst

来自「本源程序是基于AT89C51单片机的」· LST 代码 · 共 292 行 · 第 1/2 页

LST
292
字号
 133   4                                       case 0x0b :{while((P1&0x0f)!=0x0f)  //等待按键释放 
 134   5                                                    ;
 135   5                                                    return 3;                          //P1.2上的键按下
 136   5                                                                };break;                  
 137   4                                       case 0x07 :{while((P1&0x0f)!=0x0f)  //等待按键释放 
 138   5                                                    ;
 139   5                                                    return 4;                          //P1.3上的键按下
 140   5                                                                };break;                  
 141   4                                       default   :return 0;
 142   4                                      }
 143   3                              }
 144   2                      }
 145   1              else
 146   1                  return 0;
 147   1      }
 148          /***按键处理*************************************************************************
 149                  按键返回值说明:返回值用十六进制数表示,
 150                                  十位上的数值表示按键类型: 1--单击  按下时间<700ms
 151                                                                             2--长击  按下时间>700ms但<1s
 152                                                                                     3--连击  按下时间>1s
 153                                                  个位上的数值圾示按键的编号 1--表示1号键,2表示2号键……
 154          ************************************************************************************
 155          unsigned char Key_Manage(unsigned char keys)
 156          { 
 157                unsigned char key=0;
 158                    //Delay1ms(250);
 159                    Delay1ms(100);
 160                    if(Key_Scan())
 161                       {key=(0x10|keys);}
 162                           return key; }*/
 163          
 164          
 165              //主程序       
 166            main()
 167          { float i=0; unsigned char o; 
 168   1      LCD_Initial();
 169   1      LCD_Print("   HangKaiKun");
 170   1      LCD_GoToXY(0,1);
 171   1      LCD_Print("               ");
 172   1         IT1=1;
 173   1         IE=0x88;
 174   1         EA=1;
 175   1         EX1=1;
 176   1         while(1)
 177   1         {o=Key_Scan(); 
 178   2           if(o)
C51 COMPILER V7.50   DATAANDTIME                                                           04/20/2007 12:49:12 PAGE 4   

 179   2            year++ ;
 180   2                 
 181   2            
 182   2       
 183   2       
 184   2        while(Temperature_sin)
 185   2        {float i;
 186   3         i=ReadTemperature();
 187   3         //i=DS18B20_Initial();
 188   3           IntToStr(i);
 189   3           LCD_GoToXY(9,2);
 190   3           LCD_Print(temp);
 191   3          Temperature_sin=0;
 192   3        }     
 193   2        }
 194   1      }
 195          /***中断1服务程序(用于完成计时和日历转变和刷新,以及判断定时是否已到)***************/
 196          void int1(void) interrupt 2 using 1
 197          {
 198   1           second++;
 199   1               if((second%2==0))
 200   1                          Temperature_sin=1      ;
 201   1               if(second==60)
 202   1                 { second=0;
 203   2                   minute++;
 204   2                       
 205   2                       if(minute==60)              
 206   2                         { minute=0              ;
 207   3                           hour++                ; 
 208   3                               if(hour==24)
 209   3                                 { hour=0            ;
 210   4                                   week++            ;
 211   4                                       day++             ;
 212   4                                       if(week==8)      
 213   4                                          week=1         ;             
 214   4                                   if(day<=days)
 215   4                                     { day=1              ;
 216   5                                       month++            ;
 217   5                                       if(month==13)
 218   5                                             { month=1        ;
 219   6                                               year++         ;
 220   6                                               if(year==100)
 221   6                                                       year=0     ;
 222   6                                                      }
 223   5                                              }
 224   4                                      }
 225   3                              }
 226   2                      }
 227   1               if((Timer_hour==hour)&&(Timer_minute==minute))
 228   1                  Timer_sin=1;
 229   1           CharToStr(second)  ;
 230   1               LCD_GoToXY(6,2)    ;
 231   1               LCD_Print(DATA)    ;
 232   1               CharToStr(minute)  ;
 233   1               LCD_GoToXY(3,2)    ;
 234   1               LCD_Print(DATA)    ;
 235   1               LCD_Print(":")     ;
 236   1               CharToStr(hour)    ;
 237   1               LCD_GoToXY(0,2)    ;
 238   1               LCD_Print(DATA)    ;
 239   1               LCD_Print(":")     ;
 240   1               WeekToStr(week)    ;
C51 COMPILER V7.50   DATAANDTIME                                                           04/20/2007 12:49:12 PAGE 5   

 241   1               LCD_GoToXY(12,1)   ;
 242   1           LCD_Print(Week_Str);
 243   1               CharToStr(day)     ;
 244   1               LCD_GoToXY(8,1)    ;
 245   1           LCD_Print(DATA)    ;
 246   1               CharToStr(month)   ;
 247   1               LCD_GoToXY(5,1)    ;
 248   1               LCD_Print(DATA)    ;
 249   1               LCD_Print("-")     ;
 250   1               CharToStr(year)    ;
 251   1               LCD_GoToXY(2,1)    ;
 252   1               LCD_Print(DATA)    ;
 253   1               LCD_Print("-")     ;
 254   1               LCD_GoToXY(0,1)    ;
 255   1               LCD_Print("20")    ;
 256   1      }
 257          
 258                                          
*** WARNING C316 IN LINE 258 OF DataAndTime.c: unterminated conditionals


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1230    ----
   CONSTANT SIZE    =     37    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     59      13
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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