📄 lcd_crc.lst
字号:
20 =1
21 =1 #define VLT_SCMD 0x01
22 =1 #define TMP_SCMD 0x02
23 =1 #define LVL_SCMD 0x03
24 =1 #define ACC_RAIN_SCMD 0x04
25 =1 #define REL_RAIN_SCMD 0x05
26 =1 #define INST_RAIN_SCMD 0x06
27 =1 #define PERIOD_RAIN_SCMD 0x07
28 =1 #define JFZ_01_STA_SCMD 0x08
29 =1 #define JFZ_01_EXT_SCMD 0x09
30 =1 #define BATT_CAP_SCMD 0x0a
31 =1 #define SYS_SCMD 0x0b
32 =1
33 =1
34 =1 #define NEED_REC 0
35 =1 #define DIS_CURR_RAIN 1
36 =1 #define DIS_COLG_VAL 2
37 =1 #define DIS_CURR_LEVL 3
38 =1 #define DIS_TIME_LIVE 4
39 =1 #define SET_STAT_LIVE 5
40 =1 #define SET_TIME_LIVE 6
41 =1 #define SET_BEGIN_TIME 7
42 =1 #define SET_END_TIME 8
43 =1 #define FUNC_KEY_LIVE 9
44 =1 #define OK_KEY_LIVE 10
45 =1 #define KEY_INTERMIT 11
46 =1 #define WAIT_PAGE_LIVE 12
47 =1 #define UP_PAGE_LIVE 13
48 =1 #define DN_PAGE_LIVE 14
49 =1 #define CLR_RAIN_CONFIRM 15
50 =1 #define NEED_DIS_TIME 16
51 =1 #define STARTUP_WORK 17
52 =1 #define IS_IFRM_LINK 18
53 =1 #define SET_ALARM_PARAMETER 19
54 =1 #define REST_ALARM_PARAMETER 20
55 =1 #define SET_SADR_LIVE 21
56 =1 #define SET_DADR_LIVE 22
57 =1 #define ACC_HAVE_TIME 23
58 =1 #define ACC_RAIN 24
59 =1 #define REL_RAIN 25
60 =1 #define STARTUP_CFG 26
61 =1 #define POWER_UP 32
62 =1
63 =1
64 =1 #define KEY1_VAL 0x7e
65 =1 #define KEY2_VAL 0xbe
66 =1 #define KEY3_VAL 0xde
67 =1 #define KEY4_VAL 0xee
68 =1 #define KEY5_VAL 0x7d
69 =1 #define KEY6_VAL 0xbd
70 =1 #define KEY7_VAL 0xdd
71 =1 #define KEY8_VAL 0xed
72 =1 #define KEY9_VAL 0x7b
73 =1 #define KEY10_VAL 0xbb
74 =1 #define KEY11_VAL 0xdb
75 =1 #define KEY12_VAL 0xeb
C51 COMPILER V5.10, SN- LCD_CRC 01/07/08 08:57:41 PAGE 18
76 =1 #define KEY13_VAL 0x77
77 =1 #define KEY14_VAL 0xb7
78 =1 #define KEY15_VAL 0xd7
79 =1 #define KEY16_VAL 0xe7
80 =1
81 =1
82 =1 #define UA 1
83 =1 #define DM 2
84 =1 #define UI 3
85 =1 #define I 4
86 =1 #define RR 5
87 =1 #define RNR 6
88 =1 #define REJ 7
89 =1 #define FRMR 8
90 =1 #define CNET 9
91 =1 #define DISC 10
92 =1
93 =1
94 =1 #define OK 0
95 =1 #define SUCCESS 1
96 =1 #define XMIT_INT_ON (TI=1)
97 =1 #define PPPINITFCS16 0xffff
98 =1 #define MAX_CONTENT 10028
99 =1 #define SECS_PER_MINUTE 60
100 =1 #define SECS_PER_HOUR 3600
101 =1 #define SECS_PER_DAY 86400
102 =1
103 =1
104 =1
105 =1
106 =1
12 #include <lcd_ext.h>
1 =1 extern unsigned char xdata xmit_numC;
2 =1 extern unsigned char timer_cnt_b,timer_cnt_h;
3 =1 extern unsigned int xdata sadrS,dadrS; //源地址 目的地址
4 =1
5 =1 extern struct{
6 =1 unsigned char xmit_cntC;
7 =1 unsigned char rec_cntC;
8 =1 unsigned char rec_numC;
9 =1 unsigned char frm_headC;
10 =1 unsigned char rec_overC;
11 =1 unsigned char * xmit_bufCP;
12 =1 unsigned char * rec_bufCP;
13 =1 unsigned char rec_bufCA[256];
14 =1 unsigned char xmit_bufCA[256];
15 =1 }xdata comS; //串口数据
16 =1
17 =1 extern struct{
18 =1 unsigned char cmd;
19 =1 unsigned char cmd_mode;
20 =1 unsigned char cmd_flg;
21 =1 unsigned int lenC;
22 =1 unsigned char val_cnt;
23 =1 unsigned char sub_flg[5];
24 =1 unsigned char sub_cmd[5];
25 =1 unsigned char para_num[5];
26 =1 }xdata frmS; //实时数据
27 =1
28 =1 /*extern struct{
29 =1 unsigned long int lenC;
30 =1 unsigned long int cntC;
C51 COMPILER V5.10, SN- LCD_CRC 01/07/08 08:57:41 PAGE 19
31 =1 unsigned long int numC;
32 =1 unsigned char *bufCP;
33 =1 unsigned char bufCA[MAX_CONTENT];
34 =1 }xdata note; //10K自记数据*/
35 =1
36 =1 /*extern struct{
37 =1 unsigned char cmd;
38 =1 unsigned char cmd_flg;
39 =1 unsigned char data_type;
40 =1 unsigned int cntC;
41 =1 unsigned long int time_seC;
42 =1 unsigned long int begin_timeC;
43 =1 unsigned long int end_timeC;
44 =1 unsigned char *valCP;
45 =1 unsigned char valCA[4];
46 =1 unsigned char begin_timeCA[12];
47 =1 unsigned char end_timeCA[12];
48 =1 }xdata colg; //综合数据*/
49 =1
50 =1 extern struct{
51 =1 char numC;
52 =1 unsigned char clmnC;
53 =1 unsigned char pageC;
54 =1 unsigned long int totl_seC;
55 =1 unsigned char *valCP;
56 =1 unsigned char valCA[13];
57 =1 unsigned long int currCA[7];
58 =1 }xdata sys_timeS; //系统时间
59 =1
60 =1 extern struct{
61 =1 unsigned char clmnC;
62 =1 unsigned char cntC;
63 =1 unsigned char numC;
64 =1 unsigned int adrC;
65 =1 unsigned char *adrCP;
66 =1 unsigned char adrCA[5];
67 =1 }xdata stat; //站号
68 =1
69 =1 extern struct{
70 =1 unsigned char set_cnt;
71 =1 char numC;
72 =1 unsigned char clmnC;
73 =1 unsigned char pageC;
74 =1 unsigned char distinction;
75 =1 unsigned char isonerain;
76 =1 unsigned int rainCA_cnt;
77 =1 unsigned char set_buf[14];
78 =1 unsigned int parameter[3][4];
79 =1 float max_rain[3];
80 =1 float rainCA[289];
81 =1 }xdata alarm; //报警
13 unsigned short int chk_crc(unsigned char *p, unsigned long int reallen)
14 {
15 1 unsigned int crc1;
16 1 crc1 = PPPGetChecksum(p, reallen);
17 1 return(crc1);
18 1 }
19
20 /***********************************************************************
21 crc = (crc << 8) ^ crctab[(crc>>8)^nextbyte()];
22
23 Function : PPPfcs16
C51 COMPILER V5.10, SN- LCD_CRC 01/07/08 08:57:41 PAGE 20
24 Parameters : fcs: current fcs
25 cp: pointer to PPP data
26 len: size of PPP data
27 Desc : Calculate a new fcs given the current fcs and the new data.
28 ***********************************************************************/
29
30 static const unsigned short fcstab[256] = {
31 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
32 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
33 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
34 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
35 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
36 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
37 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
38 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
39 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
40 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
41 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
42 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
43 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
44 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
45 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
46 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
47 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
48 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
49 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
50 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
51 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
52 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
53 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
54 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
55 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
56 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
57 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
58 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
59 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
60 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
61 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
62 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
63 };
64
65 /*
66 * Big-endian CRC table based on CRC-CCITT (x^16+x^12+x^5+1 = 0x(1)1021)
67 *
68 * Big-endian CRC update function is
69 * crc = (crc << 8) ^ crctab[(crc>>8)^nextbyte()];
70 */
71
72 unsigned short const crctab[256] = {
73 /* 0*/ 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
74 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
75 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
76 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
77 /* 32*/ 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
78 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
79 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
80 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
81 /* 64*/ 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
82 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
83 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
84 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
85 /* 96*/ 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
C51 COMPILER V5.10, SN- LCD_CRC 01/07/08 08:57:41 PAGE 21
86 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
87 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
88 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
89 /*128*/ 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
90 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
91 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
92 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -