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