📄 eeprom.lst
字号:
82 =1 #define Input_code_mode 1
83 =1 #define Calibration_mode 2
84 =1 #define Initialization_mode 3
85 =1 #define Sales_mode 4
86 =1 #define Total_mode 5
87 =1 #define Payback_mode 6
88 =1 #define PLU_Setup_mode 7
89 =1 #define Time_Setup_mode 8
90 =1 #define Beep_and_Light_Setup_mode 9
91 =1 #define Calculator_mode 10
92 =1 #define Reports_mode 11
93 =1 #define Download_mode 12
94 =1 #define Power_down_mode 13
95 =1 #define Print_Cancel_mode 14
96 =1 /**********state**********/
97 =1 #define WEIGHING 1
98 =1 #define NON_WEIGHING 2
99 =1 #define PAYBACK 3
100 =1
101 =1 #define PLU_EDIT 1
102 =1 #define PLU_SAVE 2
103 =1
104 =1 #define SET_BEEP 1
105 =1 #define SET_LIGHT 2
106 =1
107 =1 #define MENU_1 1
108 =1 #define MENU_1_1 11
109 =1 #define MENU_1_2 12
110 =1 #define MENU_1_2_1 121
111 =1 #define MENU_1_2_2 122
112 =1 #define MENU_1_2_2_0 1221
113 =1 #define MENU_1_3 13
114 =1 #define MENU_1_4 14
115 =1
116 =1 #define MENU_2 2
117 =1 #define MENU_2_1 21
118 =1 #define MENU_2_2 22
119 =1 #define MENU_2_2_1 221
120 =1 #define MENU_2_2_2 222
121 =1 #define MENU_2_2_2_0 2221
122 =1 #define MENU_2_3 23
123 =1
124 =1 #define MENU_3 3
125 =1 #define MENU_3_1 31
126 =1 #define MENU_3_2 32
127 =1 #define MENU_3_2_1 321
128 =1 #define MENU_3_2_2 322
129 =1 #define MENU_3_2_2_0 3221
130 =1 #define MENU_3_3 33
131 =1
132 =1 #define EDIT_YEAR 1
133 =1 #define EDIT_MONTH 2
134 =1 #define EDIT_DAY 3
135 =1 #define EDIT_HOUR 4
136 =1 #define EDIT_MINUTE 5
137 =1 #define EDIT_SECOND 6
138 =1
C51 COMPILER V7.50 EEPROM 05/27/2006 14:01:08 PAGE 7
139 =1 /**********sales type**********/
140 =1 #define PW 1
141 =1 #define PN 2
142 =1 #define MW 3
143 =1 #define MN 4
144 =1 #define DELE 0xaa
145 =1
146 =1 /**********print type***********/
147 =1 #define PW 1
148 =1 #define PN 2
149 =1 #define MW 3
150 =1 #define MN 4
151 =1 #define TOTAL 5
152 =1
153 =1 /**********report type**********/
154 =1 #define TOTAL_ALL_MONEY 1
155 =1 #define TOTAL_ALL_PLU_MONEY 2
156 =1 #define TOTAL_SEL_PLU_MONEY 3
157 =1 #define TOTAL_ALL_MANUL_MONEY 4
158 =1 #define TOTAL_ALL_NUMBER_MONEY 5
159 =1 #define TOTAL_ALL_WEIGHT 6
160 =1 #define TOTAL_ALL_PLU_WEIGHT 7
161 =1 #define TOTAL_SEL_PLU_WEIGHT 8
162 =1 #define TOTAL_ALL_MANUL_WEIGHT 9
163 =1 #define TOTAL_ALL_NUMBER 10
164 =1 #define TOTAL_ALL_PLU_NUMBER 11
165 =1 #define TOTAL_SEL_PLU_NUMBER 12
166 =1 #define TOTAL_ALL_MANUL_NUMBER 13
167 =1
168 =1 /********operate status********/
169 =1 #define ADD 1
170 =1 #define SUM 2
171 =1 #define PAY 3
172 =1
173 =1 /********eeprom address********/
174 =1 #define EEPROM_ID 0
175 =1 #define Option_Param_address 2
176 =1 #define Graduation_Grade_address 3
177 =1 #define Graduation1_address 5
178 =1 #define Graduation2_address 6
179 =1 #define Max_Capacity_address 7
180 =1 #define Initial_Zero_Setting_limit_address 9
181 =1 #define Zero_Setting_and_Zero_Tracking_limit_address 10
182 =1 #define Zero_Stable_count_address 11
183 =1 #define Zero_Stable_times_address 13
184 =1 #define Weight_Stable_count_address 14
185 =1 #define Weight_Stable_times_address 16
186 =1 #define Err1_Timeout_address 17
187 =1 #define Local_Height_address 18
188 =1 #define Local_Latitude_address 20
189 =1 #define Destination_Height_address 21
190 =1 #define Destination_Latitude_address 23
191 =1 #define Soft_Ver_address 24
192 =1 #define Cal_counts_address 26
193 =1 #define Password_address 27
194 =1 #define Cal_Zero_limit_count_address 30
195 =1 #define Cal_One_count_address 36
196 =1 #define Cal_Zero_count_address 40
197 =1 #define Cal_Weight_count_address 44
198 =1 #define Logo_address 48
199 =1 #define PLU_DATA_ADR 0x40
200 =1 #define RECORD_DATA_ADR 0x2600
C51 COMPILER V7.50 EEPROM 05/27/2006 14:01:08 PAGE 8
201 =1
202 =1 /********report save address********/
203 =1 #define PLU_no_Save_address 1
204 =1 #define Unit_Price_Save_address 3
205 =1 #define Weight_Save_address 6
206 =1 #define Quantity_Save_address 6
207 =1 #define Total_Price_Save_address 9
8 #include "IIC.h"
1 =1 //IIC.h
2 =1 extern BOOL ISendByte(BYTE sla,BYTE c);
3 =1 extern BOOL ISendStr(BYTE sla,BYTE suba,BYTE *s,BYTE no);
4 =1 extern BOOL IRcvByte(BYTE sla,BYTE *c);
5 =1 extern BOOL IRcvStr(BYTE sla,BYTE suba,BYTE *s,BYTE no);
6 =1 extern BOOL Write_eeprom(BYTE sla,WORD adr,BYTE *s,BYTE no);
7 =1 extern BOOL Read_eeprom(BYTE sla,WORD adr,BYTE *s,BYTE no);
9 #define AT24C512 0xa0
10 #define EXTREN_AT24C512 0xa6
11 extern BYTE sales_type;
12 extern BYTE lcd1_buf[5];
13 extern BYTE lcd2_buf[7];
14 extern BYTE PLU_buf[PLU_LEN];
15 extern BYTE Record_buf[RECORD_LEN];
16 extern UNION_FLOAT temp_FLOAT;
17
18 BOOL Read_Option_Table(BYTE *pt)
19 {
20 1 if(Read_eeprom(AT24C512,0,pt,TABLE_LEN))
21 1 return TRUE;
22 1 else
23 1 return FALSE;
24 1 }
25
26 BOOL Read_extern_eeprom(BYTE *pt)
27 {
28 1 if(Read_eeprom(EXTREN_AT24C512,0,pt,TABLE_LEN))
29 1 return TRUE;
30 1 else
31 1 return FALSE;
32 1 }
33
34 BOOL Save_Option_Table(BYTE *pt)
35 {
36 1 if(Write_eeprom(AT24C512,0,pt,TABLE_LEN))
37 1 return TRUE;
38 1 else
39 1 return FALSE;
40 1 }
41
42 BOOL Read_Cal_Password(BYTE *pt)
43 {
44 1 if(Read_eeprom(AT24C512,Password_address,pt,3))
45 1 return TRUE;
46 1 else
47 1 return FALSE;
48 1 }
49
50 VOID Read_Option_Param(BYTE *pt)
51 {
52 1 Read_eeprom(AT24C512,Option_Param_address,pt,1);
53 1 }
54
55 VOID Read_Cal_counts(BYTE *pt)
C51 COMPILER V7.50 EEPROM 05/27/2006 14:01:08 PAGE 9
56 {
57 1 Read_eeprom(AT24C512,Cal_counts_address,pt,1);
58 1 }
59
60 VOID Read_Cal_Zero_limit(BYTE *pt)
61 {
62 1 Read_eeprom(AT24C512,Cal_Zero_limit_count_address,pt,6);
63 1 }
64
65 VOID Save_Option_Param(BYTE *pt)
66 {
67 1 Write_eeprom(AT24C512,Option_Param_address,pt,1);
68 1 }
69
70 VOID Save_Cal_counts(BYTE *pt)
71 {
72 1 Write_eeprom(AT24C512,Cal_counts_address,pt,1);
73 1 }
74
75 VOID Save_Cal_One_count(FLOAT temp)
76 {
77 1 BYTE Option_Table[4];
78 1 temp_FLOAT.F=temp;
79 1 Option_Table[0]=temp_FLOAT.B[0];
80 1 Option_Table[1]=temp_FLOAT.B[1];
81 1 Option_Table[2]=temp_FLOAT.B[2];
82 1 Option_Table[3]=temp_FLOAT.B[3];
83 1 Write_eeprom(AT24C512,Cal_One_count_address,Option_Table,4);
84 1 }
85
86 VOID Save_Cal_Zero_count(FLOAT temp)
87 {
88 1 BYTE Option_Table[4];
89 1 temp_FLOAT.F=temp;
90 1 Option_Table[0]=temp_FLOAT.B[0];
91 1 Option_Table[1]=temp_FLOAT.B[1];
92 1 Option_Table[2]=temp_FLOAT.B[2];
93 1 Option_Table[3]=temp_FLOAT.B[3];
94 1 Write_eeprom(AT24C512,Cal_Zero_count_address,Option_Table,4);
95 1 }
96
97 VOID PLU_Load(WORD temp)
98 {
99 1 WORD adr;
100 1 adr=(temp-1)*32+PLU_DATA_ADR;
101 1 Read_eeprom(AT24C512,adr+18,PLU_buf,3);
102 1 }
103
104 VOID PLU_Save(WORD temp)
105 {
106 1 WORD adr;
107 1 adr=(temp-1)*32+PLU_DATA_ADR;
108 1 Write_eeprom(AT24C512,adr,PLU_buf,PLU_LEN-1);
109 1 }
110
111 VOID Save_PLU_Setup_form_Disp_Buf(WORD temp)
112 {
113 1 INT8 data i;
114 1 WORD adr;
115 1 adr=(temp-1)*32+PLU_DATA_ADR;
116 1 PLU_buf[0]=lcd1_buf[2]-'0';
117 1 PLU_buf[1]=lcd1_buf[1]-'0';
C51 COMPILER V7.50 EEPROM 05/27/2006 14:01:08 PAGE 10
118 1 PLU_buf[1]=PLU_buf[1]<<4;
119 1 PLU_buf[1]+=lcd1_buf[0]-'0';
120 1 for(i=2;i<18;i++)
121 1 PLU_buf[i]=0xff;
122 1 if(lcd2_buf[5]!=0)
123 1 PLU_buf[18]=lcd2_buf[5]-'0';
124 1 else
125 1 PLU_buf[18]=lcd2_buf[5];
126 1 PLU_buf[18]=PLU_buf[18]<<4;
127 1 if(lcd2_buf[4]!=0)
128 1 PLU_buf[18]+=lcd2_buf[4]-'0';
129 1 else
130 1 PLU_buf[18]+=lcd2_buf[4];
131 1 if(lcd2_buf[3]!=0)
132 1 PLU_buf[19]=lcd2_buf[3]-'0';
133 1 else
134 1 PLU_buf[19]=lcd2_buf[3];
135 1 PLU_buf[19]=PLU_buf[19]<<4;
136 1 PLU_buf[19]+=lcd2_buf[2]-'0';
137 1 PLU_buf[20]=lcd2_buf[1]-'0';
138 1 PLU_buf[20]=PLU_buf[20]<<4;
139 1 PLU_buf[20]+=lcd2_buf[0]-'0';
140 1 Write_eeprom(AT24C512,adr,PLU_buf,PLU_LEN-1);
141 1 }
142
143 VOID Record_Save(WORD temp)
144 {
145 1 WORD adr;
146 1 adr=(temp-1)*16+RECORD_DATA_ADR;
147 1 Record_buf[0]=sales_type;
148 1 Write_eeprom(AT24C512,adr,Record_buf,RECORD_LEN-1);
149 1 }
150
151 VOID Record_Load(WORD temp)
152 {
153 1 WORD adr;
154 1 adr=(temp-1)*16+RECORD_DATA_ADR;
155 1 Read_eeprom(AT24C512,adr,Record_buf,RECORD_LEN-1);
156 1 }
C51 COMPILER V7.50 EEPROM 05/27/2006 14:01:08 PAGE 11
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION Com0028 (BEGIN)
0000 L?0041:
0000 900000 E MOV DPTR,#?_Write_eeprom?BYTE+06H
0003 7415 MOV A,#015H
0005 L?0042:
0005 7B01 MOV R3,#01H
0007 7A00 E MOV R2,#HIGH PLU_buf
0009 7900 E MOV R1,#LOW PLU_buf
000B F0 MOVX @DPTR,A
000C 22 RET
000D L?0043:
000D EF MOV A,R7
000E C4 SWAP A
000F F8 MOV R0,A
0010 540F ANL A,#0FH
0012 C8 XCH A,R0
0013 68 XRL A,R0
0014 FF MOV R7,A
0015 EE MOV A,R6
0016 C4 SWAP A
0017 54F0 ANL A,#0F0H
0019 48 ORL A,R0
001A FE MOV R6,A
001B EF MOV A,R7
001C 24F0 ADD A,#0F0H
001E FF MOV R7,A
001F EE MOV A,R6
0020 3425 ADDC A,#025H
0022 FE MOV R6,A
0023 22 RET
0024 L?0044:
0024 AD07 MOV R5,AR7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -