📄 main.lst
字号:
15 =1 #define PLU14 0x25
16 =1 #define PLU15 0x2c
17 =1 #define PLU16 0x33
18 =1 #define PLU17 0x03
19 =1 #define PLU18 0x0a
20 =1 #define PLU19 0x11
21 =1 #define PLU20 0x18
22 =1 #define PLU21 0x1f
23 =1 #define PLU22 0x26
24 =1 #define PLU23 0x2d
25 =1 #define PLU24 0x34
26 =1 #define PLU25 0x04
27 =1 #define PLU26 0x0b
28 =1 #define PLU27 0x12
29 =1 #define PLU28 0x19
30 =1 #define PLU29 0x20
31 =1 #define PLU30 0x27
32 =1 #define K_ADD 0x2e
33 =1 #define K_SUB 0x35
34 =1 #define K_MUL 0x05
35 =1 #define K_DIV 0x0c
36 =1 #define K_00 0x13
37 =1 #define K_0 0x1a
38 =1 #define K_1 0x21
39 =1 #define K_2 0x28
40 =1 #define K_3 0x2f
41 =1 #define K_4 0x36
42 =1 #define K_5 0x06
43 =1 #define K_6 0x0d
44 =1 #define K_7 0x14
45 =1 #define K_8 0x1b
46 =1 #define K_9 0x22
47 =1 #define K_ENTER 0x29
48 =1 #define K_ZERO 0x30
49 =1 #define K_TARE 0x37
50 =1 #define K_CLEAR 0x07
51 =1 #define K_PRINT 0x0e
52 =1 #define K_TOTAL 0x15
53 =1 #define K_PAYBACK 0x1c
54 =1 #define K_CLOCK 0x41
55 =1 #define K_MEMORY 0x42
56 =1 #define K_ON_OFF 0x43
57 =1 //Shift key define
58 =1 #define K_SHIFT 1
59 =1 #define K_MEM 2
60 =1 #define K_MODE 3
17 #include "main.h"
1 =1 /*********************************************/
2 =1 // File Name: mian.h
3 =1 // Author: henny
4 =1 // Date: 2006/3/1
5 =1 /*********************************************/
6 =1 /*************Variable Define*****************/
7 =1 BOOL Beep_on,KG_flag,Ver_flag,Unit_flag,Light_on;
8 =1 WORD Graduation_Grade;
9 =1 BYTE Graduation1;
10 =1 BYTE Graduation2;
11 =1 WORD Max_Capacity;
12 =1 BYTE Initial_Zero_Setting_limit;
13 =1 BYTE Zero_Setting_and_Zero_Tracking_limit;
C51 COMPILER V7.50 MAIN 05/27/2006 14:00:50 PAGE 11
14 =1 WORD Zero_Stable_count;
15 =1 BYTE Zero_Stable_times;
16 =1 WORD Weight_Stable_count;
17 =1 BYTE Weight_Stable_times;
18 =1 BYTE Err1_Timeout;
19 =1 WORD Local_Height;
20 =1 BYTE Local_Latitude;
21 =1 WORD Destination_Height;
22 =1 BYTE Destination_Latitude;
23 =1 WORD Soft_ver_no;
24 =1 BYTE Cal_counts;
25 =1 DWORD Cal_Zero_Upper_count;
26 =1 DWORD Cal_Zero_Lower_count;
27 =1 /*********************************************/
28 =1 BOOL Timeout1_enable,Timeout2_enable;
29 =1 BOOL Cal_flag,STA_flag,NEG_flag,NET_flag;
30 =1 BOOL point1_on,point2_on,point3_on;
31 =1 BOOL half_sec,One_sec,colon,high_digit;
32 =1 BOOL unit_price_entered,factor_calcul;
33 =1 BOOL memory_key_hold;
34 =1 BOOL keydone,keyprocess;
35 =1 INT8 Timeout1,Timeout2,Timeout3;
36 =1 BYTE timer1_count;
37 =1 BYTE key_num,numeric;
38 =1 BYTE mode,state,sales_type,op_status,report_type;
39 =1 BYTE point1_pos,point2_pos,point3_pos;
40 =1 WORD menu_item;
41 =1 WORD PLU_no;
42 =1 WORD Record_Counts;
43 =1 WORD Weight;
44 =1 WORD Cal_Weight;
45 =1 WORD Tare_Weight;
46 =1 WORD Quantity;
47 =1 WORD Sold_Quantity;
48 =1 DWORD Unit_Price;
49 =1 DWORD Total_Price;
50 =1 DWORD Sum_Price;
51 =1 DWORD Money;
52 =1 FLOAT One_count;
53 =1 FLOAT Tare_count;
54 =1 FLOAT Zero_count;
55 =1 FLOAT Last_count;
56 =1 FLOAT Cal_Zero_count;
57 =1 FLOAT Cal_Weight_count;
58 =1 FLOAT Initial_Zero_count;
59 =1 /*********************************************/
60 =1 BYTE lastop;
61 =1 FLOAT Last_value;
62 =1 FLOAT Current_value;
63 =1 TIME time;
64 =1 DATE date;
65 =1 BYTE Last_day;
66 =1 UNION_LONG temp_LONG;
67 =1 UNION_FLOAT temp_FLOAT;
68 =1 UNION_INT temp_INT;
69 =1 BYTE keybuf[3]={0x00,0x00,0x00};
70 =1 BYTE keypre[4]={0x00,0x00,0x00,0x00};
71 =1 BYTE icon_buf;
72 =1 BYTE lcd1_buf[5];
73 =1 BYTE lcd2_buf[7];
74 =1 BYTE lcd3_buf[7];
75 =1 BYTE LCD_RAM[20];
C51 COMPILER V7.50 MAIN 05/27/2006 14:00:50 PAGE 12
76 =1 BYTE PLU_buf[PLU_LEN];
77 =1 BYTE Record_buf[RECORD_LEN];
78 =1 /*********************************************
79 =1 ***************FUNCTION PROTOTYPES************
80 =1 *********************************************/
81 =1 VOID Power_On();
82 =1 VOID Power_Down();
83 =1 VOID LCD_Test(BYTE test_mode);
84 =1 VOID Input_Code();
85 =1 VOID Calibration();
86 =1 VOID Initialization();
87 =1 VOID Sales();
88 =1 VOID Total();
89 =1 VOID Payback();
90 =1 VOID PLU_Setup();
91 =1 VOID Time_Setup();
92 =1 VOID Beep_and_Light_Setup();
93 =1 VOID Calculator();
94 =1 VOID Reports();
95 =1 VOID Download();
96 =1 VOID Download_Option();
97 =1 VOID Print_Cancel();
98 =1 /****************Sub function****************/
99 =1 extern VOID Beep();
100 =1 extern VOID Alarm();
101 =1 extern VOID Delay(WORD n);
102 =1 extern DWORD Report_Total();
103 =1 extern BOOL Clock_Set_Save();
104 =1 extern BOOL Key_Short_Test();
105 =1 extern VOID Wait_n_s(BYTE n);
106 =1 extern VOID Wait_n_ms(BYTE n);
107 =1 extern VOID Float_Format(FLOAT f);
108 =1 extern VOID Calculator_Operate(BYTE token);
109 =1 extern VOID Load_PLU_to_LCD_Buf(WORD temp);
110 =1 extern BOOL Load_Record_to_LCD_Buf(WORD temp);
111 =1 extern BOOL Password_Compare(BYTE *password,BYTE *lcd_buf);
112 =1 /****************Adc function****************/
113 =1 extern VOID CS5532_Init();
114 =1 extern DWORD Get_AD_Convert_Data();
115 =1 /***************Scale function***************/
116 =1 extern BOOL Cal_Zero_Count_Check();
117 =1 extern VOID Calculate_One_Count();
118 =1 extern VOID Monitor_Weigh_Scale_On_Calibration_Mode();
119 =1 extern VOID Monitor_Weigh_Scale();
120 =1 extern BOOL Maximum_Capacity_Check();
121 =1 extern BOOL Zero_Setting_When_Power_Up();
122 =1 extern VOID Zero_Setting_When_Zero_Key_Pressed();
123 =1 extern VOID Tare_Operation_When_Tare_Key_Pressed();
124 =1 /***************RS232 function***************/
125 =1 extern VOID RS232_Init();
126 =1 extern BOOL Package_EOF_Check();
127 =1 extern BOOL Package_Header_Check();
128 =1 extern VOID Receive_PLU_Data_from_PC();
129 =1 extern VOID Print_Record(BYTE print_type);
130 =1 extern VOID Print_Cancel_Record(WORD temp);
131 =1 /***************Eeprom function**************/
132 =1 extern BOOL Read_Option_Table(BYTE *pt);
133 =1 extern BOOL Read_extern_eeprom(BYTE *pt);
134 =1 extern BOOL Read_Cal_Password(BYTE *pt);
135 =1 extern VOID Read_Option_Param(BYTE *pt);
136 =1 extern VOID Read_Cal_counts(BYTE *pt);
137 =1 extern VOID Read_Cal_Zero_limit(BYTE *pt);
C51 COMPILER V7.50 MAIN 05/27/2006 14:00:50 PAGE 13
138 =1 extern BOOL Save_Option_Table(BYTE *pt);
139 =1 extern VOID Save_Option_Param(BYTE *pt);
140 =1 extern VOID Save_Cal_counts(BYTE *pt);
141 =1 extern VOID PLU_Save(WORD temp);
142 =1 extern VOID Save_Cal_One_count(FLOAT temp);
143 =1 extern VOID Save_Cal_Zero_count(FLOAT temp);
144 =1 extern VOID Record_Save(WORD temp);
145 =1 extern VOID Save_PLU_Setup_form_Disp_Buf(WORD temp);
146 =1 /**************Display function**************/
147 =1 extern VOID LCD_Init(BYTE mode,BYTE glitter);
148 =1 extern VOID Clock_Display();
149 =1 extern VOID Full_Display();
150 =1 extern VOID Display();
151 =1 extern VOID Set_AC_Icon();
152 =1 extern VOID Cls_AC_Icon();
153 =1 extern VOID Set_BAT_Icon();
154 =1 extern VOID Cls_BAT_Icon();
155 =1 extern VOID Set_NEG_Icon();
156 =1 extern VOID Cls_NEG_Icon();
157 =1 extern VOID Set_NET_Icon();
158 =1 extern VOID Cls_NET_Icon();
159 =1 extern VOID Set_STA_Icon();
160 =1 extern VOID Cls_STA_Icon();
161 =1 extern VOID Cls_Icon_Buf();
162 =1 extern VOID Set_BEEP_Icon();
163 =1 extern VOID Cls_BEEP_Icon();
164 =1 extern VOID Set_ZERO_Icon();
165 =1 extern VOID Cls_ZERO_Icon();
166 =1 extern VOID Set_Logo_Display();
167 =1 extern VOID Set_SCALE_Display();
168 =1 extern VOID Clock_Display_Update();
169 =1 extern VOID Set_INPUT_CODE_Display();
170 =1 extern VOID Set_COPY_SUCCESS_Display();
171 =1 extern VOID Set_INIT0_On_Lcd1_Display();
172 =1 extern VOID Set_EEP_On_Lcd1_Display();
173 =1 extern VOID Set_ADC_On_Lcd1_Display();
174 =1 extern VOID Set_RS232_On_Lcd1_Display();
175 =1 extern VOID Set_NOEEP_On_Lcd1_Display();
176 =1 extern VOID Set_NOCAL_On_Lcd1_Display();
177 =1 extern VOID Set_ERROR_On_Lcd2_Display();
178 =1 extern VOID Set_OVER_On_Lcd1_Display();
179 =1 extern VOID Set_OVER_On_Lcd3_Display();
180 =1 extern VOID Set_PLUS_On_Lcd2_Display();
181 =1 extern VOID Set_TOTAL_On_Lcd2_Display();
182 =1 extern VOID Set_TOTAL_P_On_Lcd2_Display();
183 =1 extern VOID Set_TOTAL_U_On_Lcd2_Display();
184 =1 extern VOID Set_TOTAL_N_On_Lcd2_Display();
185 =1 extern VOID Set_SEL_PLU_On_Lcd2_Display();
186 =1 extern VOID Set_INPUT_PRICE_On_Lcd2_Display();
187 =1 extern VOID Set_Cal_counts_Display(BYTE temp);
188 =1 extern VOID Set_Calcul_Result_Display(BYTE *pt);
189 =1 extern VOID Set_One_count_Display(BYTE temp);
190 =1 extern VOID Set_PLU_no_Display(WORD temp);
191 =1 extern VOID Set_SEL_PLU_no_Display(WORD temp);
192 =1 extern VOID Set_INPLUT_PLU_no_Display(WORD temp);
193 =1 extern VOID Set_Ver_no_Display(WORD temp);
194 =1 extern VOID Set_Weight_Display(WORD temp);
195 =1 extern VOID Set_Cal_Weight_Display(WORD temp);
196 =1 extern VOID Set_QUANTITY_On_Lcd2_Display();
197 =1 extern VOID Set_Quantity_Display(WORD temp);
198 =1 extern VOID Set_Sold_Quantity_Display(WORD temp);
199 =1 extern VOID Set_Money_Display(DWORD temp);
C51 COMPILER V7.50 MAIN 05/27/2006 14:00:50 PAGE 14
200 =1 extern VOID Set_Unit_Price_Display(DWORD temp);
201 =1 extern VOID Set_Sum_Price_Display(DWORD temp);
202 =1 extern VOID Set_Total_Price_Display(DWORD temp);
203 =1 extern VOID Set_Total_Weight_Display(DWORD temp);
204 =1 extern VOID Set_Total_Number_Display(DWORD temp);
205 =1 extern WORD Get_PLU_no_from_display_buf();
206 =1 extern WORD Get_Quantity_from_display_buf();
207 =1 extern DWORD Get_Money_from_display_buf();
208 =1 extern WORD Get_Cal_Weight_from_display_buf();
209 =1 extern DWORD Get_Unit_Price_from_display_buf();
210 =1 extern VOID Set_Lcd1_Buf(CHAR c,BYTE pos,BYTE cnt);
211 =1 extern VOID Set_Lcd2_Buf(CHAR c,BYTE pos,BYTE cnt);
212 =1 extern VOID Set_Lcd3_Buf(CHAR c,BYTE pos,BYTE cnt);
213 =1 extern VOID Lcd_Buf_Left_Shift(BYTE *lcd_buf,BYTE n,BYTE num,BYTE pos);
18
19 main()
20 {
21 1 Power_On();
22 1 while(1)
23 1 {
24 2 switch(mode)
25 2 {
26 3 case Input_code_mode:Input_Code();break;
27 3 case Calibration_mode:Calibration();break;
28 3 case Initialization_mode:Initialization();break;
29 3 case Sales_mode:Sales();break;
30 3 case Total_mode:Total();break;
31 3 case Payback_mode:Payback();break;
32 3 case PLU_Setup_mode:PLU_Setup();break;
33 3 case Time_Setup_mode:Time_Setup();break;
34 3 case Beep_and_Light_Setup_mode:Beep_and_Light_Setup();break;
35 3 case Calculator_mode:Calculator();break;
36 3 case Reports_mode:Reports();break;
37 3 case Download_mode:Download();break;
38 3 case Print_Cancel_mode:Print_Cancel();break;
39 3 case Power_down_mode:Power_Down();break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -