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

📄 dataandtaime.lst

📁 本源程序是基于AT89C51单片机的
💻 LST
字号:
C51 COMPILER V7.50   DATAANDTAIME                                                          04/19/2007 15:55:25 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DATAANDTAIME
OBJECT MODULE PLACED IN DataAndTaime.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DataAndTaime.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1           /***********************************************************************************
   2           ************************************************************************************
   3                                  ********************************                      
   4                                   基于MSC-51单片机的音乐播放程序
   5                                  ********************************
   6                 文件名称:MusicPlay.h
   7                 设计者:  黄开坤
   8           ***********************************************************************************/
   9          #include <reg51.h>
  10          #include <LCD1602.h>
  11          #include <DS18B20.h>
  12          /***全局变量************************************************************************/
  13          unsigned char year             =7  ;    //年变量,初始值为2007年
  14          unsigned char month            =4  ;    //月娈量,初始值为4月
  15          unsigned char day              =20 ;    //日变量,初始值为20日
  16          unsigned char week             =5  ;    //周    ,初始值为周5
  17          unsigned char hour             =12 ;    //时    ,初始值为12
  18          unsigned char minute           =0  ;    //分    ,初始值为0
  19          unsigned char second           =2  ;    //秒    ,初始值为0
  20          unsigned char Timer_hour       =12 ;    //定时器的时变量
  21          unsigned char Timer_minute     =0  ;    //定时器的分变量
  22          unsigned char Timer_sin            ;    //定时器响应标志,为1表示定时已到,正在响应
  23          unsigned char days                 ;    //用于存放每月的天数
  24          unsigned char Temperature_sin  =1  ;    //温度转换标志,为1,则启动温度转换并刷新 
  25          unsigned char DATA[3];
  26          unsigned char Week_Str[4]          ;    //用于存放3个字符表示星期,如Mon表示星期一
  27          
  28          
  29          void WeekToStr( char n)
  30          {
  31   1           switch(n)
  32   1             { case 1 :{Week_Str[0]='M' ;
  33   3                            Week_Str[1]='o' ;
  34   3                                        Week_Str[2]='n' ;
  35   3                                        Week_Str[3]='\0';
  36   3                                        };break         ;
  37   2                   case 2 :{Week_Str[0]='T' ;
  38   3                            Week_Str[1]='u' ;
  39   3                                        Week_Str[2]='e' ;
  40   3                                        Week_Str[3]='\0';
  41   3                                        };break         ;
  42   2                   case 3 :{Week_Str[0]='W' ;
  43   3                            Week_Str[1]='e' ;
  44   3                                        Week_Str[2]='n' ;
  45   3                                        Week_Str[3]='\0';
  46   3                                        };break         ;
  47   2                   case 4 :{Week_Str[0]='T' ;
  48   3                            Week_Str[1]='h' ;
  49   3                                        Week_Str[2]='u' ;
  50   3                                        Week_Str[3]='\0';
  51   3                                        };break         ;
  52   2                   case 5 :{Week_Str[0]='F' ;
  53   3                            Week_Str[1]='r' ;
  54   3                                        Week_Str[2]='i' ;
  55   3                                        Week_Str[3]='\0';
C51 COMPILER V7.50   DATAANDTAIME                                                          04/19/2007 15:55:25 PAGE 2   

  56   3                                        };break         ;
  57   2                   case 6 :{Week_Str[0]='S' ;
  58   3                            Week_Str[1]='a' ;
  59   3                                        Week_Str[2]='t' ;
  60   3                                        Week_Str[3]='\0';
  61   3                                        };break         ;
  62   2                       case 7 :{Week_Str[0]='S' ;
  63   3                            Week_Str[1]='u' ;
  64   3                                        Week_Str[2]='n' ;
  65   3                                        Week_Str[3]='\0';
  66   3                                        };break         ;
  67   2                 }
  68   1      } 
  69            
  70          void CharToStr(float t) 
  71          {
  72   1               //char i;                                      
  73   1              DATA[0]=(unsigned char)(t/10)%10+'0';         //取得整数值到数组                
  74   1              DATA[1]=(unsigned char)(t/1)%10+'0';                                            
  75   1              //DATA[2]=(unsigned char)(t/1)%10;                                              
  76   1              //DATA[4]=(unsigned char)(t/0.1)%10;                                            
  77   1                                                           
  78   1              //for(i=0; i<6; i++)         //转成ASCII码                      
  79   1              //      DATA[i]=DATA[i]+'0';
  80   1                      DATA[2]='\0';                                           
  81   1             // DATA[3]='.';
  82   1      } 
  83          //******************************************************************************
  84          
  85          //****************************
  86              //主程序       
  87            main()
  88          { float i=0;
  89   1      LCD_Initial();
  90   1         IT1=1;
  91   1         IE=0x88;
  92   1         EA=1;
  93   1         EX1=1;
  94   1         
  95   1        
  96   1       
  97   1        while(1)
  98   1        {float i;
  99   2         i=ReadTemperature();
 100   2         //i=DS18B20_Initial();
 101   2           IntToStr(i);
 102   2           LCD_GoToXY(10,2);
 103   2           LCD_Print(temp);
 104   2        }
 105   1      }
 106          /***中断1服务程序(用于完成计时和日历转变和刷新,以及判断定时是否已到)***************/
 107          void int1(void) interrupt 2 using 1
 108          {
 109   1           second++;
 110   1               if(second==60)
 111   1                 { second=0;
 112   2                   minute++;
 113   2                       if((second%3==0)&&~Timer_sin)
 114   2                          Temperature_sin=1      ;
 115   2                       if(minute==60)              
 116   2                         { minute=0              ;
 117   3                           hour++                ; 
C51 COMPILER V7.50   DATAANDTAIME                                                          04/19/2007 15:55:25 PAGE 3   

 118   3                               if(hour==24)
 119   3                                 { hour=0            ;
 120   4                                   week++            ;
 121   4                                       day++             ;
 122   4                                       if(week==8)      
 123   4                                          week=1         ;             
 124   4                                   if(day==days)
 125   4                                     { day=1              ;
 126   5                                       month++            ;
 127   5                                       if(month==13)
 128   5                                             { month=1        ;
 129   6                                               year++         ;
 130   6                                               if(year==100)
 131   6                                                       year=0     ;
 132   6                                                      }
 133   5                                              }
 134   4                                      }
 135   3                              }
 136   2                      }
 137   1               if((Timer_hour==hour)&&(Timer_minute==minute))
 138   1                  Timer_sin=1;
 139   1           CharToStr(second)  ;
 140   1               LCD_GoToXY(7,2)    ;
 141   1               LCD_Print(DATA)    ;
 142   1               CharToStr(minute)  ;
 143   1               LCD_GoToXY(4,2)    ;
 144   1               LCD_Print(DATA)    ;
 145   1               LCD_Print(":")     ;
 146   1               CharToStr(hour)    ;
 147   1               LCD_GoToXY(1,2)    ;
 148   1               LCD_Print(DATA)    ;
 149   1               LCD_Print(":")     ;
 150   1               WeekToStr(week)    ;
 151   1               LCD_GoToXY(13,1)   ;
 152   1           LCD_Print(Week_Str);
 153   1               CharToStr(day)     ;
 154   1               LCD_GoToXY(10,1)   ;
 155   1           LCD_Print(DATA)    ;
 156   1               CharToStr(month)   ;
 157   1               LCD_GoToXY(7,1)    ;
 158   1               LCD_Print(DATA)    ;
 159   1               LCD_Print("-")     ;
 160   1               CharToStr(year)    ;
 161   1               LCD_GoToXY(4,1)    ;
 162   1               LCD_Print(DATA)    ;
 163   1               LCD_Print("-")     ;
 164   1               LCD_GoToXY(2,1)    ;
 165   1               LCD_Print("20")    ;
 166   1      }
 167          
 168                                          
*** WARNING C316 IN LINE 168 OF DataAndTaime.c: unterminated conditionals


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1113    ----
   CONSTANT SIZE    =      7    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     34      17
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
C51 COMPILER V7.50   DATAANDTAIME                                                          04/19/2007 15:55:25 PAGE 4   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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