📄 modbus.lst
字号:
159 #define ADC_A_L 600
160 #define ADC_PT_H 3000
161 #define ADC_PT_L 1500
162 #define VALUE 10
163 #define BAUD_VALUE 28800
164
165 //************************************按键处理*************************************
166
167 #define MUTE 1 // 消音键
168 #define DOT 2 // 小数位
169 #define LEFT 3 // 左移
170 #define RIGHT 4 // 右移
171 #define UP 5 // 上移
172 #define DOWN 6 // 下移
173 #define SET 7
174 #define FLASH_TEST 8
175 #define FLASH_MUTE 9
176 #define FLASH_LED 10
177 #define SET_ENTER 11
178 #define NO 0
179
C51 COMPILER V7.50 MODBUS 11/17/2007 15:15:44 PAGE 4
180
181 #define ADC_START 0x01
182 #define ADC_STOP 0x02
183 #define CHANGE_OK 0x04
184 #define ADC_ONE 0x08
185 #define ADC_ONE_RESALT 0x40
186
187 #define PT100_H 0x01
188 #define PT100_L 0x02
189 #define CURRENT_H 0x04
190 #define CURRENT_L 0x08
191 #define ALARM_GZ 0x10
192 #define CHANGE_DATA_OK 0x20
193
194
195 sbit SDA = P3^5;
196 sbit SCL = P3^4;
197 sbit BEEL= P3^3;
198 sbit MAX = P1^7;
199
200
201 //**********************************时间变量***********************
202 bit counter_500ms;
203 bit count_10ms;
204 bit count_1s;
205 bit count;
206 uchar xdata counter0;
207 uchar xdata counter1;
208 uchar xdata counter2;
209 uchar xdata counter3;
210 uchar xdata counter4;
211 //**********************************串口处理变量************************
212 bit baud_flag;
213 bit common_flag;
214 bit common;
215 bit uart_flag_save;
216 uchar xdata sendPosi;
217 uchar xdata sendCount;
218 uchar xdata receCount;
219 uchar xdata receTimeOut;
220 uchar xdata sendBuf[70];
221 uchar xdata receBuf[70];
222 uchar xdata xjb_buf[ALL_DATA_VAL];
223 uchar xdata databuf[FIRST_DATA];
224 uchar xdata alarm_uart_data;
225 uchar xdata uart_data_save;
226 uint xdata uart_addr_save;
227 //**************************************************ADC VAR
228 uint xdata x;
229 uchar xdata adc_flag;
230 uchar xdata alarm_flag;
231 uchar xdata counter;
232 uchar xdata adc_data_L;
233 uchar xdata adc_data_H;
234 uint xdata max_data[2];
235 uchar xdata yellow_flag;
236 uint xdata high_flag;
237 uint xdata low_flag;
238 uint xdata gz_flag;
239 uint xdata y;
240 uint xdata high_flag_copy;
241 uint xdata low_flag_copy;
C51 COMPILER V7.50 MODBUS 11/17/2007 15:15:44 PAGE 5
242 uint xdata gz_flag_copy;
243 uint xdata y_copy;
244 sint xdata pt100_buf_L[16];
245 sint xdata pt100_buf_H[16];
246 //**************************************************LCD VAR
247 bit net_data;
248 bit lcd_lock;
249 bit english_china;
250 uchar xdata loop_dot;
251 uchar xdata l_cs ;
252 uchar xdata pstart[6];
253 uchar xdata lcd_first_one;
254 uchar xdata lcd_first_two;
255 uchar xdata lcd_first_three;
256 uint xdata lcd_first_seven;
257 uchar xdata lcd_first_nine;
258 uchar xdata lcd_first_ten;
259 uint xdata channel_data;
260 uint xdata alarm_data;
261 uint xdata cali_data;
262 uchar xdata loop;
263 uchar xdata loop_enter;
264
265 //********************************************************KEY
266 bit test_copy;
267 bit test;
268 bit mute;
269 bit led;
270 bit ap;
271
272 //**********************************************************函数***************
273 void delay(uchar xdata k);
274 void iicstart(void);
275 void initInt(void);
276 void beginSend(void);
277 void pt100_data(void);
278 void display_scan(void);
279 void display_comp(void);
280 void uart_all_save(void);
281 int char_int(uchar *pchar);
282 void eight_load_adc(void);
283 void readRegisters(void);
284 void CLRLCD(uchar number);
285 void system_initial(void);
286 void checkComm0Modbus(void);
287 void channel_china(uchar i);
288 void Lcd_Display_Data(void);
289 unsigned char scan_key(void);
290 void delayms(unsigned int j);
291 unsigned int start_adc(void);
292 void presetSingleRegister(void);
293 void int_char(int opt,char *pint);
294 void int_char(int opt,char *pint);
295 void presetMultipleRegisters(void);
296 void LCD_C_D(bit flag,uchar ldata);
297 void out_simuseri(uchar code channel);
298 void loop_data(uchar *ploop,uchar att);
299 void lcd_mode_english(unsigned char i);
300 void compose_data(uchar *pstr,uchar j);
301 uint crc16(uchar *puchMsg, uchar usDataLen);
302 void zero_data(uchar *pstr,uchar opt,uchar att);
303 void change_data(uint addr,uchar *pstr,uchar size);
C51 COMPILER V7.50 MODBUS 11/17/2007 15:15:44 PAGE 6
304 void display_lcd(uchar x_add,uchar y_add,uchar code *ptr,uchar opt);
305 void nbyteRead(uint addr,uint size,uchar xdata *byte_data);
306 void nbyteWrite ( uint addr, uint size, uchar xdata *index);
307 void DrawString(uchar x_add,uchar y_add,uchar *str,uchar pra,uchar opt,uchar att);
308 void DrawString_F(uchar x_add,uchar y_add,uchar *str,uchar pra ,uchar att);
309 void display_Mainpageface(uchar x_add,uchar y_add,uchar code *ptr);
310
311
312
313
314 /* CRC 高位字节值表 */
315 const uint code auchCRCHi[] = {
316 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
317 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
318 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
319 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
320 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
321 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
322 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
323 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -