📄 lcd_eem.lst
字号:
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_EEM 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_EEM 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
14 //将站号写入EEPROM
15 void wri_stat_eem(void)
16 {
17 1 unsigned char xdata loopC;
18 1 unsigned char xdata *vCP;
19 1 unsigned char xdata * eem_adrCP;
20 1
21 1 if(chk_event_flagI(SET_SADR_LIVE)){
22 2 eem_adrCP=(unsigned char xdata *)0x00;
23 2 vCP=(unsigned char xdata *)(&stat.adrC);
C51 COMPILER V5.10, SN- LCD_EEM 01/07/08 08:57:41 PAGE 20
24 2 }
25 1 else if(chk_event_flagI(SET_DADR_LIVE)){
26 2 eem_adrCP=(unsigned char xdata *)0x02;
27 2 vCP=(unsigned char xdata *)(&stat.adrC);
28 2 }
29 1 for(loopC=0;loopC<2;loopC++){
30 2 wri_eem(*vCP++,eem_adrCP++);
31 2 }
32 1 }
33
34 //从EEPROM中读出站号
35 void read_stat_eem(void)
36 {
37 1 unsigned char xdata * eem_adrCP;
38 1
39 1 eem_adrCP=(unsigned char xdata *)0x00;
40 1 sadrS=(unsigned int)(read_eemC(eem_adrCP)<<8)
41 1 +(unsigned int)(read_eemC(eem_adrCP+1));
42 1 eem_adrCP=(unsigned char xdata *)0x02;
43 1 dadrS=(unsigned int)(read_eemC(eem_adrCP)<<8)
44 1 +(unsigned int)(read_eemC(eem_adrCP+1));
45 1 }
46
47 //将报警参数写入EEPROM
48 void wri_alarm_eem(void)
49 {
50 1 unsigned char xdata loopC;
51 1 unsigned char xdata * vCP;
52 1 unsigned char xdata * eem_adrCP;
53 1
54 1
55 1 if(alarm.set_cnt==1) eem_adrCP=(unsigned char xdata *)0x04;
56 1 else if(alarm.set_cnt==2) eem_adrCP=(unsigned char xdata *)0x0C;
57 1 else if(alarm.set_cnt==3) eem_adrCP=(unsigned char xdata *)0x14;
58 1 vCP=(unsigned char xdata *)(&alarm.parameter[alarm.set_cnt-1][0]);
59 1 for(loopC=0;loopC<8;loopC++){
60 2 wri_eem(*vCP++,eem_adrCP++);
61 2 }
62 1 }
63
64 //从EEPROM中读出报警参数
65 void read_alarm_eem(void)
66 {
67 1 unsigned char xdata lenC;
68 1 unsigned char xdata loopC;
69 1 unsigned char xdata * eem_adrCP;
70 1
71 1 eem_adrCP=(unsigned char xdata *)0x04;
72 1 for(lenC=0;lenC<3;lenC++){
73 2 for(loopC=0;loopC<4;loopC++){
74 3 alarm.parameter[lenC][loopC]=(unsigned int)(read_eemC(eem_adrCP++)<<8)
75 3 +(unsigned int)(read_eemC(eem_adrCP++));
76 3 }
77 2 }
78 1 }
79 unsigned char read_eemC(unsigned char xdata *eem_adrCP)
80 {
81 1 unsigned char back_eaC;
82 1
83 1 back_eaC=(unsigned char)EA;
84 1 EA = 0;
85 1 WMCON|=EEMEN_; //enable eeprom access
C51 COMPILER V5.10, SN- LCD_EEM 01/07/08 08:57:41 PAGE 21
86 1 ACC=*eem_adrCP;
87 1 WMCON&=(~EEMEN_); //disable eeprom access
88 1 return(ACC);
89 1 EA=(bit)back_eaC;
90 1 }
91 void wri_eem(unsigned char datC,unsigned char xdata *eem_adrCP)
92 {
93 1 unsigned char back_eaC;
94 1
95 1 back_eaC=(unsigned char)EA;
96 1 EA = 0;
97 1 WMCON |= EEMEN_; //enable eeprom access
98 1 WMCON |= EEMWE_;
99 1 *eem_adrCP = datC;
100 1 while((WMCON&WDTRST_)){}
101 1 while(!(WMCON&WDTRST_)){}
102 1 WMCON &= (~EEMWE_);
103 1 WMCON &= (~EEMEN_); //disable eeprom access
104 1 eem_adrCP++;
105 1 EA=(bit)back_eaC;
106 1 }
C51 COMPILER V5.10, SN- LCD_EEM 01/07/08 08:57:41 PAGE 22
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION wri_stat_eem (BEGIN)
; SOURCE LINE # 15
; SOURCE LINE # 16
; SOURCE LINE # 21
0000 7F15 MOV R7,#015H
0002 7E00 MOV R6,#00H
0004 120000 E LCALL _chk_event_flagI
0007 EC MOV A,R4
0008 4D ORL A,R5
0009 4E ORL A,R6
000A 4F ORL A,R7
000B 6013 JZ ?C0001
; SOURCE LINE # 22
000D E4 CLR A
000E 900000 R MOV DPTR,#eem_adrCP
0011 F0 MOVX @DPTR,A
0012 A3 INC DPTR
0013 F0 MOVX @DPTR,A
; SOURCE LINE # 23
0014 900000 R MOV DPTR,#vCP
0017 7400 E MOV A,#HIGH stat+03H
0019 F0 MOVX @DPTR,A
001A A3 INC DPTR
001B 7400 E MOV A,#LOW stat+03H
001D F0 MOVX @DPTR,A
; SOURCE LINE # 24
001E 8020 SJMP ?C0002
0020 ?C0001:
; SOURCE LINE # 25
0020 7F16 MOV R7,#016H
0022 7E00 MOV R6,#00H
0024 120000 E LCALL _chk_event_flagI
0027 EC MOV A,R4
0028 4D ORL A,R5
0029 4E ORL A,R6
002A 4F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -