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

📄 rtc.lst

📁 电能表源码
💻 LST
字号:
C51 COMPILER V7.06   RTC                                                                   11/24/2008 09:37:03 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE RTC
OBJECT MODULE PLACED IN rtc.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE bottom\rtc.c LARGE OPTIMIZE(9,SIZE) BROWSE NOAREGS MODDP2 INCDIR(C:\DOCUMEN
                    -TS AND SETTINGS\ADMINISTRATOR.LENOVO-80B42371\桌面\VANGO\程序\var\) DEBUG OBJECTEXTEND PRINT(.\rtc.lst) OBJECT(rtc.obj)

stmt level    source

   1          /*************************************************************************************
   2          
   3                  文件类型:底层驱动函数文件
   4                  文件作用:
   5                  修改权限:底层驱动维护人员
   6                  文件相关:
   7                  
   8                  创 建 人:GeminiKQ
   9                  创建日期:2006.12.19
  10                  当前版本:Ver0.1
  11                  
  12                  版本信息:Ver0.1                                        GeminiKQ
  13          
  14          **************************************************************************************/
  15          #include "Tiger.h"
*** WARNING C318 IN LINE 15 OF bottom\rtc.c: can't open file 'Tiger.h'
  16          #include "typemeter.h"
*** WARNING C318 IN LINE 16 OF bottom\rtc.c: can't open file 'typemeter.h'
  17          //===========================================================
  18          //函数功能:初始化时钟寄存器
  19          //备注:第一次上电时调用
  20          //============================================================
  21          void Init_RTC(void)
  22          {  CfgRTC(1,0);                   //pll  1秒唤醒
*** WARNING C206 IN LINE 22 OF BOTTOM\RTC.C: 'CfgRTC': missing function-prototype
*** ERROR C267 IN LINE 22 OF BOTTOM\RTC.C: 'CfgRTC': requires ANSI-style prototype
  23   1      /*
  24   1         RTCTIME.rSecond=0;
  25   1         RTCTIME.rMinute=0x28;
  26   1         RTCTIME.rHour=0x17;
  27   1         RTCTIME.rDate=0x10;
  28   1         RTCTIME.rWeek=0x04;
  29   1         RTCTIME.rMonth=0x01;
  30   1         RTCTIME.rYear=0x08;
  31   1         SetRTCTime(RTCTIME);
  32   1      */
  33   1         AdjustRTC(0x0,0x1f,0xff-3);     //时钟补偿
  34   1      //   CfgPort(4,1);                   //秒脉冲输出打开
  35   1      //   P1_0OE=0;
  36   1      }
  37          
  38          //=======================================================
  39          //函数功能:初始化时钟功能模块,
  40          //备注:每次从停电模式切换到正常上电时调用
  41          //=======================================================
  42          void init_RTCmode(void)
  43          { //Ctor_intrupt(1,21);                   //开秒中断
  44   1        SetInterrupt(21);                       //开启秒中断
  45   1        Flg_rtvrefresh=0;                       //清秒刷新标志位。
  46   1        Init_RTC();
  47   1      }
  48          
  49          //===========================================
  50          //函数功能:正常工作时时钟刷新,每秒刷新一次。
C51 COMPILER V7.06   RTC                                                                   11/24/2008 09:37:03 PAGE 2   

  51          //
  52          //==========================================
  53          
  54          void Rtc_refreshmode(void)
  55          { //unsigned char i;
  56   1        if(Flg_rtvrefresh==true)
  57   1           { ClearWDT();                                                 //喂狗
  58   2             Flg_rtvrefresh=false;
  59   2             if(ReadRTCTime()==1)
  60   2                { if(addr_baseonIDandtype(RAM,ID_DATAMETER)!=0)          //获取地址成功
  61   3                     { wr_buff[0]=RTCTIME.rYear;
  62   4                       wr_buff[1]=RTCTIME.rMonth;
  63   4                       wr_buff[2]=RTCTIME.rDate;
  64   4                       wr_buff[3]=RTCTIME.rHour;
  65   4                       wr_buff[4]=RTCTIME.rMinute;
  66   4                       wr_buff[5]=RTCTIME.rSecond;
  67   4                       wr_buff[6]=RTCTIME.rWeek;
  68   4                       data_addr.word[1]=(*ID_coretalbpoint[0]).dataaddr;
  69   4                       Write_data((*ID_coretalbpoint[0]).stortype,7);
  70   4                     }
  71   3                }
  72   2                 if(check_powertype()==0)               //停电激活时间累加
  73   2                    if(time_jihuo<181)
  74   2                           time_jihuo++;
  75   2            
  76   2                 F_energeadd=1;                       // 电量运行标志
  77   2             flag_startlcddisp=1;                 // 置位显示刷新标志位
  78   2             flag_xuliangmode=1;                  // 需量刷新标志
  79   2      
  80   2      //       flag_zhuancun_run=1;               // 转存历史电量运行标志 
  81   2      //       flag_runswitchmode=1;              // 拉合闸模块运行标志为
  82   2      
  83   2            if (RTCTIME.rSecond==0x59)            // 每一分钟
  84   2                bat_test();                                           // 电池电压检测一次(电池电压不足,置缺电报警标志位)
  85   2      
  86   2             if(count_opencftime>0)               // CF打开延时
  87   2                count_opencftime--;  
  88   2      
  89   2      //       if(sta_keypag==key_dnstation)        // 计算按键按下时间
  90   2      //          time_keypag_on++;
  91   2      //       if(sta_keyup==key_dnstation)
  92   2      //          time_keyup_on++;
  93   2      
  94   2             if(sta_meterrun==run_prosta)           // 编程状态下计时
  95   2                    time_runprosta++;
  96   2                 if(time_runprosta>600)                 // 10分钟退出编程状态
  97   2                    { time_runprosta=0;
  98   3                          sta_meterrun=run_formal;
  99   3                        }
 100   2      
 101   2             if(F_commudiv>0)                     //显示时间
 102   2                F_commudiv--;
 103   2             if(F_commudiv==0)                    // 不显示,则接收状态
 104   2              { 
 105   3                        CfgPort(13,2);                    // P2_4作为RXD2
 106   3                P2IE|=0x10;                       // 输入使能 
 107   3                CfgPort(14,0);                    // P2_5初始化为GPIO口
 108   3                P2OE&=0xdf;                       // 输出使能
 109   3                P2OD&=0xdf;                       // 输出低电平
 110   3                        SetInterrupt(8);                  // 允许接收
 111   3                        ClrInterrupt(7);                          // 关闭发射中断
 112   3                    sta_infrcomm=standby_comm;        // 重新开始接收
C51 COMPILER V7.06   RTC                                                                   11/24/2008 09:37:03 PAGE 3   

 113   3                    len_infrcommdata=0;
 114   3      //                 init_infrcomm();
 115   3                  }
 116   2      
 117   2             if(time_qiandong<qidong_time)         //防潜时间
 118   2                time_qiandong++;
 119   2           }
 120   1      }

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

⌨️ 快捷键说明

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