📄 keyprc.lst
字号:
566 2 if(set_dp_F == 0)
567 2 {
568 3 Write1B(user_setdata.oneseg,0x18,0);
569 3 Write1B(user_setdata.twoseg,0x19,0);
570 3 Write1B(user_setdata.thrseg,0x1a,0);
571 3 Write1B(user_setdata.fouseg,0x1b,0);
572 3 lchen_data = Get_lchen_data(0x18,dp_point);
573 3 set_dp_F = 1;
574 3 set_pra_seg = dp_blink_potion[dp_point];
575 3 }
576 2 else
577 2 {
578 3 Write1B(dp_point,0x0e,0);
579 3 lchen_data = Get_lchen_data(0x18,dp_point);
580 3 set_dp_F = 0 ;
581 3 set_pra_seg = 0 ;
582 3
583 3
584 3 }
585 2 break;
586 2 case 0x03: //dp baochen
587 2 if(set_dp_F == 0)
588 2 {
589 3
590 3
591 3 // Write1B(user_setdata.oneseg,0x26,0);
592 3 // Write1B(user_setdata.twoseg,0x27,0);
593 3 // Write1B(user_setdata.thrseg,0x28,0);
594 3 // Write1B(user_setdata.fouseg,0x29,0);
595 3 set_dp_F = 1;
596 3 set_pra_seg = dp_blink_potion[pulse_dp];
597 3
598 3
599 3 }
600 2
601 2 else
602 2 {
603 3 if(Judge_setdanlan_range())
604 3 {
605 4 Write1B(user_setdata.oneseg,0x26,0);
606 4 Write1B(user_setdata.twoseg,0x27,0);
607 4 Write1B(user_setdata.thrseg,0x28,0);
608 4 Write1B(user_setdata.fouseg,0x29,0);
609 4 Write1B(pulse_dp,0x2a,0);
610 4 set_pra_seg = 0;
611 4 set_dp_F = 0 ;
612 4 }
613 3 else
C51 COMPILER V6.02 KEYPRC 09/10/2005 17:11:40 PAGE 11
614 3 {
615 4 press_r_key = 0 ;
616 4 set_pra_seg = 0x08 ;
617 4 set_dp_F = 0;
618 4 }
619 3 }
620 2 break;
621 2
622 2 case 0x08: if(set_dp_F == 0) //sensor_k set option
623 2 {
624 3 Write1B(user_setdata.oneseg,0x30,0);
625 3 Write1B(user_setdata.twoseg,0x31,0);
626 3 Write1B(user_setdata.thrseg,0x32,0);
627 3 Write1B(user_setdata.fouseg,0x33,0);
628 3 sensor_k = Get_lchen_data(0x30,sensor_dp);
629 3 system_k = sensor_k*lchen_data/0x7fff ;
630 3
631 3 set_dp_F = 1;
632 3 set_pra_seg = dp_blink_potion[sensor_dp];
633 3 }
634 2 else
635 2 {
636 3 Write1B(sensor_dp,0x34,0);
637 3 sensor_k = Get_lchen_data(0x30,sensor_dp);
638 3 system_k = sensor_k*lchen_data/0x7fff ;
639 3
640 3 set_dp_F = 0;
641 3 set_pra_seg = 0 ;
642 3 }
643 2 break;
644 2 case 0x0a:
645 2 if(set_dp_F == 0)
646 2 {
647 3 Write1B(zero_symbol,0x38,0);
648 3 Write1B(user_setdata.oneseg,0x39,0);
649 3 Write1B(user_setdata.twoseg,0x3a,0);
650 3 Write1B(user_setdata.thrseg,0x3b,0);
651 3 Write1B(user_setdata.fouseg,0x3c,0);
652 3 // zero_offset = Get_lchen_data(0x39,zero_dp);
653 3
654 3 zero_code = (unsigned int)( Get_lchen_data(0x39,zero_dp)/10.0*32767);
-
655 3 set_dp_F = 1;
656 3 set_pra_seg = dp_blink_potion[zero_dp];
657 3 }
658 2 else
659 2 {
660 3 Write1B(zero_dp,0x3d,0);
661 3 // zero_offset = Get_lchen_data(0x39,zero_dp);
662 3 zero_code = (unsigned int)( Get_lchen_data(0x39,zero_dp)/10.0*32767);
-
663 3 set_dp_F = 0;
664 3 set_pra_seg = 0 ;
665 3 }
666 2 break;
667 2 case 0x04: /* lubo zisu baochen */
668 2 Write1B(user_setdata.oneseg,0x1c,0);
669 2 filter_data = user_setdata.oneseg ;
670 2 break;
671 2 case 0x05: /*xiaoliuliang xinhao qiecu bao chen */
672 2 Write1B(user_setdata.oneseg,0x1d,0);
673 2
C51 COMPILER V6.02 KEYPRC 09/10/2005 17:11:40 PAGE 12
674 2 cut_slope = user_setdata.oneseg ;
675 2 cut_data =(cut_slope/100.0)*lchen_data;
676 2 break;
677 2 case 0x06: //baojin shangxian
678 2 if((user_setdata.thrseg*100+user_setdata.twoseg*10+user_setdata.oneseg) <=150)
679 2 {
680 3 Write1B(user_setdata.oneseg,0x12,0);
681 3 Write1B(user_setdata.twoseg,0x13,0);
682 3 Write1B(user_setdata.thrseg,0x14,0);
683 3 alarm_up_data = ((user_setdata.thrseg*100+user_setdata.twoseg*10+user_setdata.oneseg)/100.0)*l
-chen_data;
684 3 } // update:2003-09-20
685 2 break;
686 2 case 0x07: //baojin xiaxian
687 2 Write1B(user_setdata.oneseg,0x15,0);
688 2 Write1B(user_setdata.twoseg,0x16,0);
689 2 alarm_dm_data = ((user_setdata.twoseg*10+user_setdata.oneseg)/100.0)*lchen_data;
690 2 break;
691 2 case 0x09:
692 2
693 2 Write1B(user_setdata.oneseg,0x35,0);
694 2 Write1B(user_setdata.twoseg,0x36,0);
695 2 Write1B(user_setdata.thrseg,0x37,0);
696 2 da_offset = user_setdata.thrseg*100+user_setdata.twoseg*10+user_setdata.on
-eseg;
697 2 break;
698 2 case 0x0b: //chang mima
699 2 Write1B(user_setdata.oneseg,0x0d,0);
700 2 Write1B(user_setdata.twoseg,0x0c,0);
701 2 Write1B(user_setdata.thrseg,0x0b,0);
702 2 Write1B(user_setdata.fouseg,0x0a,0);
703 2 break;
704 2 default:
705 2 break;
706 2
707 2 }
708 1 }
709
710 /***************************/
711 /***************************/
712
713 void Set_sys_data(void)
714 {
715 1 unsigned char addr;
716 1 //set system mima
717 1 if(biaodin_F == 1) //SURE ONLY AT BIAODIN CAN PRECESS THIS SEGMENT
718 1 {
719 2 Set_sys_mima();
720 2 //clear page0 from 0x0e to 0x25 eeprom ram
721 2 for(addr=0x0e;addr<0x3d;addr++)
722 2 {
723 3 Write1B(0x00,addr,0);
724 3 }
725 2 Write1B(0x10,0x10,0); //set page1 start address is 0x10
726 2 Write1B(0x20,0x25,0); //set system adc_gain = ADC_GIAN_16
727 2 //set system sensor_k = 1.000
728 2 Write1B(0x03,0x34,0); //sensor_dp = 3 ;
729 2 Write1B(0x01,0x33,0); //sensor_K = 1.000
730 2 /* 4 mA stander out set: da_offset = 203 */
731 2 Write1B(0x03,0x35,0);
732 2 Write1B(0x00,0x36,0);
733 2 Write1B(0x02,0x37,0);
C51 COMPILER V6.02 KEYPRC 09/10/2005 17:11:40 PAGE 13
734 2 da_offset = 203 ;
735 2 //clear page1 from 0x10 to 0x1c ram
736 2 for(addr=0x10;addr<0x1c;addr++)
737 2 {
738 3 Write1B(0x00,addr,1);
739 3 }
740 2 }
741 1 }
742
743
744 /******************************/
745 void Set_sys_mima(void)
746 {
747 1 Write1B(0x01,0x0a,0);
748 1 // Delay_2us();
749 1 Write1B(0x02,0x0b,0);
750 1 // Delay_2us();
751 1 Write1B(0x03,0x0c,0);
752 1 // Delay_2us();
753 1 Write1B(0x04,0x0d,0);
754 1 // Delay_2us();
755 1 return;
756 1 }
757
758 /*******************************/
759 /*******************************/
760
761 unsigned char Dp_set_precess(void)
762 {
763 1
764 1 if(set_pra_seg == 0x08)
765 1 {
766 2 set_pra_seg = 0x04 ;
767 2 return(2) ;
768 2 }
769 1 else if(set_pra_seg == 0x04)
770 1 {
771 2 set_pra_seg = 0x02;
772 2 return(1) ;
773 2 }
774 1 else if(set_pra_seg == 0x02)
775 1 {
776 2 set_pra_seg = 0x00;
777 2 return(0);
778 2 }
779 1 else
780 1 {
781 2 set_pra_seg = 0x08;
782 2 return(3) ;
783 2 }
784 1
785 1 }
786
787
788 /*************************/
789 /*************************/
790 bit Judge_setdanlan_range(void)
791 {
792 1 float value;
793 1 unsigned int word ;
794 1 word = (user_setdata.fouseg*1000+user_setdata.thrseg*100+user_setdata.twoseg*10+user_setdata.oneseg);
795 1 if(pulse_dp == 3)
C51 COMPILER V6.02 KEYPRC 09/10/2005 17:11:40 PAGE 14
796 1 value = word /1000.0 ;
797 1 else if(pulse_dp == 2)
798 1 value = word/100.0 ;
799 1 else if(pulse_dp == 1)
800 1 value = word/10.0 ;
801 1 else
802 1 value = word ;
803 1 // if((unsigned int)((lchen_data*1.5*1000/3600)/value) >= MAX_SEND_NUMBER) //if set danlan over allow
-send max number
804 1 if((unsigned int)((lchen_data*1000/3600)/value) >= MAX_SEND_NUMBER)
805 1 return(SET_ERROR);
806 1 else
807 1 {
808 2 pulse_danlan = value ;
809 2 return(SET_OK);
810 2 }
811 1 }
812
813
814 /*************************************/
815 /*************************************/
816 unsigned char Sure_biaodin_dp(void)
817 {
818 1 switch(set_pra_seg)
819 1 {
820 2 case 0x08:
821 2 return(3);
822 2
823 2 case 0x04:
824 2 return(2);
825 2
826 2 case 0x02:
827 2 return(1);
828 2
829 2 default:
830 2 return(0);
831 2
832 2 }
833 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3754 ----
CONSTANT SIZE = 18 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 8
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -