📄 080630.lst
字号:
653 5 write_ds(2,fen);
654 5 write_ds(4,shi);
655 5 write_ds(6,xq);
656 5 write_ds(9,nian);
657 5 write_ds(8,yue);
658 5 write_ds(7,ri);
659 5 flag=0;
660 5 }
661 4 }
662 3 }
663 2
664 2 }
665 1 if(s1num!=0)///判断S1键是否按下
666 1 {
C51 COMPILER V7.06 080630 07/27/2008 13:47:08 PAGE 12
667 2 if(s2==0)/////加键
668 2 {
669 3 delay(5);
670 3 if(s2==0)
671 3 {
672 4 while(!s2);
673 4 delay(10);
674 4 if(s2==1)
675 4 {
676 5 if(s1num==1)
677 5 {
678 6
679 6 miao++;
680 6 if(miao==60)
681 6 miao=0;
682 6 display();
683 6
684 6
685 6 }
686 5 if(s1num==2)//判断光标指向的位置
687 5 {
688 6
689 6 fen++;
690 6 if(fen==60)
691 6 fen=0;
692 6 display();
693 6
694 6
695 6 }
696 5 if(s1num==3)
697 5 {
698 6
699 6
700 6 shi++;
701 6 if(shi==24)
702 6 shi=0;
703 6 display();
704 6
705 6
706 6 }
707 5 if(s1num==4)
708 5 {
709 6
710 6 nian++;
711 6 if(nian==100)
712 6 nian=0;
713 6
714 6 display();
715 6 }
716 5 if(s1num==6)
717 5 {
718 6 ri++;
719 6 if(ri==32)
720 6 ri=1;
721 6 display();
722 6 }
723 5 if(s1num==5)
724 5 {
725 6 yue++;
726 6 if(yue==13)
727 6 yue=1;
728 6 display();
C51 COMPILER V7.06 080630 07/27/2008 13:47:08 PAGE 13
729 6 }
730 5 if(s1num==7)
731 5 {
732 6 xq++;
733 6 if(xq==8)
734 6 xq=1;
735 6
736 6 display();
737 6 }
738 5 }
739 4 }
740 3 }
741 2 if(s3==0)//减键
742 2 {
743 3 delay(5);
744 3 if(s3==0)
745 3 {
746 4 while(!s3);
747 4 delay(10);
748 4 if(s3==1)
749 4 {
750 5 if(s1num==1)
751 5 {
752 6 miao--;
753 6 if(miao==-1)
754 6 miao=59;
755 6 display();
756 6 }
757 5 if(s1num==2)
758 5 {
759 6 fen--;
760 6 if(fen==-1)
761 6 fen=59;
762 6 display();
763 6 }
764 5 if(s1num==3)
765 5 {
766 6 shi--;
767 6 if(shi==-1)
768 6 shi=23;
769 6 display();
770 6 }
771 5 if(s1num==4)
772 5 {
773 6 nian--;
774 6 if(nian==-1)
775 6 nian=99;
776 6
777 6 display();
778 6 }
779 5 if(s1num==6)
780 5 {
781 6 ri--;
782 6 if(ri==0)
783 6 ri=31;
784 6 display();
785 6 }
786 5 if(s1num==5)
787 5 {
788 6 yue--;
789 6 if(yue==0)
790 6 yue=12;
C51 COMPILER V7.06 080630 07/27/2008 13:47:08 PAGE 14
791 6 display();
792 6 }
793 5 if(s1num==7)
794 5 {
795 6 xq--;
796 6 if(xq==0)
797 6 xq=7;
798 6
799 6 display();
800 6 }
801 5 }
802 4
803 4 }
804 3 }
805 2 }
806 1 }
807 /*void shanluo()
808 {
809 d1=0;//输出低电平
810 delay(621);//调用延时
811 d1=1;//输出高电平
812 delay(621);//调用延时
813 }*/
814 //主函数
815 void main()
816 {
817 1 TMOD=0x01;
818 1 TH0=(65535-50000)/256;
819 1 TL0=(65535-50000)%256;
820 1 EA=1;
821 1 ET0=1;
822 1 TR0=1;
823 1
824 1 write_ds(0x0B,0x06);
825 1 write_ds(0x0A,0xA0);
826 1 write_ds(0x0A,0x20); //开启内部振荡器 //开启ds12cr887内部震荡器,因为在出厂的时候被厂家关闭了
827 1 while(1)
828 1 {
829 2 kscan(); //键扫描
830 2 if(flag==0)
831 2 {
832 3 tmpchange(); //发送温度装换
833 3 miao=read_ds(0);//读取秒
834 3 fen=read_ds(2);//读取分
835 3 shi=read_ds(4); //读取时
836 3 ri=read_ds(7);//读取日
837 3 yue=read_ds(8);//读取月
838 3 nian=read_ds(9);//读取年
839 3 xq=read_ds(6);//读取星期
840 3
841 3 tmp(); //读取温度
842 3 display(); //刷新显示数据
843 3 // shanluo();
844 3 }
845 2 }
846 1 }
847
848 void t0() interrupt 1
849 {
850 1 TH0=(65535-50000)/256;
851 1 TL0=(65535-50000)%256;
852 1 tt++;
C51 COMPILER V7.06 080630 07/27/2008 13:47:08 PAGE 15
853 1 if(tt==13)
854 1 {
855 2 tt=0;
856 2 d1=~d1;
857 2 }
858 1 }
859
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2934 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 44
IDATA SIZE = ---- ----
BIT SIZE = 1 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -