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

📄 time.lst

📁 LCD多级菜单显示程序!320*240的LCD显示器!全部调试通过的!
💻 LST
字号:
C51 COMPILER V7.08   TIME                                                                  10/31/2007 10:13:28 PAGE 1   


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

line level    source

   1          //*****************************************************************
   2          //DS12C887程序
   3          //*****************************************************************
   4          #include <stdio.h>              /* standard I/O .h-file */
   5          #include <reg51f.h>
   6          #include <absacc.h>
   7          #include "time.h"
   8          #include "lcd.h"
   9          /* 检查12c887是否处于忙状态 */
  10          void CheckRTC(void)
  11          {
  12   1              unsigned char i;
  13   1              i = RegA;
  14   1              while(i&0x80)   //REGA。7 UIP 为0表示至少在244US内芯片不会更新,此时,可以读写时间信息。
  15   1                      i = RegA;
  16   1      }
  17          
  18          
  19          void Init12c887(void)
  20          {
  21   1              RegB = 0x80;            //芯片更新被禁止
  22   1              CENTURY = 21;           //century
  23   1              RegA = 0x2f;            //square wave with 2 Hz,pin SQW
  24   1              RegB = 0x0e;            //square wave enable,binary data mode,24-hour mode
  25   1      }
  26          
  27          
  28          /*取系统时间*/
  29          void GetTime(struct TIME *S )
  30          {
  31   1              CheckRTC();                     /* 检查12c887是否处于忙状态,忙则等待 */
  32   1              S->sec = SECOND;
  33   1              CheckRTC();
  34   1              S->min = MINUTE;
  35   1              CheckRTC();
  36   1              S->hour = HOUR;
  37   1      }
  38          
  39          
  40          /*取系统日期*/
  41          void GetDate(struct DATE *D )
  42          {
  43   1              CheckRTC();
  44   1              D->day = DAY;
  45   1              CheckRTC();
  46   1              D->mon = MONTH;
  47   1              CheckRTC();
  48   1              D->year = YEAR;
  49   1      //      CheckRTC();
  50   1      //      D->week = Week;
  51   1      }
  52          
  53          
  54          /*设置系统日*/
  55          /*void SetDate(year,month,day)
C51 COMPILER V7.08   TIME                                                                  10/31/2007 10:13:28 PAGE 2   

  56          unsigned char year,month,day;
  57          {
  58                  unsigned char i;
  59          
  60                  i = RegB;
  61                  RegB = 0x80;            //REGB。7=1 芯片更新被禁止,禁止后进行日期参数的设置
  62                  DAY = day;                      //day
  63                  MONTH = month;          //month
  64                  YEAR = year;            //year
  65                  RegB= i;
  66          }*/
  67          
  68            
  69          /*设置系统时*/
  70          /*void SetTime(hour,min,sec)
  71          unsigned char hour,min,sec;
  72          {
  73                  unsigned char i;
  74          
  75                  i = RegB;                       //REGB。7=1 芯片更新被禁止,禁止后进行时间参数的设置
  76                  SECOND = sec;           //second
  77                  MINUTE = min;           //minute
  78                  HOUR = hour;            //hour
  79                  RegB = i;
  80          }*/
  81          
  82          /******************************************************
  83          功能:12C887定闹子程序。
  84          描述:clock_time(t_min,t_sec);
  85          参数:定闹时间t(1-120)分钟
  86          返回:无
  87          影响:无                             
  88          *******************************************************/
  89          /*void clock_time(t_min,t_sec)
  90          unsigned char   t_min,t_sec;
  91          {
  92                  unsigned char sec_t,min_t,hour_t,t1;
  93                  t1 = t_min/60;
  94                  t_min = t_min%60;
  95                  CheckRTC();
  96                  sec_t = SECOND;
  97                  min_t = MINUTE;
  98                  hour_t = HOUR;
  99                  sec_t = sec_t+t_sec;
 100                  if(sec_t>=60)
 101                  {
 102                          min_t += sec_t/60;
 103                          sec_t = sec_t%60;
 104                  }
 105                  SEC_ALM = sec_t;
 106                  min_t = min_t + t_min;
 107                  if(min_t<60)
 108                          {
 109                                  MIN_ALM = min_t;
 110                                  HOUR_ALM = hour_t+t1;
 111                          }
 112                  else 
 113                          {
 114                                  MIN_ALM = min_t-60;
 115                                  hour_t = hour_t + 1 +t1;
 116                                  if(hour_t<24)
 117                                          HOUR_ALM = hour_t;
C51 COMPILER V7.08   TIME                                                                  10/31/2007 10:13:28 PAGE 3   

 118                                  else
 119                                          HOUR_ALM = hour_t-24;
 120                          }
 121                  
 122          }*/


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


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

⌨️ 快捷键说明

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