📄 hs.lst
字号:
182 1 WDI=1;
183 1 WDI=0;
184 1 M2_Init();
185 1 WDI=1;
186 1 WDI=0;
187 1 M3_Init();
188 1 WDI=1;
189 1 WDI=0;
190 1
191 1 WDI=1;
192 1 WDI=0;
193 1 T4_Init();
194 1 T2_Init();
195 1 T3_Init();
196 1 T1_Init();
197 1
198 1 ALM_SEM=0xFF; //drop_sem
199 1 POL_SEM=0xFF;
200 1 PRO_SEM=0xFF;
201 1
202 1 AddrDPR=0x8000;
203 1
204 1 *(AddrDPR+1)=ALMQ_ST_ADDR_L;
205 1 *(AddrDPR)=ALMQ_ST_ADDR_H;
206 1 *(AddrDPR+2)=ALMQ_LEN;
207 1 *(AddrDPR+6)=POLQ_ST_ADDR_L;
208 1 *(AddrDPR+5)=POLQ_ST_ADDR_H;
209 1 *(AddrDPR+7)=POLQ_LEN;
210 1 *(AddrDPR+11)=PROQ_ST_ADDR_L;
211 1 *(AddrDPR+10)=PROQ_ST_ADDR_H;
212 1 *(AddrDPR+12)=PROQ_LEN;
213 1 *(AddrDPR+16)=PERQ_ST_ADDR_L;
214 1 *(AddrDPR+15)=PERQ_ST_ADDR_H;
215 1
216 1 WDI=1;
217 1 WDI=0;
218 1
219 1 if (get_sem(&ALM_SEM)==1)
220 1 {
221 2 *(AddrDPR+3)=Alm_Rd;
222 2 *(AddrDPR+4)=Alm_Wr;
223 2 }
224 1 ALM_SEM=0xFF;
225 1 if (get_sem(&POL_SEM)==1)
226 1 {
227 2 *(AddrDPR+8)=Pol_Rd;
228 2 *(AddrDPR+9)=Pol_Wr;
229 2 }
230 1 POL_SEM=0xFF;
231 1 if (get_sem(&PRO_SEM)==1)
232 1 {
233 2 *(AddrDPR+13)=Pro_Rd;
234 2 *(AddrDPR+14)=Pro_Wr;
235 2 }
236 1 PRO_SEM=0xFF;
237 1 WDI=1;
238 1 WDI=0;
239 1
240 1 for (t=0;t<16;t++) //初始化
241 1 {
C51 COMPILER V7.02b HS 01/18/2005 21:37:30 PAGE 5
242 2 *(AddrDPR+18+t)=0xFF; //全部赋为0xFF,16字节留给主控用
243 2 CounterBIP[t]=0;
244 2 CounterFEBE[t]=0;
245 2 CounterES[t]=0; //used for performance counting
246 2 CounterSES[t]=0; //used for performance counting
247 2 CounterUS[t]=0; //used for performance counting
248 2 k[t]=0; //used for performance counting
249 2 m[t]=0; //used for performance counting
250 2 USFlag[t]=0; //used for performance counting
251 2 f[t]=0; //2M时隙映射配置标志赋初值
252 2 ESAlm[t]=0;
253 2 SESAlm[t]=0;
254 2 USAlm[t]=0;
255 2 ESThre[t]=900; //性能门限初始默认值900
256 2 SESThre[t]=900;
257 2 USThre[t]=900;
258 2 FgSDAlm[t]=0;
259 2 FgRFFE[t]=0;
260 2 FgTAFE[t]=0;
261 2 FgTLOS[t]=0;
262 2 FgTLOC[t]=0;
263 2 FgTDAIS[t]=0;
264 2 FgAAIS[t]=0;
265 2 FgALOP[t]=0;
266 2 FgASIZE[t]=0;
267 2 FgANDF[t]=0;
268 2 FgAREI[t]=0;
269 2 FgARDI[t]=0;
270 2 FgARFI[t]=0;
271 2 FgAUNEQ[t]=0;
272 2 FgASLER[t]=0;
273 2 FgAJ2LOL[t]=0;
274 2 FgAJ2TIM[t]=0;
275 2
276 2 FgPEREn[t]=1; //初始打开性能越限使能
277 2 }
278 1 FgADLOC=0;
279 1 FgAALOC=0;
280 1 FgAUAIS=0;
281 1 FgADH4E=0;
282 1 WDI=1;
283 1 WDI=0;
284 1
285 1 FgProEd=1;
286 1
287 1 NotifyProv(); //通知主控进行二次配置
288 1 Provision(); //二次配置
289 1 //Green Light Red Dark
290 1 Led_C1=0;
291 1 Led_C2=1;
292 1 tmp1=DP_RAM_INTR; //清除中断
293 1 OpenInt(); //通过中断掩码打开中断
294 1
295 1 EA=1; //开CPU中断
296 1 EX0=1; //开外部中断0 ,二次配置通过双口RAM中断进行
297 1 ET0=1; //开T/C0中断
298 1 PX0=0; //外部中断低优先级
299 1 PT0=1; //计数器高优先级
300 1 TMOD=0x01; //T/C0工作在方式1
301 1 TH0=0x70; //预置计数初值
302 1 TL0=0x00;
303 1 TR0=1; //启动T/C0
C51 COMPILER V7.02b HS 01/18/2005 21:37:30 PAGE 6
304 1
305 1 M1_052=M1_052|0x40; //计数器清零
306 1 M1_082=M1_082|0x40;
307 1 M1_0B2=M1_0B2|0x40;
308 1 M1_0E2=M1_0E2|0x40;
309 1 M2_052=M2_052|0x40;
310 1 M2_082=M2_082|0x40;
311 1 M2_0B2=M2_0B2|0x40;
312 1 M2_0E2=M2_0E2|0x40;
313 1 M3_052=M3_052|0x40;
314 1 M3_082=M3_082|0x40;
315 1 M3_0B2=M3_0B2|0x40;
316 1 M3_0E2=M3_0E2|0x40;
317 1 M4_052=M4_052|0x40;
318 1 M4_082=M4_082|0x40;
319 1 M4_0B2=M4_0B2|0x40;
320 1 M4_0E2=M4_0E2|0x40;
321 1
322 1 PerQ_Init(); //性能队列初始化,向固定位置写固定值
323 1
324 1 WDI=1;
325 1 WDI=0;
326 1
327 1
328 1 while(1)
329 1 {
330 2
331 2 Int_query(); //中断队列查询
332 2 WDI=1;
333 2 WDI=0;
334 2 Alm_query(); //非中断告警查询
335 2
336 2 Perf_query(); //性能查询
337 2 WDI=1;
338 2 WDI=0;
339 2
340 2 }
341 1 }
342
343 //中断查询函数
344
345 void Int_query()
346 {
347 1 if (Int0_flag==1)
348 1 {
349 2 Int0_flag=0;
350 2 WDI=1;
351 2 WDI=0;
352 2 Ram2p_q(); //查询双口ram
353 2 }
354 1 }
355
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1175 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 708 ----
PDATA SIZE = ---- ----
DATA SIZE = 19 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
C51 COMPILER V7.02b HS 01/18/2005 21:37:30 PAGE 7
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -