📄 protocol.lst
字号:
775 5 {
776 6 Write_Hdd(i);
777 6 }
778 5 }
779 4 else
780 4 {
781 5 Write_Hdd(House_R-1);
782 5 }
783 4 Trs_Comm=0xbb;
784 4 Trs_Comm_Bak=0xb3;
785 4 Trs_Flag=1;
786 4 }
787 3 break;
788 3 case (0x34):
789 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
790 3 {
791 4 House_R=Rcv_Buf[Rcv_Rp+9];
792 4 Alarm_Select=Rcv_Buf[Rcv_Rp+10];
793 4 Trs_Comm=0xb4;
794 4 Trs_Flag=1;
795 4 }
796 3 break;
797 3 case (0x35): //Clear Alarm
798 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
799 3 {
C51 COMPILER V7.50 PROTOCOL 07/20/2005 09:16:48 PAGE 14
800 4 Trs_Comm=0xbb;
801 4 Trs_Comm_Bak=0xb5;
802 4 Trs_Flag=1;
803 4 }
804 3 if(Rcv_Buf[Rcv_Rp+7]==Station
805 3 ||(Rcv_Buf[Rcv_Rp+7]==0xff&&Rcv_Buf[Rcv_Rp+8]==0xff))
806 3 {
807 4 House_R=Rcv_Buf[Rcv_Rp+9];
808 4 Alarm_Check=1;
809 4 if(House_R!=0xff)
810 4 {
811 5
812 5 if (Rcv_Buf[Rcv_Rp+10]&0x04) //Short
813 5 {
814 6 i=Read1B(170+(House_R-1)/8);
815 6 i&=~(1<<((House_R-1)%8));
816 6 Write1B(i,170+(House_R-1)/8);
817 6 Short_New[(House_R-1)/8]=i;
818 6 }
819 5 if (Rcv_Buf[Rcv_Rp+10]&0x10) //Break
820 5 {
821 6 i=Read1B(175+(House_R-1)/8);
822 6 i&=~(1<<((House_R-1)%8));
823 6 Write1B(i,175+(House_R-1)/8);
824 6 Break_New[(House_R-1)/8]=i;
825 6 }
826 5
827 5 }
828 4 else
829 4 {
830 5 if (Rcv_Buf[Rcv_Rp+10]&0x04)
831 5 {
832 6 for(i=0;i<5;i++)
833 6 {
834 7 Write1B(0,170+i);
835 7 }
836 6 }
837 5 if (Rcv_Buf[Rcv_Rp+10]&0x10)
838 5 {
839 6 for(i=0;i<5;i++)
840 6 {
841 7 Write1B(0,175+i);
842 7 }
843 6 }
844 5
845 5 }
846 4 }
847 3 break;
848 3 case (0x40): //查询关联ID
849 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
850 3
851 3 {
852 4 Relay_Station=Read1B(240+0x100);
853 4 Trs_Comm=0xc0;
854 4 Trs_Flag=1;
855 4
856 4 }
857 3 break;
858 3 case (0x41): //设置关联ID
859 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
860 3
861 3 { Write1B(Rcv_Buf[Rcv_Rp+9],240+0x100);
C51 COMPILER V7.50 PROTOCOL 07/20/2005 09:16:48 PAGE 15
862 4 Write1B(Rcv_Buf[Rcv_Rp+10],241+0x100);
863 4
864 4 Trs_Comm=0xc1;
865 4 Trs_Comm_Bak=0xaa;
866 4 Trs_Flag=1;
867 4
868 4 }
869 3 else
870 3 {
871 4 Trs_Comm=0xc1;
872 4 Trs_Comm_Bak=0x55;
873 4 Trs_Flag=1;
874 4 }
875 3 break;
876 3 case (0x44): //查询计量数据
877 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
878 3 {
879 4 Trs_Comm=0xc4;
880 4 House_R=Rcv_Buf[Rcv_Rp+9];
881 4 Trs_Flag=1;
882 4 //B3=0;
883 4 }
884 3 break;
885 3 case (0x45): //设置计量数据
886 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
887 3 {
888 4 //Trs_Comm=0xc5;
889 4 House_R=Rcv_Buf[Rcv_Rp+9];
890 4 Write1B(Rcv_Buf[Rcv_Rp+10],159+House_R*2+0x100);
891 4 Write1B(Rcv_Buf[Rcv_Rp+11],158+House_R*2+0x100);
892 4 Write1B(Rcv_Buf[Rcv_Rp+12],79+House_R*2+0x100);
893 4 Write1B(Rcv_Buf[Rcv_Rp+13],78+House_R*2+0x100);
894 4 Write1B(Rcv_Buf[Rcv_Rp+14],House_R*2-1+0x100);
895 4 Write1B(Rcv_Buf[Rcv_Rp+15],House_R*2-2+0x100);
896 4
897 4 Trs_Comm=0xc5;
898 4 //Trs_Comm_Bak=0xc5;
899 4 Trs_Flag=1;
900 4 }
901 3 break;
902 3
903 3 case (0x60):
904 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
905 3 {
906 4 Trs_Comm=0xe0;
907 4 House_R=Rcv_Buf[Rcv_Rp+9];
908 4 Trs_Flag=1;
909 4 }
910 3 break;
911 3 case (0x61):
912 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
913 3 {
914 4 House_R=Rcv_Buf[Rcv_Rp+9];
915 4 Tmp=Rcv_Buf[Rcv_Rp+10];
916 4 if(House_R==0xff)
917 4 {
918 5 for(i=0;i<40;i++)
919 5 {
920 6 Write1B(Tmp,200+i+0x100);
921 6 }
922 5 }
923 4 else
C51 COMPILER V7.50 PROTOCOL 07/20/2005 09:16:48 PAGE 16
924 4 {
925 5 Write1B(Tmp,200+House_R-1+0x100);
926 5 }
927 4 Trs_Comm=0xbb;
928 4 Trs_Comm_Bak=0xe1;
929 4 Trs_Flag=1;
930 4 }
931 3 break;
932 3
933 3 default:
934 3 break;
935 3
936 3 }
937 2 /* if(Rcv_Comm==0x37 || Rcv_Comm==0x53 || Rcv_Comm==0x58)
938 2 {
939 2 if(Rcv_Buf[Rcv_Rp+7]==Station
940 2 ||(Rcv_Buf[Rcv_Rp+7]==0xff&&Rcv_Buf[Rcv_Rp+8]==0xff))
941 2 {
942 2 DIR2=0;
943 2 long_delay();
944 2 PSendChar(0xeb);
945 2 PSendChar(0x90);
946 2 for(i=0;i<Rcv_Rp+5+Rcv_Length+1;i++)
947 2 {
948 2 PSendChar(Rcv_Buf[Rcv_Rp+i]);
949 2 }
950 2 DIR2=1;
951 2 }
952 2
953 2 } */
954 2 }
955 1 }
956
C51 COMPILER V7.50 PROTOCOL 07/20/2005 09:16:48 PAGE 17
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
DIR485 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A4H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
Short_Bak. . . . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
Rcv_Flag . . . . . . . . . . . . . . . EXTERN DATA BIT ----- 1
All_Hdd. . . . . . . . . . . . . . . . PUBLIC DATA BIT 0000H 1
House_Max. . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
Start. . . . . . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
Trs_Flag . . . . . . . . . . . . . . . EXTERN DATA BIT ----- 1
Trs_Comm_Bak . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0001H 1
Rcv_Comm . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0002H 1
Short_New. . . . . . . . . . . . . . . PUBLIC DATA ARRAY 0003H 5
Trs_Edit . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Trs_Length . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
B3Inc. . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
Power_En . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0008H 1
Hdd_En . . . . . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
Short_En . . . . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
Trs_Comm . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0009H 1
Key. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0081H 1
Rcv_Buf. . . . . . . . . . . . . . . . EXTERN XDATA ARRAY ----- 30
Hdd_Str. . . . . . . . . . . . . . . . EXTERN DATA UNION ----- 4
eb90 . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Alarm_Check. . . . . . . . . . . . . . EXTERN DATA BIT ----- 1
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
HddEn_Count. . . . . . . . . . . . . . EXTERN DATA BIT ----- 1
Alarm_Select . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000AH 1
House_R. . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000BH 1
Trs_Buf. . . . . . . . . . . . . . . . EXTERN XDATA ARRAY ----- 25
Rcv_Pro. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Rcv_Check. . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
Rcv_Length . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
Rcv_Tmp. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
Tmp. . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
hdd_long . . . . . . . . . . . . . . . * TAG * ----- UNION ----- 4
Hdd_B. . . . . . . . . . . . . . . . MEMBER ----- ARRAY 0000H 4
Hdd_L. . . . . . . . . . . . . . . . MEMBER ----- U_LONG 0000H 4
Relay_Station. . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
Rcv_Rp . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000CH 1
_Read_Hdd. . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_Read1B. . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
Rcv_Wp . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000DH 1
Break_Bak. . . . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
HddEn_Sum. . . . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
Trs_Rp . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000EH 1
_Write_Hdd . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_Write1B . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
Trs_Wp . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000FH 1
Station. . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0010H 1
Flash. . . . . . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
Break_New. . . . . . . . . . . . . . . PUBLIC DATA ARRAY 0011H 5
B3 . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0016H 1
Trs_Check. . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0017H 1
Break_En . . . . . . . . . . . . . . . EXTERN DATA U_CHAR ----- 1
C51 COMPILER V7.50 PROTOCOL 07/20/2005 09:16:48 PAGE 18
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 5153 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 24 5
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -