📄 charge.lst
字号:
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE CHARGE
OBJECT MODULE PLACED IN charge.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE charge.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /****************************************************************/
2 /*功能:
3 /*版本:v1.0
4 /*设计人:wangjin
5 /*编写日期:07-07-22
6 /*最后修改日期:
7 /*状态:Are debugging
8 /****************************************************************/
9 #include "define.h"
10
11 /*中断服务函数*/
12 /*********************************************************************/
13 /*函数名:
14 /*功能:
15 /*输入参数:
16 /*返回值:
17 /*调用函数:
18 /*被调用函数:
19 /*编写日期:
20 /*最后修改日期:
21 /********************************************************************/
22 void T0_ISR() interrupt 1
23 {
24 1 TH0 = 0x80; //
25 1 TL0 = 0x00; //
26 1 if(enPWM)
27 1 {
28 2 charge_output = ~charge_output;
29 2 }
30 1 L2Delay++;
31 1 L3Delay++;
32 1 if(L2Delay>=50)
33 1 {
34 2 L2Delay = 0;
35 2 if(enL2)
36 2 LEDB = ~LEDB;
37 2 }
38 1 if(L3Delay>=50)
39 1 {
40 2 L3Delay = 0;
41 2 if(enL3)
42 2 LEDA = ~LEDA;
43 2 }
44 1 }
45 /*********************************************************************/
46 /*函数名:
47 /*功能:
48 /*输入参数:
49 /*返回值:
50 /*调用函数:
51 /*被调用函数:
52 /*编写日期:
53 /*最后修改日期:
54 /********************************************************************/
55 void T1_ISR() interrupt 3
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 2
56 {
57 1 TH1 = 0x80; //
58 1 TL1 = 0x00; //
59 1 if(enDelay1)
60 1 Delay4min1++;
61 1 if(enDelay2)
62 1 Delay4min2++;
63 1 }
64 /*********************************************************************/
65 /*函数名:
66 /*功能:
67 /*输入参数:
68 /*返回值:
69 /*调用函数:
70 /*被调用函数:
71 /*编写日期:
72 /*最后修改日期:
73 /********************************************************************/
74 void RTC_ISR() interrupt 10
75 {
76 1 EA = 0;
77 1 if((RTCCON&0x80)==0x80)
78 1 {
79 2 RTCCON &= 0x63;
80 2 if(Minutes == 59)
81 2 {
82 3 if(Seconds == 59)
83 3 {
84 4 Seconds = 0;
85 4 Minutes = 0;
86 4 Hours ++;
87 4 }
88 3 else
89 3 {
90 4 Seconds ++;
91 4 }
92 3 }
93 2 else
94 2 {
95 3 if(Seconds == 59)
96 3 {
97 4 Seconds = 0;
98 4 Minutes ++;
99 4 }
100 3 else
101 3 {
102 4 Seconds ++;
103 4 }
104 3 }
105 2 EA = 1;
106 2 }
107 1 }
108 /*********************************************************************/
109 /*函数名:
110 /*功能:
111 /*输入参数:
112 /*返回值:
113 /*调用函数:
114 /*被调用函数:
115 /*编写日期:
116 /*最后修改日期:
117 /********************************************************************/
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 3
118 void AD_ISR() interrupt 14
119 {
120 1 ADCON1 &= 0xF7;
121 1
122 1 AdValue.BatAd[AdValue.index] = AD1DAT0;
123 1 AdValue.SunAd[AdValue.index] = AD1DAT1;
124 1 AdValue.index ++;
125 1 if(AdValue.index >= 8)
126 1 AdValue.index = 0;
127 1
128 1 }
129
130 /*其他函数定义部分*/
131 /*********************************************************************/
132 /*函数名:
133 /*功能:
134 /*输入参数:
135 /*返回值:
136 /*调用函数:
137 /*被调用函数:
138 /*编写日期:
139 /*最后修改日期:
140 /********************************************************************/
141 void Clr_Dog()
142 {
143 1 EA = 0; //关闭中断
144 1 WFEED1 = 0xA5; //执行清零第一部分
145 1 WFEED2 = 0x5A; //执行清零第二部分
146 1 EA = 1; //开中断
147 1 }
148 /*********************************************************************/
149 /*函数名:
150 /*功能:
151 /*输入参数:port=1--L3,port=0--L2;mode=0常灭--mode=1--常亮mode=2--闪烁
152 /*返回值:
153 /*调用函数:
154 /*被调用函数:
155 /*编写日期:
156 /*最后修改日期:
157 /********************************************************************/
158 void Led_Ctrl(bit port,uchar mode)
159 {
160 1 if(mode == 2)
161 1 {
162 2 if(port)
163 2 enL3 = 1;
164 2 else
165 2 enL2 = 1;
166 2 }
167 1 else if(mode == 1)
168 1 {
169 2 if(port)
170 2 {
171 3 enL3 = 0;
172 3 LEDA = 0;
173 3 }
174 2 else
175 2 {
176 3 enL2 = 0;
177 3 LEDB = 0;
178 3 }
179 2 }
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 4
180 1 else
181 1 {
182 2 if(port)
183 2 {
184 3 enL3 = 0;
185 3 LEDA = 1;
186 3 }
187 2 else
188 2 {
189 3 enL2 = 0;
190 3 LEDB = 1;
191 3 }
192 2 }
193 1 }
194 /*********************************************************************/
195 /*函数名:
196 /*功能:
197 /*输入参数:
198 /*返回值:
199 /*调用函数:
200 /*被调用函数:
201 /*编写日期:
202 /*最后修改日期:
203 /********************************************************************/
204 bit Delay_4min(bit enDelay)
205 {
206 1 Clr_Dog();
207 1 if(enDelay)
208 1 {
209 2 enDelay1 = 1;
210 2 if(Delay4min1>=DELAY_MIN)
211 2 {
212 3 enDelay1 = 0;
213 3 Delay4min1 = 0;
214 3 return(1);
215 3 }
216 2 }
217 1 else
218 1 {
219 2 enDelay2 = 1;
220 2 if(Delay4min2>=DELAY_MIN)
221 2 {
222 3 enDelay2 = 0;
223 3 Delay4min2 = 0;
224 3 return(1);
225 3 }
226 2 }
227 1 return(0);
228 1 }
229 /*********************************************************************/
230 /*函数名:
231 /*功能:
232 /*输入参数:
233 /*返回值:
234 /*调用函数:
235 /*被调用函数:
236 /*编写日期:
237 /*最后修改日期:
238 /********************************************************************/
239 void Init_Var()
240 {
241 1 Seconds = 0;
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 5
242 1 Minutes = 0;
243 1 Hours = 0;
244 1 ClrFlag = 1; //允许时间清0
245 1 PowerFlag = 1; //允许放电
246 1 CtrlFlag = 1; //允许控制器打开负荷
247 1 L2Delay = 0;
248 1 L3Delay = 0;
249 1 Delay4min1 = 0;
250 1 Delay4min2 = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -