📄 keyb.lst
字号:
312 3 }
313 2 }
314 1 else
315 1 {
316 2 LPH7366_write_str(6,4,(shi+16));
317 2 LPH7366_write_str(6,5,(ge+16));
318 2 }
319 1
320 1 if(second_flag==1)
321 1 LPH7366_write_str(6,6,26); //:
322 1 else
323 1 LPH7366_write_str(6,6,0); //
324 1
325 1 data_tick(i.second); //second
326 1 if(flash3==1)
327 1 {
328 2 if(second_flag==1)
329 2 {
330 3 LPH7366_write_str(6,7,(shi+16));
331 3 LPH7366_write_str(6,8,(ge+16));
332 3 }
333 2 else
334 2 {
335 3 LPH7366_write_str(6,7,60); //55
336 3 LPH7366_write_str(6,8,60);
337 3 }
338 2 }
339 1 else
340 1 {
341 2 LPH7366_write_str(6,7,(shi+16));
342 2 LPH7366_write_str(6,8,(ge+16));
343 2 }
344 1 }
345
346 /***************************温度切换显示函数***************************/
347 /*函数原型:void temp_set_display(unsigned char option_i)
348 /*函数功能:温度切换显示
349 /*输入参数:无
350 /*输出参数:无
351 /*调用模块:temp_set_option_display(),LPH7366_write_str()
352 /*建立时间:2005/11/18
353 /*作者:丁霄
354 /**********************************************************************/
355 void temp_set_display(unsigned char option_i)
356 {
357 1 if(option_i==1) //TH
358 1 {
359 2 temp_set_option_display(temp_TH);
360 2 LPH7366_write_str(3,6,52); //显示T
361 2 LPH7366_write_str(3,7,40); //显示H
362 2 }
363 1
364 1 if(option_i==2) //TL
C51 COMPILER V7.06 KEYB 05/11/2008 18:49:27 PAGE 7
365 1 {
366 2 temp_set_option_display(temp_TL);
367 2 LPH7366_write_str(3,6,52); //显示T
368 2 LPH7366_write_str(3,7,44); //显示L
369 2 }
370 1 }
371
372
373 /***************************温度切换显示子函数函数*********************/
374 /*函数原型:void temp_set_option_display(signed char option_i)
375 /*函数功能:温度切换显示子函数
376 /*输入参数:无
377 /*输出参数:无
378 /*调用模块:temp_data_turn(),LPH7366_write_str(),
379 /*建立时间:2005/11/21
380 /*作者:丁霄
381 /**********************************************************************/
382 void temp_set_option_display(signed char temp)
383 {
384 1 if(temp>0) //正值
385 1 T_sign=0;
386 1
387 1 else //负值
388 1 {
389 2 T_sign=1;
390 2 temp_TLTH_dis=temp*(-1);
391 2 }
392 1
393 1 if(T_sign==1) //负值
394 1 temp_data_turn(temp_TLTH_dis); //转换温度数值
395 1 else //正值
396 1 temp_data_turn(temp); //转换温度数值
397 1
398 1 temp_display();
399 1
400 1 data_tick(local_time.hour);
401 1 LPH7366_write_str(6,1,(shi+16));
402 1 LPH7366_write_str(6,2,(ge+16));
403 1
404 1 if(second_flag==1)
405 1 LPH7366_write_str(6,3,26); //:
406 1 else
407 1 LPH7366_write_str(6,3,0); //
408 1
409 1 data_tick(local_time.minute);
410 1 LPH7366_write_str(6,4,(shi+16));
411 1 LPH7366_write_str(6,5,(ge+16));
412 1
413 1 if(second_flag==1)
414 1 LPH7366_write_str(6,6,26); //:
415 1 else
416 1 LPH7366_write_str(6,6,0); //
417 1
418 1 data_tick(local_time.second);
419 1 LPH7366_write_str(6,7,(shi+16));
420 1 LPH7366_write_str(6,8,(ge+16));
421 1 }
422
423 /***************************时间调整函数************************/
424 /*函数原型:void key_time_setdone(struct time *i)
425 /*函数功能:时间调整
426 /*输入参数:无
C51 COMPILER V7.06 KEYB 05/11/2008 18:49:27 PAGE 8
427 /*输出参数:无
428 /*调用模块:无
429 /*建立时间:2005/11/23
430 /*作者:丁霄
431 /***************************************************************/
432 void key_time_setdone(struct time *i)
433 {
434 1 unsigned char set_i=1; //设置计数器
435 1
436 1 while(1)
437 1 {
438 2 keyB();
439 2
440 2 if(key==1&&key_flag) //+
441 2 {
442 3 key_flag=0;
443 3 if(set_i==1)
444 3 {
445 4 i->hour++;
446 4 if(i->hour==24)
447 4 i->hour=0;
448 4 }
449 3
450 3 if(set_i==2)
451 3 {
452 4 i->minute++;
453 4 if(i->minute==60)
454 4 i->minute=0;
455 4 }
456 3
457 3 if(set_i==3)
458 3 {
459 4 i->second++;
460 4 if(i->second==60)
461 4 i->second=0;
462 4 }
463 3 }
464 2
465 2 if(key==2&&key_flag) //-
466 2 {
467 3 key_flag=0;
468 3 if(set_i==1)
469 3 {
470 4 i->hour--;
471 4 if(i->hour==0xff)
472 4 i->hour=23;
473 4 }
474 3
475 3 if(set_i==2)
476 3 {
477 4 i->minute--;
478 4 if(i->minute==0xff)
479 4 i->minute=59;
480 4 }
481 3
482 3 if(set_i==3)
483 3 {
484 4 i->second--;
485 4 if(i->second==0xff)
486 4 i->second=59;
487 4 }
488 3 }
C51 COMPILER V7.06 KEYB 05/11/2008 18:49:27 PAGE 9
489 2
490 2 if(key==3&&key_flag) //设置位调整
491 2 {
492 3 key_flag=0;
493 3 set_i++;
494 3 if(set_i==4)
495 3 set_i=1;
496 3 }
497 2
498 2 if(key==4&&key_flag) //背光
499 2 {
500 3 key_flag=0;
501 3 BLACK_LIGHT=~BLACK_LIGHT;
502 3 }
503 2
504 2 if(key==5&&key_flag) //跳出
505 2 {
506 3 key_flag=0;
507 3 break;
508 3 }
509 2
510 2 if(key==0)
511 2 {
512 3 key_flag=1;
513 3 }
514 2 flash=1;
515 2 flash_co(set_i);
516 2 time_set_display(key_option_i);
517 2 }
518 1 }
519
520 /***************************温度调整函数************************/
521 /*函数原型:void key_temp_setdone(unsigned char i)
522 /*函数功能:温度调整
523 /*输入参数:无
524 /*输出参数:无
525 /*调用模块:keyB(),temp_set_display()
526 /*建立时间:2005/11/23
527 /*作者:丁霄
528 /***************************************************************/
529 void key_temp_setdone(signed char *i)
530 {
531 1 while(1)
532 1 {
533 2 keyB();
534 2
535 2 if(key==1&&key_flag) //+ 温度设置在-55~125C
536 2 {
537 3 key_flag=0;
538 3 (*i)++;
539 3 if((*i)>125)
540 3 (*i)=-55;
541 3 }
542 2
543 2 if(key==2&&key_flag) //-
544 2 {
545 3 key_flag=0;
546 3 (*i)--;
547 3 if((*i)<-55)
548 3 (*i)=125;
549 3 }
550 2
C51 COMPILER V7.06 KEYB 05/11/2008 18:49:27 PAGE 10
551 2 if(key==4&&key_flag) //背光
552 2 {
553 3 key_flag=0;
554 3 BLACK_LIGHT=~BLACK_LIGHT;
555 3 }
556 2
557 2 if(key==5&&key_flag) //跳出
558 2 {
559 3 key_flag=0;
560 3 break;
561 3 }
562 2
563 2 if(key==0||key==3)
564 2 {
565 3 key_flag=1;
566 3 }
567 2 temp_set_display(key_option_i);
568 2 }
569 1 }
570
571 /********************************闪烁控制函数******************************/
572 /*函数原型:void flash_co(unsigned char set_i)
573 /*函数功能:闪烁控制
574 /*输入参数:无
575 /*输出参数:无
576 /*调用模块:无
577 /*建立时间:2005/10/27
578 /*作者:丁霄
579 /**************************************************************************/
580 void flash_co(unsigned char set_i)
581 {
582 1 if(flash==1)
583 1 { if(set_i==1) //第1个标志位闪烁
584 2 {
585 3 flash1=1;
586 3 flash2=0;
587 3 flash3=0;
588 3 }
589 2
590 2 if(set_i==2) //第2个标志位闪烁
591 2 {
592 3 flash1=0;
593 3 flash2=1;
594 3 flash3=0;
595 3 }
596 2
597 2 if(set_i==3) //第3个标志位闪烁
598 2 {
599 3 flash1=0;
600 3 flash2=0;
601 3 flash3=1;
602 3 }
603 2 }
604 1 else
605 1 {
606 2 if(set_i==0)
607 2 {
608 3 flash1=0;
609 3 flash2=0;
610 3 flash3=0;
611 3 }
612 2 }
C51 COMPILER V7.06 KEYB 05/11/2008 18:49:27 PAGE 11
613 1 }
614
615
616
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1447 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 13
IDATA SIZE = ---- ----
BIT SIZE = 5 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -