📄 rtc.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 + -