📄 state.lst
字号:
235 1 //}
236 1 frame_unpack(FR_L);//协议解包并应答
237 1
238 1 }
239 void Sev_State7(void){//显示参数c(比例系数)
240 1 cls();
C51 COMPILER V7.08 STATE 02/27/2006 16:51:50 PAGE 5
241 1 disp('C',1); disp('=',2);
242 1 disp(para_c[3],7); disp(para_c[2],8); disp(para_c[1],9); disp(para_c[0],10);
243 1 /*disp('E',8);
244 1 disp(para_c[1],9);//符号
245 1 disp(para_c[0],10);*/
246 1
247 1 //if(!f_setc_ok){//
248 1 frame_data(FR_C,para_c,CLEN);
249 1 //f_setc_ok=1;//置发送好标志
250 1 //}
251 1 //processmsg();
252 1 frame_unpack(FR_C);//协议解包并应答
253 1
254 1 }
255 //------p(9,10),无小数---------------------------------------------------
256 void Sev_State8(void){//设置p值[1]
257 1
258 1 SetPara(para_p,temp_p,PLEN,1,9,PLEN,4,9,9);
259 1 }
260 void Sev_State9(void){//设置p值[0]
261 1
262 1 SetPara(para_p,temp_p,PLEN,0,9,PLEN,4,8,8);
263 1 }
264 //--------wd(8,9,10),1位小数--------------------------------
265 void Sev_State10(void){//设置wd值[2]
266 1
267 1 SetPara(para_wd,temp_wd,LLEN,2,8,1,6,12,11);
268 1 }
269 void Sev_State11(void){//设置wd值[1]
270 1
271 1 SetPara(para_wd,temp_wd,LLEN,1,8,1,6,10,12);
272 1 }
273 void Sev_State12(void){//设置wd值[0]
274 1
275 1 SetPara(para_wd,temp_wd,LLEN,0,8,1,6,11,10);
276 1 }
277 //--------a(4,5,6,7,8,9,10),2位小数------------------------
278 void Sev_State14(void){//设置a值[6]
279 1
280 1 SetPara(para_a,temp_a,ALEN,6,4,2,5,20,15);
281 1 }
282
283 void Sev_State15(void){//设置a值[5]
284 1
285 1 SetPara(para_a,temp_a,ALEN,5,4,2,5,14,16);
286 1 }
287 void Sev_State16(void){//设置a值[4]
288 1
289 1 SetPara(para_a,temp_a,ALEN,4,4,2,5,15,17);
290 1 }
291 void Sev_State17(void){//设置a值[3]
292 1
293 1 SetPara(para_a,temp_a,ALEN,3,4,2,5,16,18);
294 1 }
295 void Sev_State18(void){//设置a值[2]
296 1
297 1 SetPara(para_a,temp_a,ALEN,2,4,2,5,17,19);
298 1 }
299 void Sev_State19(void){//设置a值[1]
300 1
301 1 SetPara(para_a,temp_a,ALEN,1,4,2,5,18,20);
302 1 }
C51 COMPILER V7.08 STATE 02/27/2006 16:51:50 PAGE 6
303 void Sev_State20(void){//设置a值[0]
304 1
305 1 SetPara(para_a,temp_a,ALEN,0,4,2,5,19,14);
306 1 }
307 //------c(7,8,9,10),无小数-----------------------------------
308 void Sev_State21(void){//设置c值[3]
309 1
310 1 SetPara(para_c,temp_c,CLEN,3,7,CLEN,7,24,22);
311 1 }
312 void Sev_State22(void){//设置c值[2]
313 1
314 1 SetPara(para_c,temp_c,CLEN,2,7,CLEN,7,21,23);
315 1 }
316 void Sev_State23(void){//设置c值[1]
317 1
318 1 SetPara(para_c,temp_c,CLEN,1,7,CLEN,7,22,24);
319 1 }
320 void Sev_State24(void){//设置c值[0]
321 1
322 1 SetPara(para_c,temp_c,CLEN,0,7,CLEN,7,23,21);
323 1 }
324 //------z(7,8,9,10),---------------------------------
325 void Sev_State25(void){//设置z值[3]
326 1
327 1 SetPara(para_z,temp_z,ZLEN,3,7,ZLEN,29,28,26);
328 1 }
329 void Sev_State26(void){//设置z值[2]
330 1
331 1 SetPara(para_z,temp_z,ZLEN,2,7,ZLEN,29,25,27);
332 1 }
333 void Sev_State27(void){//设置z值[1]
334 1
335 1 SetPara(para_z,temp_z,ZLEN,1,7,ZLEN,29,26,28);
336 1 }
337 void Sev_State28(void){//设置z值[0]
338 1
339 1 SetPara(para_z,temp_z,ZLEN,0,7,ZLEN,29,27,25);
340 1 }
341 //--------------------------------------------
342 void Sev_State29(void){//显示Z值
343 1 cls();
344 1 disp('A',1); disp('=',2);
345 1 disp(para_z[3],7); disp(para_z[2],8); disp(para_z[1],9); disp(para_z[0],10);
346 1
347 1 //if(!f_setc_ok){//
348 1 frame_data(FR_Z,para_z,ZLEN);
349 1 //f_setc_ok=1;//置发送好标志
350 1 //}
351 1 //processmsg();
352 1 frame_unpack(FR_Z);//协议解包并应答
353 1 }
354
355 void Sev_State30(void){//显示结果
356 1 ES=0; //关串口中断,以免DSP板的影响
357 1 gboff(); //关光标
358 1 if(!f_cancel_ok){//
359 2 frame_cmd(FR_Cancel); //发"停止采集"
360 2 f_cancel_ok=1;
361 2 f_start_ok=0;
362 2 }
363 1 cls();
364 1 disp(result[9],1); disp(result[8],2); disp(result[7],3);
C51 COMPILER V7.08 STATE 02/27/2006 16:51:50 PAGE 7
365 1 //disp('^',4);
366 1 disp(result[6],4);
367 1 disp(result[5],5); disp(result[4],6);
368 1 //disp('/',7);
369 1 disp(result[3],7);
370 1 disp(result[2],8); disp(result[1],9);
371 1 //disp('"',10);
372 1 disp(result[0],10);
373 1
374 1 if(!f_beep_ok){
375 2 beep();
376 2 beep();
377 2 beep();
378 2 f_beep_ok=1;
379 2 }
380 1
381 1 ES=1;
382 1
383 1 }
384
385
386 void Sev_State31(void){//报错误
387 1 ES=0; //关串口中断,以免DSP板的影响
388 1 gboff(); //关光标
389 1 if(!f_cancel_ok){//
390 2 frame_cmd(FR_Cancel); //发"停止采集"
391 2 f_cancel_ok=1;
392 2 f_start_ok=0;
393 2 }
394 1 cls();
395 1 disp('r',3);disp('E',1); disp('r',2);
396 1
397 1 if(!f_beep_ok){
398 2 beep();
399 2 beep();
400 2 beep();
401 2 f_beep_ok=1;
402 2 }
403 1
404 1 ES=1;
405 1
406 1 }
407
408
409 //通用函数:设置某参数的某位
410 void SetPara( uchar *para, //被设置数组
411 uchar *temp, //被修改缓存数组
412 uchar len, //数组大小
413 uchar pos_set, //被修改数组位置
414 uchar pos_disp, //显示起始位置
415 uchar pos_dp, //小数位置(即数组位置[pos_dp]加小数点,无小数点=LEN)
416 uchar state_ent, //"ENTER"转状态字 (保存修改)
417 //uchar state_esc, //"ESC"转状态字 (不保存)
418 uchar state_pgup, //"PGUP"转状态字 (右移一位)
419 uchar state_pgdn //"PGDN"转状态字 (左移一位)
420 )
421 {
422 1 uchar i;
423 1 cls();
424 1 for(i=0;i<len;i++){
425 2 if((i==pos_set)&&(i==pos_dp)) disp_dp(*(temp+i),pos_disp+len-1-i);
426 2 else if(i==pos_set) disp(*(temp+i),pos_disp+len-1-i);
C51 COMPILER V7.08 STATE 02/27/2006 16:51:50 PAGE 8
427 2 else if(i==pos_dp) disp_dp(*(temp+i),pos_disp+len-1-i);
428 2 else disp(*(temp+i),pos_disp+len-1-i);
429 2 }
430 1 delay(20); disp(' ',pos_disp+len-1-pos_set); delay(20);
431 1
432 1 keyvalue=kbscan();//
433 1 switch(keyvalue){
434 2 case NUM1: {*(temp+pos_set)=1;break;}
435 2 case NUM2: {*(temp+pos_set)=2;break;}
436 2 case NUM3: {*(temp+pos_set)=3;break;}
437 2 case NUM4: {*(temp+pos_set)=4;break;}
438 2 case NUM5: {*(temp+pos_set)=5;break;}
439 2 case NUM6: {*(temp+pos_set)=6;break;}
440 2 case NUM7: {*(temp+pos_set)=7;break;}
441 2 case NUM8: {*(temp+pos_set)=8;break;}
442 2 case NUM9: {*(temp+pos_set)=9;break;}
443 2 case NUM0: {*(temp+pos_set)=0;break;}
444 2 case BN_ENT:{
445 3 //*(para+pos_set)=*(temp+pos_set);
446 3 memcpy(para,temp,len);
447 3 Index=state_ent;
448 3 break;
449 3 }
450 2 case BN_ESC:{
451 3 //*(temp+pos_set)=*(para+pos_set);
452 3 memcpy(temp,para,len);
453 3 Index=state_ent;
454 3 break;
455 3 }
456 2 case BN_PGUP: {Index=state_pgup;break;}
457 2 case BN_PGDN: {Index=state_pgdn;break;}
458 2 }
459 1 }
460 //
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2361 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 55 22
IDATA SIZE = ---- ----
BIT SIZE = 7 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -