📄 lcm16864zk.lst
字号:
313 1 }
314
315 /////////////////////////////////////////////////////
316
317 void BurstW1302(pcalen) //写入多字节的数据
318 uchar pcalen[8];
319 {
320 1 uchar i;
321 1 Writ1302(0x8e,0x00); //WP=0,写操作
322 1 T_RST=0;
323 1 T_CLK=0;
324 1 T_RST=1;
325 1 RTInputByte(0xbe); //0xbe ;时钟多字节写命令
326 1 for(i=8;i>0;i--)
327 1 {
328 2 RTInputByte(*pcalen);
329 2 pcalen++;
330 2 }
331 1 T_CLK=1;
332 1 T_RST=0;
333 1 }
334
335 ////////////////////////////////////////////////////
336
337 void ShowTime(void) //时间显示 能自动从DS1302中读取时间数据显示在第一行
338 {
339 1 uchar i;
340 1 BurstR1302(calen);
341 1 i=0x80;
342 1 WritCommand(i);
343 1 i=calen[6];
344 1 ShowTimes(i);
345 1 i=0x2f;
346 1 WritData(i);
347 1 i=calen[4];
348 1 ShowTimes(i);
349 1 i=0x2f;
350 1 WritData(i);
351 1 i=calen[3];
352 1 ShowTimes(i);
353 1 i=0x2f;
354 1 WritData(i);
355 1 i=calen[2];
356 1 ShowTimes(i);
357 1 i=0x3a;
358 1 WritData(i);
359 1 i=calen[1];
360 1 ShowTimes(i);
361 1 i=calen[0];
362 1 ShowTimes(i);
363 1 }
364 ////////////////
365 void ShowTimes(uchar i) //数字到BCD码的转换 因为LED显示的是BCD码
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 7
366 {
367 1 uchar m,n;
368 1 m=i>>4;
369 1 m=m+0x30;
370 1 n=i&0x0f;
371 1 n=n+0x30;
372 1 WritData(m);
373 1 WritData(n);
374 1 }
375
376 ////////////////////////////////////////////////////////////////// 进入系统设置画面
377
378 void ShScreen1(void)
379 {
380 1 uchar i,j=0,k=0;
381 1 uchar CodeNum1[4];
382 1 while(1) {if(LKEY==1) break; }
383 1 //整体显示开 游标位置开
384 1 WritCommand(0x0e);
385 1 WritCommand(0x01);
386 1 ShowPart1();
387 1 WritCommand(0x90);
388 1 WritData(0xcf);WritData(0xb5);WritData(0xcd);WritData(0xb3); //显示系统密码:0
389 1 WritData(0xc3);WritData(0xdc);WritData(0xc2);WritData(0xeb);
390 1 WritData(0x3a);WritData(0x20);WritData(0x20);WritData(0x20);
391 1 WritData(0x20);WritData(0x20);
392 1 WritCommand(0x94);
393 1 WritData(0xa3);
394 1 WritData(0xb0);
395 1 WritCommand(0x10);
396 1 while(k<4)
397 1 {
398 2 if(LKEY==0)
399 2 {
400 3 Delay_ms(10);
401 3 if(LKEY==0)
402 3 {
403 4 while(1){if(LKEY==1) break;}
404 4 CodeNum1[k]=j;
405 4 k++;
406 4 for(i=0;i<4;i++) //判断密码是否正确
407 4 {
408 5 j=CodeNum[i];
409 5 if(CodeNum1[i]!=j)
410 5 {
411 6 WritCommand(0x01);
412 6 WritCommand(0x91);
413 6 WritData(0xc3);WritData(0xdc);WritData(0xc2);WritData(0xeb); //密码错误
414 6 WritData(0xb4);WritData(0xed);WritData(0xce);WritData(0xf3);
415 6 Delay_s(3);
416 6 k=0;
417 6 ShScreen1();
418 6 break;
419 6 }
420 5 }
421 4 RobSet();
422 4 StealSet();
423 4 FireSet();
424 4 CalenSet();
425 4 FuncControl();
426 4 }
427 3 break;
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 8
428 3 }
429 2 if(MKEY==0)
430 2 {
431 3 Delay_ms(10);
432 3
433 3 if(MKEY==0)
434 3 {
435 4 j++;
436 4 if(j>9) j=0;
437 4 i=0xb0+j;
438 4 WritData(0xa3);
439 4 WritData(i); //显示下个数
440 4 WritCommand(0x10);
441 4 while(1){ if(MKEY==1) break; }
442 4 }
443 3 }
444 2 if(RKEY==0)
445 2 {
446 3 Delay_ms(10); //延时去抖动
447 3 if(RKEY==0)
448 3 {
449 4
450 4 CodeNum1[k]=j;
451 4 WritCommand(0x14);
452 4 k++;
453 4 if(k>3) {k=0; WritCommand(0x94);}
454 4 WritData(0xa3);
455 4 WritData(0xb0);
456 4 WritCommand(0x10);
457 4 j=0;
458 4 while(1)
459 4 {
460 5 if(RKEY==1) break;
461 5 }
462 4 }
463 3 }
464 2 ShowTime();
465 2 WritCommand(0x94+k);
466 2 Delay_ms(10);
467 2 }
468 1
469 1 }
470 //////////////////////////////////////////////////////////各种显示画面
471 ////////////////////////////////////////////////////////
472 void ShowPart1(void)
473 {
474 1 WritCommand(0x98);
475 1 WritData(0xc8);WritData(0xb7);WritData(0xc8);WritData(0xcf); //显示确认 选数 移动
476 1 WritData(0x20);WritData(0x20);WritData(0xd1);WritData(0xa1);
477 1 WritData(0xca);WritData(0xfd);WritData(0x20);WritData(0x20);
478 1 WritData(0xd2);WritData(0xc6);WritData(0xb6);WritData(0xaf);
479 1
480 1 }
481
482 void ShowPart2(void)
483 {
484 1 WritCommand(0x90);
485 1 WritData(0xb7);WritData(0xa2);WritData(0xc9);WritData(0xe4); //发射器编号:0
486 1 WritData(0xc6);WritData(0xf7);WritData(0xb1);WritData(0xe0);
487 1 WritData(0xba);WritData(0xc5);WritData(0x3a);WritData(0x20);
488 1 WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xb0);
489 1 WritData(0xa3);WritData(0xb0);
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 9
490 1 }
491 void ShowPart3(void)
492 {
493 1 WritCommand(0x90);
494 1 WritData(0xb5);WritData(0xe7);WritData(0xbb);WritData(0xb0); //电话报警:Y
495 1 WritData(0xb1);WritData(0xa7);WritData(0xbe);WritData(0xaf);
496 1 WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
497 1 }
498 void ShowPart4(void)
499 {
500 1 WritCommand(0x98);
501 1 WritData(0xc8);WritData(0xb7);WritData(0xc8);WritData(0xcf); //确认 选择
502 1 WritCommand(0x9e);
503 1 WritData(0xd1);WritData(0xa1);WritData(0xd4);WritData(0xf1);
504 1 }
505 void ShowPart5(void)
506 {
507 1 WritCommand(0x98);
508 1 WritData(0xbd);WritData(0xf8);WritData(0xc8);WritData(0xeb); //进入
509 1 WritCommand(0x9e);
510 1 WritData(0xc1);WritData(0xed);WritData(0xd1);WritData(0xa1); //另选
511 1 }
512 void ShowPart6(void)
513 {
514 1 WritCommand(0x91);
515 1 WritData(0xc3);WritData(0xf9);WritData(0xbe);WritData(0xaf);
516 1 WritData(0xb5);WritData(0xd1); //鸣警笛 :Y
517 1 WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
518 1 }
519 void ShowPart7(void)
520 {
521 1 WritCommand(0x90);
522 1 WritData(0xbd);WritData(0xd3);WritData(0xc1);WritData(0xa6); //接力报警:Y
523 1 WritData(0xb1);WritData(0xa7);WritData(0xbe);WritData(0xaf);
524 1 WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
525 1 }
526 void ShowPart8(void)
527 {
528 1 WritCommand(0x90);
529 1 WritData(0xb7);WritData(0xe2);WritData(0xcb);WritData(0xf8); //封锁现场:Y
530 1 WritData(0xcf);WritData(0xd6);WritData(0xb3);WritData(0xa1);
531 1 WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
532 1 }
533 void ShowPart9(void)
534 {
535 1 WritCommand(0x90);
536 1 WritData(0xc5);WritData(0xe7);WritData(0xc9);WritData(0xe4); //喷射眠雾:Y
537 1 WritData(0xc3);WritData(0xdf);WritData(0xce);WritData(0xed);
538 1 WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
539 1 }
540
541 void ShowPart10(void)
542 {
543 1 WritCommand(0x90);
544 1 WritData(0xd4);WritData(0xb1);WritData(0xb9);WritData(0xa4); //员工编码:0
545 1 WritData(0xb1);WritData(0xe0);WritData(0xba);WritData(0xc5);
546 1 WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xb0);
547 1 WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xb0);
548 1 }
549 void ShowPart11(void)
550 {
551 1 WritCommand(0x90);
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 10
552 1 WritData(0xd7);WritData(0xee);WritData(0xc9);WritData(0xd9); //最少与数:0
553 1 WritData(0xd3);WritData(0xeb);WritData(0xca);WritData(0xfd);
554 1 WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xb0);
555 1 }
556 void ShowPart12(void)
557 {
558 1 WritCommand(0x90);
559 1 WritData(0xc2);WritData(0xde);WritData(0xbc);WritData(0xad); //逻辑关系:A
560 1 WritData(0xb9);WritData(0xd8);WritData(0xcf);WritData(0xb5);
561 1 WritData(0x3a);WritData(0x20);WritData(0xa6);WritData(0xa1);
562 1 }
563 void ShowPart13(void)
564 {
565 1 WritCommand(0x90);
566 1 WritData(0xd3);WritData(0xeb);WritData(0xb5);WritData(0xc8); // 与等时间000S
567 1 WritData(0xca);WritData(0xb1);WritData(0xbc);WritData(0xe4);
568 1 WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xb0);
569 1 WritData(0xa3);WritData(0xb0);WritData(0xa3);WritData(0xd3);
570 1
571 1 }
572 void ShowPart14(void)
573 {
574 1 WritCommand(0x01);
575 1 WritCommand(0x98);
576 1 WritData(0xcc);WritData(0xee);WritData(0xd0);WritData(0xb4); //填写 继续
577 1 WritCommand(0x9b);
578 1 WritData(0xb2);WritData(0xbb);WritData(0xcc);WritData(0xee);
579 1 WritCommand(0x9e);
580 1 WritData(0xbc);WritData(0xcc);WritData(0xd0);WritData(0xf8);
581 1 }
582 void ShowPart15(void)
583 {
584 1 WritCommand(0x90);
585 1 WritData(0xd7);WritData(0xd4);WritData(0xb6);WritData(0xaf); //自动喷水:Y
586 1 WritData(0xc5);WritData(0xe7);WritData(0xcb);WritData(0xae);
587 1 WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
588 1 }
589 void ShowPart16(void)
590 {
591 1 WritCommand(0x90);
592 1 WritData(0xd7);WritData(0xd4);WritData(0xb6);WritData(0xaf); //自动喷沙:Y
593 1 WritData(0xc5);WritData(0xe7);WritData(0xc9);WritData(0xb3);
594 1 WritData(0x3a);WritData(0x20);WritData(0xa3);WritData(0xd9);
595 1 }
596
597 void ShowPart17(void)
598 {
599 1 WritCommand(0x92);
600 1 WritData(0xc8);WritData(0xd5);WritData(0xc0);WritData(0xFa); //日历设置
601 1 WritData(0xc9);WritData(0xe8);WritData(0xd6);WritData(0xc3);
602 1 }
603 void ShowPart18(void)
604 {
605 1 WritCommand(0x91);
606 1 WritData(0xb1);WritData(0xa7);WritData(0xbe);WritData(0xaf); //报警记录打印
607 1 WritData(0xbc);WritData(0xc7);WritData(0xc2);WritData(0xbc);
608 1 WritData(0xb4);WritData(0xf2);WritData(0xd3);WritData(0xa1);
609 1
610 1 }
611 void ShowPart19(void)
612 {
613 1 WritCommand(0x92);
C51 COMPILER V7.06 LCM16864ZK 12/21/2006 15:22:27 PAGE 11
614 1 WritData(0xc8);WritData(0xab);WritData(0xb3);WritData(0xbf); //全部打印
615 1 WritData(0xb4);WritData(0xf2);WritData(0xd3);WritData(0xa1);
616 1
617 1 }
618 void ShowPart20(void)
619 {
620 1 WritCommand(0x91);
621 1 WritData(0xb4);WritData(0xf2);WritData(0xd3);WritData(0xa1); //打印中请等待
622 1 WritData(0xd6);WritData(0xd0);WritData(0xc7);WritData(0xeb);
623 1 WritData(0xb5);WritData(0xc8);WritData(0xb4);WritData(0xfd);
624 1
625 1 }
626 void ShowPart21(void)
627 {
628 1 WritCommand(0x91);
629 1 WritData(0xc3);WritData(0xbb);WritData(0xd3);WritData(0xd0); //没有记录可打印
630 1 WritData(0xbc);WritData(0xc7);WritData(0xc2);WritData(0xbc);
631 1 WritData(0xb4);WritData(0xf2);WritData(0xd3);WritData(0xa1);
632 1 }
633 ////////////////////////////////////报警
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -