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

📄 datetime.lst

📁 这是广西大学生设计大赛的源码
💻 LST
字号:
C51 COMPILER V8.02   DATETIME                                                              04/26/2008 21:37:29 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE DATETIME
OBJECT MODULE PLACED IN datetime.OBJ
COMPILER INVOKED BY: D:\Keil1\C51\BIN\C51.EXE datetime.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          
   3          #include "datetime.h"
   4          #include <REGX51.H>
   5          
   6           
   7          
   8           
   9          
  10          DATETIME dtt_Now;
  11          BYTE     dtt_b225HzClock;
  12          BYTE     g_14HzClock;
  13          BYTE     g_1HzClock;
  14          BIT      g_HourClock;    //整点报时中断
  15          
  16           
  17          
  18          void dttInit(void)
  19          {
  20   1       BYTE save;
  21   1      
  22   1       save = TMOD;
  23   1       TMOD = (save & T1_MASK_) | (0x01 & T0_MASK_);
  24   1       TH0 = 0;
  25   1       TL0 = 0;
  26   1       TR0 = 1;
  27   1      
  28   1       ET0 = 1;
  29   1      
  30   1       dtt_Now.yy = 0;
  31   1       dtt_Now.mo = 1;
  32   1       dtt_Now.dd = 1;
  33   1       dtt_Now.hh = 0;
  34   1       dtt_Now.mi = 0;
  35   1       dtt_Now.ss = 0;
  36   1      }
  37          
  38          
  39          void dttIntrq(void) interrupt TF0_VECTOR
  40          {
  41   1       // 14.0625 Hz intrq
  42   1      
  43   1       dtt_b225HzClock += 16;
  44   1       g_14HzClock++;
  45   1      
  46   1       if (dtt_b225HzClock >= 225)
  47   1       {
  48   2        dtt_b225HzClock -= 225;
  49   2        dtt_Now.ss++;
  50   2        g_1HzClock++;
  51   2       }
  52   1      
  53   1       if (dtt_Now.ss >= 60)
  54   1       {
  55   2        dtt_Now.ss = 0;
C51 COMPILER V8.02   DATETIME                                                              04/26/2008 21:37:29 PAGE 2   

  56   2        dtt_Now.mi++;
  57   2       }
  58   1      
  59   1       if (dtt_Now.mi >= 60)
  60   1       {
  61   2        dtt_Now.mi = 0;
  62   2        dtt_Now.hh++;
  63   2        g_HourClock = TRUE;    // 整点报时中断
  64   2       }
  65   1      
  66   1       if (dtt_Now.hh >= 24)
  67   1       {
  68   2        dtt_Now.hh = 0;
  69   2        dtt_Now.dd++;
  70   2       }
  71   1      }
  72          
  73           
  74          
  75          void dttSetCurDateTime(DATETIME * pDtt)
  76          {
  77   1       dtt_Now = *pDtt;
  78   1      }
  79          
  80          
  81          //BYTE dttGetCurDateTime(BYTE pos)
  82          DATETIME dttGetCurDateTime(void)
  83          {
  84   1      // BYTE rt;
  85   1      
  86   1       // 检查天进位
  87   1       switch (dtt_Now.mo)
  88   1       {
  89   2       case 2:
  90   2        if (dtt_Now.yy % 4)
  91   2        {
  92   3         if (dtt_Now.dd > 28)
  93   3         {
  94   4          dtt_Now.dd -= 28;
  95   4          dtt_Now.mo ++;
  96   4         }
  97   3        }
  98   2        else
  99   2        {
 100   3         if (dtt_Now.dd > 29)
 101   3         {
 102   4          dtt_Now.dd -= 29;
 103   4          dtt_Now.mo ++;
 104   4         }
 105   3        }
 106   2        break;
 107   2       case 4:
 108   2       case 6:
 109   2       case 9:
 110   2       case 11:
 111   2        if (dtt_Now.dd > 30)
 112   2        {
 113   3         dtt_Now.dd -= 30;
 114   3         dtt_Now.mo ++;
 115   3        }
 116   2        break;
 117   2       default:
C51 COMPILER V8.02   DATETIME                                                              04/26/2008 21:37:29 PAGE 3   

 118   2        if (dtt_Now.dd > 31)
 119   2        {
 120   3         dtt_Now.dd -= 31;
 121   3         dtt_Now.mo ++;
 122   3        }
 123   2       }
 124   1       if (dtt_Now.mo > 12)
 125   1       {
 126   2        dtt_Now.mo -= 12;
 127   2        dtt_Now.yy ++;
 128   2       }
 129   1      
 130   1       return dtt_Now;
 131   1      }
 132          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    381    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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