📄 menu_func.lst
字号:
246 1 chn_disp(6,0,2,8,1,8,(hz_me+64));
247 1
248 1 }
249 /*---------显示主目录-----------*/
250 void DispMenu_Root()
251 {
252 1 clrscr();
253 1 cs1=1;
254 1 cs2=0;
255 1 chn_disp(0,0,2,16,1,2,hz_view);
256 1 chn_disp(2,0,2,16,1,2,hz_operation);
257 1 chn_disp(4,0,2,16,1,2,hz_test);
258 1 chn_disp(6,0,2,16,1,2,hz_help);
259 1 }
260 /*-----------显示查看子目录----------*/
261 void DispMenu_View()
262 {
263 1 clrscr();
264 1 cs1=1;
265 1 cs2=0;
266 1 chn_disp(0,0,2,16,1,2,hz_view_1); //温度
267 1 chn_disp(2,0,2,16,1,2,hz_view_2); //数模
268 1 chn_disp(4,0,2,16,1,1,hz_view_2+32); //模数
269 1 chn_disp(4,16,2,16,1,1,hz_view_2);
270 1 }
271 /*-----------显示工具子目录----------*/
272 void DispMenu_Operation()
273 {
274 1 clrscr();
275 1 cs1=1;
276 1 cs2=0;
277 1 chn_disp(0,0,2,16,1,4,hz_operation_1);
278 1 chn_disp(2,0,2,16,1,2,hz_operation_2); //数据
279 1 chn_disp(2,32,2,16,1,2,hz_operation_3); //存储
280 1 chn_disp(4,0,2,16,1,2,hz_operation_2); //数据
281 1 chn_disp(4,32,2,16,1,2,hz_operation_4); //读取
282 1 }
283 /*-----------显示通信子目录------------*/
284 void DispMenu_Test()
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 6
285 {
286 1 clrscr();
287 1 cs1=1;
288 1 cs2=0;
289 1 chn_disp(0,0,2,16,1,2,hz_test_1);
290 1 chn_disp(0,32,2,16,1,2,hz_test_2);
291 1 chn_disp(2,0,2,16,1,2,hz_test_1);
292 1 chn_disp(2,32,2,16,1,2,hz_test_3);
293 1 chn_disp(4,0,2,16,1,2,hz_test_4);
294 1 chn_disp(4,32,2,16,1,2,hz_test_2);
295 1 chn_disp(6,0,2,16,1,2,hz_test_4);
296 1 chn_disp(6,32,2,16,1,2,hz_test_3);
297 1 }
298 /*--------------显示帮助子目录----------*/
299 void DispMenu_Help()
300 {
301 1 clrscr();
302 1 num_disp(1,0,32,1);
303 1 chn_disp(0,0,2,16,1,2,hz_help);
304 1 chn_disp(2,0,2,16,1,2,hz_about);
305 1 }
306 /*-------------------输出文本-------------------------*/
307 void GetTextInput()
308 {
309 1 while(NowKey==KEY_shift) //2ND上当键判断
310 1 {
311 2 EX0=1;
312 2 cs1=0;
313 2 //cs2=1;
314 2 chn_disp(6,48,2,16,1,1,hz_shift);
315 2 if (NowKey==KEY_1)
316 2 NowKey=KEY_A;
317 2 if (NowKey==KEY_2)
318 2 NowKey=KEY_B;
319 2 if (NowKey==KEY_3)
320 2 NowKey=KEY_C;
321 2 if (NowKey==KEY_4)
322 2 NowKey=KEY_D;
323 2 if (NowKey==KEY_5)
324 2 NowKey=KEY_E;
325 2 if (NowKey==KEY_6)
326 2 NowKey=KEY_F;
327 2 }
328 1 chn_disp(6,48,2,16,1,1,hz_null);
329 1 if (NowKeyReg) // 判断当前按键有无变化
330 1 {
331 2 KeyInputTemp=1;
332 2 if (NowKey==KEY_0) // 查当前按键的键对应的数字
333 2 TextInputTemp=0;
334 2 else if(NowKey==KEY_1)
335 2 TextInputTemp=1;
336 2 else if(NowKey==KEY_2)
337 2 TextInputTemp=2;
338 2 else if(NowKey==KEY_3)
339 2 TextInputTemp=3;
340 2 else if(NowKey==KEY_4)
341 2 TextInputTemp=4;
342 2 else if(NowKey==KEY_5)
343 2 TextInputTemp=5;
344 2 else if(NowKey==KEY_6)
345 2 TextInputTemp=6;
346 2 else if(NowKey==KEY_7)
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 7
347 2 TextInputTemp=7;
348 2 else if(NowKey==KEY_8)
349 2 TextInputTemp=8;
350 2 else if(NowKey==KEY_9)
351 2 TextInputTemp=9;
352 2 else if(NowKey==KEY_A)
353 2 TextInputTemp=10;
354 2 else if(NowKey==KEY_B)
355 2 TextInputTemp=11;
356 2 else if(NowKey==KEY_C)
357 2 TextInputTemp=12;
358 2 else if(NowKey==KEY_D)
359 2 TextInputTemp=13;
360 2 else if(NowKey==KEY_E)
361 2 TextInputTemp=14;
362 2 else if(NowKey==KEY_F)
363 2 TextInputTemp=15;
364 2 else KeyInputTemp=0;
365 2 NowKeyReg=0;
366 2 }
367 1
368 1 }
369 /*---------------------------文本输入------------------------------*/
370 void Menu_TextInput()
371 {
372 1 uchar x,y,j;
373 1 bit cs3=1;
374 1 clrscr();
375 1 KeyInputTemp=0;
376 1
377 1 while (NowKey!=KEY_ESC) // 按ESC键退出
378 1 {
379 2 EX0=1;
380 2 GetTextInput();
381 2 if (KeyInputTemp==1) // 输出数字
382 2 {
383 3 num_disp(cs3,x,y,TextInputTemp);
384 3 y+=8;
385 3 if(y==64) // 输出8个数字时换右屏
386 3 {
387 4 cs3=!cs3;
388 4 y=0;
389 4 j++;
390 4 }
391 3 if(j==2) // 输出16个数字时换行
392 3 {
393 4 x+=2;
394 4 j=0;
395 4 }
396 3 if(x==8)
397 3 {
398 4 x=0;
399 4 clrscr();
400 4 }
401 3 KeyInputTemp=0;
402 3 }
403 2
404 2 }
405 1
406 1 Menu_Back();
407 1
408 1 }
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 8
409
410 /*------------温度监测--------------*/
411 void Menu_DispTmp()
412 {
413 1
414 1 clrscr();
415 1 config_18b20();
416 1 chn_disp(0,0,2,16,1,2,hz_view_1);
417 1 while(NowKey!=KEY_ESC)
418 1 {
419 2 EX0=1;
420 2 get_tmp();
421 2 if(tmp>99)
422 2 {
423 3 num_disp(0,0,0,tmp/100); //显示百位
424 3 num_disp(0,0,8,tmp/10%10); //显示十位
425 3 num_disp(0,0,16,tmp%100%10); //显示个位
426 3 chn_disp(0,24,2,8,1,1,hz_dot);
427 3 num_disp(0,0,32,tmpd); //小数点后一位
428 3 chn_disp(0,40,2,8,1,1,hz_oc);
429 3 }
430 2 else
431 2 {
432 3
433 3 num_disp(0,0,8,tmp/10);
434 3 num_disp(0,0,16,tmp%10);
435 3 if(tmp_f)
436 3 {
437 4 chn_disp(0,0,2,8,1,1,hz_s_); //显示负号
438 4 }
439 3 else chn_disp(0,0,2,8,1,1,hz_null); // 不显示负号
440 3 chn_disp(0,24,2,8,1,1,hz_dot);
441 3 num_disp(0,0,32,tmpd);
442 3 // con_disp(0,0,40,tmpd%10); //小数点后两位
443 3 chn_disp(0,40,2,8,1,1,hz_oc);
444 3 }
445 2
446 2 }
447 1 Menu_Back();
448 1 }
449 /*--------------步进电机--------------------*/
450 void Menu_Motor_s()
451 {
452 1 uchar P_motor[]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};
453 1 uchar i=0;
454 1 clrscr();
455 1 EX0=1;
456 1 COM8255=0x82;
457 1 while(NowKey!=KEY_ESC)
458 1 {
459 2 EX0=1;
460 2 if (NowKey==KEY_1)
461 2 {
462 3 PC8255=P_motor[i];
463 3 delay(254);
464 3 i++;
465 3 NowKey=0xff;
466 3 if(i==8)
467 3 {
468 4 i=0;
469 4 }
470 3 }
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 9
471 2 if(NowKey==KEY_2)
472 2 {
473 3 i--;
474 3 if(i>7)
475 3 {
476 4 i=7;
477 4 }
478 3 NowKey=0xff;
479 3 PC8255=P_motor[i];
480 3 delay(254);
481 3 }
482 2 }
483 1 }
484 void Menu_MemoryData()
485 {
486 1 //uchar idata temp1[]={0x02,0x04,0x99,0x76,0x47};
487 1 uchar idata *temp2,addr=0x02;
488 1 // uchar i,j,x,y;
489 1 // bit cs3;
490 1 // cs3=1;
491 1 clrscr();
492 1 Ipt9555(temp2);
493 1 temp2++;
494 1 num_disp(1,0,0,(*temp2)>>4);
495 1 num_disp(1,0,8,(*temp2) & 0x0f);
496 1 /* W24C32(addr,temp1,5);
497 1 R24C32(addr,temp2,5);
498 1 for (i=0;i<5;i++)
499 1 {
500 1
501 1 con_disp(cs3,x,y,*temp2>>4);
502 1 y+=8;
503 1 con_disp(cs3,x,y,*temp2&0x0f);
504 1 y+=8;
505 1 if(y==64) // 输出8个数字时换右屏
506 1 {
507 1 cs3=!cs3;
508 1 y=0;
509 1 j++;
510 1 }
511 1 if(j==2) // 输出16个数字时换行
512 1 {
513 1 x+=2;
514 1 j=0;
515 1 }
516 1 if(x==8)
517 1 {
518 1 x=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -