📄 lzk.lst
字号:
233 2 if(ExSramWrRdAdr>65531)
234 2 {
235 3 ExSramWrRdAdr = 0;
236 3 ExSramWrRdPag++;
237 3 }
238 2 SFRPAGE = 0x00;
239 2 EMI0CF = 0x00;
240 2 EMI0TC = 0x00;
241 2
C51 COMPILER V7.20 LZK 01/31/2007 10:20:42 PAGE 5
242 2 if(ExSramWrRdPag>ExSramEndPag)
243 2 {
244 3 Wave_EN=0;
245 3 RecType=0;
246 3 }
247 2 }
248 1
249 1 if(DisWave_En)
250 1 {
251 2 ExSRAM_PageSetting(ExSramWrRdPag);
252 2
253 2 for(AD_Switch=0;AD_Switch<4;AD_Switch++)
254 2 {
255 3 ExSramWrRdAdrPt = ExSramWrRdAdr;
256 3 AD_DataBuff[AD_Switch] = *ExSramWrRdAdrPt;
257 3 ExSramWrRdAdr++;
258 3 }
259 2
260 2 SFRPAGE = 0x00;
261 2 EMI0CF = 0x00;
262 2 EMI0TC = 0x00;
263 2
264 2 DisWave_En=0;
265 2 }
266 1
267 1 /******KEY SCAN*****************************************************/
268 1 SFRPAGE = 0x0F;
269 1
270 1 if(MenuKeyCNT<500&&MenueKey==1)
271 1 MenuKeyCNT=0;
272 1 if(MenuKeyCNT<500&&MenueKey==0)
273 1 MenuKeyCNT++;
274 1 if(MenuKeyCNT>=500&&MenueKey==1)
275 1 {
276 2 MenuKeyEvt=1;
277 2 MenuKeyCNT=0;
278 2 }
279 1
280 1 if(EnterKeyCNT<500&&EnterKey==1)
281 1 EnterKeyCNT=0;
282 1 if(EnterKeyCNT<500&&EnterKey==0)
283 1 EnterKeyCNT++;
284 1 if(EnterKeyCNT>=500&&EnterKey==1)
285 1 {
286 2 EnterKeyEvt=1;
287 2 EnterKeyCNT=0;
288 2 }
289 1
290 1 if(CancelKeyCNT<500&&CancelKey==1)
291 1 CancelKeyCNT=0;
292 1 if(CancelKeyCNT<500&&CancelKey==0)
293 1 CancelKeyCNT++;
294 1 if(CancelKeyCNT>=500&&CancelKey==1)
295 1 {
296 2 CancelKeyEvt=1;
297 2 CancelKeyCNT=0;
298 2 }
299 1
300 1 if(UpKeyCNT<500&&UpKey==1)
301 1 UpKeyCNT=0;
302 1 if(UpKeyCNT<10000&&UpKey==0)
303 1 UpKeyCNT++;
C51 COMPILER V7.20 LZK 01/31/2007 10:20:42 PAGE 6
304 1 if(UpKeyCNT>=500&&UpKey==1)
305 1 {
306 2 UpKeyEvt=1;
307 2 UpKeyCNT=0;
308 2 }
309 1 if(UpKeyCNT>=10000)
310 1 {
311 2 UpKeyCNT++;
312 2 if(UpKeyCNT>10040)
313 2 HI_Bell=0;
314 2 if(UpKeyCNT>10200)
315 2 {
316 3 UpKeyCNT=10000;
317 3 UpKeyEvt=1;
318 3 }
319 2 }
320 1
321 1 if(DownKeyCNT<500&&DownKey==1)
322 1 DownKeyCNT=0;
323 1 if(DownKeyCNT<10000&&DownKey==0)
324 1 DownKeyCNT++;
325 1 if(DownKeyCNT>=500&&DownKey==1)
326 1 {
327 2 DownKeyEvt=1;
328 2 DownKeyCNT=0;
329 2 }
330 1 if(DownKeyCNT>=10000)
331 1 {
332 2 DownKeyCNT++;
333 2 if(DownKeyCNT>10040)
334 2 HI_Bell=0;
335 2 if(DownKeyCNT>10200)
336 2 {
337 3 DownKeyCNT=10000;
338 3 DownKeyEvt=1;
339 3 }
340 2 }
341 1
342 1 if(LeftKeyCNT<500&&LeftKey==1)
343 1 LeftKeyCNT=0;
344 1 if(LeftKeyCNT<500&&LeftKey==0)
345 1 LeftKeyCNT++;
346 1 if(LeftKeyCNT>=500&&LeftKey==1)
347 1 {
348 2 LeftKeyEvt=1;
349 2 LeftKeyCNT=0;
350 2 }
351 1
352 1 if(RightKeyCNT<500&&RightKey==1)
353 1 RightKeyCNT=0;
354 1 if(RightKeyCNT<500&&RightKey==0)
355 1 RightKeyCNT++;
356 1 if(RightKeyCNT>=500&&RightKey==1)
357 1 {
358 2 RightKeyEvt=1;
359 2 RightKeyCNT=0;
360 2 }
361 1
362 1 /******KEY SCAN**************END*********************************/
363 1 DmsCNT++;
364 1 if(DmsCNT>=8)
365 1 {
C51 COMPILER V7.20 LZK 01/31/2007 10:20:42 PAGE 7
366 2 DmsCNT=0;
367 2 DmsFlag=1;
368 2 Dms2Flag=1;
369 2 }
370 1 /***************************************************************/
371 1 LCD_Cs();
372 1 }
373
374
375
376
377 /****************************************************************************
378 ** 函数名称: main()
379 ** 功能描述: 主程序,处理非实时任务或计算任务;
380 ** 入口参数: 无
381 ** 出口参数: 无
382 ** 全局变量: 无
383 ** 调用模块: 无
384 ** 说明:
385 ****************************************************************************/
386 void main(void)
387 {
388 1
389 1 EA = 0;
390 1
391 1 SP = 0xC0; // SP: 64 Bytes,0xC0~0xff, User: 192 Bytes.
392 1 WDT_Disabled(); // WatchDog Disabled.
393 1 Port_Init(); // I/O Port and EMIF Config.
394 1 External_Osc(); // Switch to External Oscillator, 24.000MHz.
395 1 SMBusInit();
396 1
397 1
398 1
399 1 Interrupt_Init(); // Interrupt Controllor Initialize.
400 1
401 1 InVref_Init(1); // Enabled Internal Vlotage Reference.
402 1 ADC0_Init(1,0,0,0,0,0,0); // ADC0 Enabled, AD0BUSY, CH0, GAIN: 1, HVA Disabled, HVA GAIN: 1, Left-just
-ified.
403 1
404 1 PCA_Init(); // CEX0: Square Wave. CEX1: "1".
405 1
406 1 RelayOutPut_Init(); // 继电器输出需要执行该初始化.
407 1
408 1
409 1 //T0T1_Init(); // T0: PhaseDiff MS; T1: UART1 Baudrate Generator.
410 1 T2_Init(); // T2: Generate 125uS Interrup;;
411 1 //T4_Init(); // UART0 Baudrate Generator.
412 1 //T0_RunCtrl(1);
413 1 //T1_RunCtrl(1);
414 1 T2_RunCtrl(1);
415 1 //T4_RunCtrl(1);
416 1
417 1 //UART0_Init(); // RS485, Default to
418 1 //Tn_R0 = 1; // RS485 In Recieve State.
419 1 //UART1_Init(); // RS232, Fixed as 57600bps
420 1
421 1
422 1 WDT_Reload();
423 1 EA=1;
424 1
425 1 /////////////////////////////////////////////////
426 1
C51 COMPILER V7.20 LZK 01/31/2007 10:20:42 PAGE 8
427 1 LCD_Initialize();
428 1 Menue(18);
429 1 Menue(16);
430 1
431 1
432 1
433 1
434 1 while(1)
435 1 {
436 2 /*********************************************************
437 2 DLJ合闸,切换启动录波图片,启动录波使能开启
438 2 DLJ分闸,切换停机图片,关闭所有类型的录波使能
439 2 *********************************************************/
440 2
441 2 if(Star_EN==1)
442 2 {
443 3 if(DLJ_IN==1)
444 3 {
445 4 Star_EN=0;
446 4 RecType=0;
447 4 PictrRege=PictrRege&0xfe;
448 4 }
449 3 }
450 2 else
451 2 {
452 3 if(DLJ_IN==0)
453 3 {
454 4 Star_EN=1;
455 4 if(EN_StartRec == 1)//启动录波是非开启
456 4 RecType=2;
457 4 PictrRege=PictrRege|0x01;
458 4 }
459 3 }
460 2
461 2 /*********************************************************
462 2 RecType!=0,意味着录波开启,根据具体的值分配存储空间,并且图片状态切换
463 2 RecType==0,意味着录波关闭,并且图片状态切换
464 2 *********************************************************/
465 2 if(RecType!=RecTemp)
466 2 {
467 3 RecTemp=RecType;
468 3 if(RecTemp!=0)
469 3 {
470 4 switch(RecTemp)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -