📄 080630.lst
字号:
438 1 SH_CP=0;
439 1 DS=1;
440 1
441 1 }
442 /************************
443 函数名:write_sfm()
444 功能:显示子函数调时间模式下用此函数刷新显示数据
445
446 *************************/
447 void write_sfm(uchar sg,uchar ss,uchar fg,uchar fs,uchar mg,uchar ms,uchar ng,uchar ns,uchar yg,uchar ys,u
-char rg,uchar rs,uchar xqs,uchar temp_s,uchar temp_g)
448 {
449 1 uchar k;
450 1
451 1 for(k=0;k<8;k++)
452 1 {
453 2 SH_CP=0;
454 2 mg<<=1; //将数据左移把最高位移入到了CY当中
455 2 DS=CY;
456 2 SH_CP=1; //上升沿发生移位
457 2 }
458 1
459 1 for(k=0;k<8;k++)
460 1 {
461 2 SH_CP=0;
462 2 ms<<=1; //将数据左移把最高位移入到了CY当中
463 2 DS=CY;
464 2 SH_CP=1; //上升沿发生移位
465 2 }
466 1 for(k=0;k<8;k++)
467 1 {
468 2 SH_CP=0;
469 2 fg<<=1; //将数据左移把最高位移入到了CY当中
470 2 DS=CY;
471 2 SH_CP=1; //上升沿发生移位
472 2 }
473 1
474 1 for(k=0;k<8;k++)
475 1 {
476 2 SH_CP=0;
477 2 fs<<=1; //将数据左移把最高位移入到了CY当中
478 2 DS=CY;
479 2 SH_CP=1; //上升沿发生移位
480 2 }
481 1
482 1 for(k=0;k<8;k++)
483 1 {
484 2 SH_CP=0;
485 2 sg<<=1; //将数据左移把最高位移入到了CY当中
486 2 DS=CY;
487 2 SH_CP=1; //上升沿发生移位
488 2 }
C51 COMPILER V7.06 080630 07/27/2008 13:47:08 PAGE 9
489 1
490 1 for(k=0;k<8;k++)
491 1 {
492 2 SH_CP=0;
493 2 ss<<=1; //将数据左移把最高位移入到了CY当中
494 2 DS=CY;
495 2 SH_CP=1; //上升沿发生移位
496 2 }
497 1
498 1 for(k=0;k<8;k++)
499 1 {
500 2 SH_CP=0;
501 2 rg<<=1; //将数据左移把最高位移入到了CY当中
502 2 DS=CY;
503 2 SH_CP=1; //上升沿发生移位
504 2 }
505 1
506 1 for(k=0;k<8;k++)
507 1 {
508 2 SH_CP=0;
509 2 rs<<=1; //将数据左移把最高位移入到了CY当中
510 2 DS=CY;
511 2 SH_CP=1; //上升沿发生移位
512 2 }
513 1
514 1 for(k=0;k<8;k++)
515 1 {
516 2 SH_CP=0;
517 2 yg<<=1; //将数据左移把最高位移入到了CY当中
518 2 DS=CY;
519 2 SH_CP=1; //上升沿发生移位
520 2 }
521 1 for(k=0;k<8;k++)
522 1 {
523 2 SH_CP=0;
524 2 ys<<=1; //将数据左移把最高位移入到了CY当中
525 2 DS=CY;
526 2 SH_CP=1; //上升沿发生移位
527 2 }
528 1
529 1 for(k=0;k<8;k++)
530 1 {
531 2 SH_CP=0;
532 2 ng<<=1; //将数据左移把最高位移入到了CY当中
533 2 DS=CY;
534 2 SH_CP=1; //上升沿发生移位
535 2 }
536 1 for(k=0;k<8;k++)
537 1 {
538 2 SH_CP=0;
539 2 ns<<=1; //将数据左移把最高位移入到了CY当中
540 2 DS=CY;
541 2 SH_CP=1; //上升沿发生移位
542 2 }
543 1
544 1 for(k=0;k<8;k++)
545 1 {
546 2 SH_CP=0;
547 2 xqs<<=1; //将数据左移把最高位移入到了CY当中
548 2 DS=CY;
549 2 SH_CP=1; //上升沿发生移位
550 2 }
C51 COMPILER V7.06 080630 07/27/2008 13:47:08 PAGE 10
551 1 for(k=0;k<8;k++)
552 1 {
553 2 SH_CP=0;
554 2 temp_g<<=1; //将数据左移把最高位移入到了CY当中
555 2 DS=CY;
556 2 SH_CP=1; //上升沿发生移位
557 2 }
558 1
559 1 for(k=0;k<8;k++)
560 1 {
561 2 SH_CP=0;
562 2 temp_s<<=1; //将数据左移把最高位移入到了CY当中
563 2 DS=CY;
564 2 SH_CP=1; //上升沿发生移位
565 2 }
566 1 SH_CP=0;
567 1 DS=1;
568 1
569 1 }
570 /************************
571 函数名:display()
572 功能:显示子函数
573
574 *************************/
575 void display()
576 {
577 1 ST_CP=0;
578 1 write_595byte(shi,fen,miao,nian,yue,ri,xq,temp);
579 1 ST_CP=1; //上升沿将移位寄存器的数据送到输出锁存器并输出
580 1 ST_CP=0;
581 1 }
582
583 ////键盘扫描////
584 void kscan()
585 {
586 1 rd=0;
587 1 if(s1==0)
588 1 {
589 2 delay(5);
590 2 if(s1==0);////功能键
591 2 {
592 3
593 3 flag=1; //flag=1将停止显示数据的刷新
594 3 while(!s1);//松手检测
595 3 delay(5); //延时去抖动
596 3 if(s1==1)
597 3 {
598 4 s1num++; //对功能键按下的次数进行计数判断要修改的数据
599 4 if(s1num==1)//调节秒
600 4 {
601 5 ST_CP=0;
602 5 write_sfm(table[shi%10],table[shi/10],table[fen%10],table[fen/10],table[16],table[16],table[nian%10],
-table[nian/10],table[yue%10],table[yue/10],table[ri%10],table[ri/10],table[xq],table[temp%100/10],table[temp/100]);
603 5 ST_CP=1;
604 5 ST_CP=0;
605 5 }
606 4 if(s1num==2)//调节分
607 4 {
608 5 ST_CP=0;
609 5 write_sfm(table[shi%10],table[shi/10],table[16],table[16],table[miao%10],table[miao/10],table[nian%10
-],table[nian/10],table[yue%10],table[yue/10],table[ri%10],table[ri/10],table[xq],table[temp%100/10],table[temp/100]);
610 5 ST_CP=1;
C51 COMPILER V7.06 080630 07/27/2008 13:47:08 PAGE 11
611 5 ST_CP=0;
612 5 }
613 4 if(s1num==3)//调节时
614 4 {
615 5 ST_CP=0;
616 5 write_sfm(table[16],table[16],table[fen%10],table[fen/10],table[miao%10],table[miao/10],table[nian%10
-],table[nian/10],table[yue%10],table[yue/10],table[ri%10],table[ri/10],table[xq],table[temp%100/10],table[temp/100]);
617 5 ST_CP=1;
618 5 ST_CP=0;
619 5 }
620 4
621 4 if(s1num==4)//调节日
622 4 {
623 5 ST_CP=0;
624 5 write_sfm(table[shi%10],table[shi/10],table[fen%10],table[fen/10],table[miao%10],table[miao/10],table
-[16],table[16],table[yue%10],table[yue/10],table[ri%10],table[ri/10],table[xq],table[temp%100/10],table[temp/100]);
625 5 ST_CP=1;
626 5 ST_CP=0;
627 5 }
628 4 if(s1num==5)//调节月
629 4 {
630 5 ST_CP=0;
631 5 write_sfm(table[shi%10],table[shi/10],table[fen%10],table[fen/10],table[miao%10],table[miao/10],table
-[nian%10],table[nian/10],table[16],table[16],table[ri%10],table[ri/10],table[xq],table[temp%100/10],table[temp/100]);
632 5 ST_CP=1;
633 5 ST_CP=0;
634 5 }
635 4 if(s1num==6)//调节年
636 4 {
637 5 ST_CP=0;
638 5 write_sfm(table[shi%10],table[shi/10],table[fen%10],table[fen/10],table[miao%10],table[miao/10],table
-[nian%10],table[nian/10],table[yue%10],table[yue/10],table[16],table[16],table[xq],table[temp%100/10],table[temp/100]);
639 5 ST_CP=1;
640 5 ST_CP=0;
641 5 }
642 4 if(s1num==7)//调节星期
643 4 {
644 5 ST_CP=0;
645 5 write_sfm(table[shi%10],table[shi/10],table[fen%10],table[fen/10],table[miao%10],table[miao/10],table
-[nian%10],table[nian/10],table[yue%10],table[yue/10],table[ri%10],table[ri/10],table[16],table[temp%100/10],table[temp/1
-00]);
646 5 ST_CP=1;
647 5 ST_CP=0;
648 5 }
649 4 if(s1num==8)//把调节好的数据保存下来然后恢复正常读取显示
650 4 {
651 5 s1num=0;
652 5 write_ds(0,miao);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -