📄 text1.lst
字号:
589 3 Temp2=Temp2>>1;
590 3 Temp2=Temp2+0x80; }
591 2 else
592 2 Temp2=Temp2>>1;
593 2 CLK = 1;
594 2 }
595 1 CS = 1;
596 1 if(Temp1==Temp2) //判断数据采集是否有效
597 1 {
598 2 error=0;
599 2 return Temp1;
600 2 }
601 1 else
602 1 {
603 2 error=1;
604 2 return Temp1;
605 2 }
606 1 }
607
608
609 /*
610 void timer0() interrupt 1 using 1
611 {
612 TH0=~(500/256) ;
C51 COMPILER V7.20 TEXT1 08/18/2007 22:40:15 PAGE 11
613 TL0=-(500%250);
614 beep=!beep;
615 }
616 */
617
618
619
620
621 void main()
622 {
623 1 unsigned int result;
624 1 uchar i;
625 1 uchar t;
626 1
627 1
628 1 uchar i2;
629 1 uchar j=0; //标记
630 1 ulong a=1000,b=1000; //a用来记录频率;b用来记录频率间隔(开始是为1000HZ)
631 1 ulong c=0;
632 1
633 1
634 1 uchar code d[]="please insert F:";
635 1 uchar code q[]="insert code: ";
636 1 uchar code w[]="please insert DF:" ;
637 1 uchar ask[20];
638 1
639 1
640 1 /* uchar code str0='1';
641 1 uchar code str1='2';
642 1 uchar code str2='3';
643 1 uchar code str3='A';
644 1 uchar code str4='4';
645 1 uchar code str5='5';
646 1 uchar code str6='6';
647 1 uchar code str7='B';
648 1 uchar code str8='7';
649 1 uchar code str9='8';
650 1 uchar code str10='9';
651 1 uchar code str11='c';
652 1 uchar code str12='*';
653 1 uchar code str13='0';
654 1 uchar code str14='#';
655 1 uchar code str15='D';
656 1 */
657 1
658 1
659 1 unsigned char offset=0x80; //定义一个偏移地址变量,lcd1602 写入控制字时用到
660 1 unsigned char key;
661 1
662 1 delay(2);
663 1 lcd1602_bus=0xff;
664 1 lcd1602_init();
665 1 lcd1602_wrcmd(offset+0x00);
666 1 xianshi(0);
667 1
668 1
669 1
670 1
671 1 while(1)
672 1 {
673 2
674 2 key=getkey_ii();
C51 COMPILER V7.20 TEXT1 08/18/2007 22:40:15 PAGE 12
675 2
676 2 /*
677 2 if (key==8)
678 2 {
679 2 TMOD=0x01;
680 2 TH0=~(500/256) ;
681 2 TL0=-(500%250);
682 2 TR0=1;
683 2 ET0=1;
684 2 EA=1;
685 2 while(key!=15)
686 2 {
687 2 key=getkey_ii();
688 2
689 2 }
690 2 EA=0;
691 2
692 2 while(1)
693 2 {
694 2 delay_1ms(1);
695 2 beep=!beep;
696 2 }
697 2
698 2
699 2 }
700 2
701 2 */
702 2
703 2 /*************** A键上调 ******************/
704 2 if(key==7)
705 2 {
706 3 j=j+1;
707 3 if(j>6)j=0;
708 3 xianshi(j);
709 3
710 3 }
711 2
712 2
713 2 /*************** B键下调 ******************/
714 2 if (key==3)
715 2 {
716 3 if (j==0) j=7;
717 3 j=j-1;
718 3 xianshi(j);
719 3
720 3 }
721 2
722 2 /************* *键用来步减 *******************/
723 2 if(key==12){a=a-b; ad9850(a,b,c);} //
724 2
725 2
726 2
727 2
728 2 /************* #用来步加 *******************/
729 2 if(key==14) {a=a+b; ad9850(a,b,c);} //
730 2
731 2
732 2 /************* SIN *******************/
733 2 if(key==0 || ((j==0)&&(key==15)))
734 2 { key=getkey_ii();
735 3 ad9850(a,b,c);
736 3 delay(1000);
C51 COMPILER V7.20 TEXT1 08/18/2007 22:40:15 PAGE 13
737 3 }
738 2
739 2
740 2
741 2 /************* SET F *******************/
742 2 if(key==1|| ((j==1)&&(key==15)))
743 2 { a=0;
744 3 lcd1602_clear();
745 3 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
746 3 key=18; //避免和下面的WHILE语句条件冲突;临时改变KEY 只变一次
747 3
748 3 while(key!=15 )
749 3 {
750 4 key=getkey_ii();
751 4
752 4
753 4 if(key==0)
754 4 {
755 5 lcd1602_clear();
756 5 lcd1602_wrcmd(offset+0x00);
757 5
758 5 a=a*10+1;
759 5
760 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
761 5 lcd1602_wrcmd(offset+0x40); //换行
762 5 xianshu(a);
763 5 //lcd1602_wrcmd(offset+0x40);
764 5 // for(i=0;i<11;i++) lcd1602_wrdata(str12[i]);
765 5 }
766 4 else if (key==1)
767 4 {
768 5 lcd1602_clear();
769 5 lcd1602_wrcmd(offset+0x00);
770 5
771 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
772 5 lcd1602_wrcmd(offset+0x40); //换行
773 5 a=a*10+2;
774 5 xianshu(a);
775 5 //lcd1602_wrcmd(offset+0x40);
776 5 //for(i=0;i<15;i++) lcd1602_wrdata(str22[i]);
777 5 }
778 4 else if (key==2)
779 4 {
780 5 lcd1602_clear();
781 5 lcd1602_wrcmd(offset+0x00);
782 5
783 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
784 5 lcd1602_wrcmd(offset+0x40); //换行
785 5 a=a*10+3;
786 5 xianshu(a);
787 5 // lcd1602_wrcmd(offset+0x40);
788 5 // for(i=0;i<15;i++) lcd1602_wrdata(str31[i]);
789 5 }
790 4
791 4 else if (key==4)
792 4 {
793 5 lcd1602_clear();
794 5 lcd1602_wrcmd(offset+0x00);
795 5 a=a*10+4;
796 5
797 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
798 5 lcd1602_wrcmd(offset+0x40); //换行
C51 COMPILER V7.20 TEXT1 08/18/2007 22:40:15 PAGE 14
799 5 xianshu(a);
800 5 }
801 4 else if (key==5)
802 4 {
803 5 lcd1602_clear();
804 5 lcd1602_wrcmd(offset+0x00);
805 5
806 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
807 5 lcd1602_wrcmd(offset+0x40); //换行
808 5 a=a*10+5;
809 5 xianshu(a);
810 5 }
811 4 else if (key==6)
812 4 {
813 5 lcd1602_clear();
814 5 lcd1602_wrcmd(offset+0x00);
815 5
816 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
817 5 lcd1602_wrcmd(offset+0x40); //换行
818 5 a=a*10+6;
819 5 xianshu(a);
820 5 }
821 4 else if (key==8)
822 4 {
823 5 lcd1602_clear();
824 5 lcd1602_wrcmd(offset+0x00);
825 5
826 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
827 5 lcd1602_wrcmd(offset+0x40); //换行
828 5 a=a*10+7;
829 5 xianshu(a);
830 5 }
831 4 else if (key==9)
832 4 {
833 5 lcd1602_clear();
834 5 lcd1602_wrcmd(offset+0x00);
835 5
836 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
837 5 lcd1602_wrcmd(offset+0x40); //换行
838 5 a=a*10+8;
839 5 xianshu(a);
840 5 }
841 4 else if (key==10)
842 4 {
843 5 lcd1602_clear();
844 5 lcd1602_wrcmd(offset+0x00);
845 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
846 5 lcd1602_wrcmd(offset+0x40); //换行
847 5 a=a*10+9;
848 5 xianshu(a);
849 5 }
850 4 else if (key==13)
851 4 {
852 5 lcd1602_clear();
853 5 lcd1602_wrcmd(offset+0x00);
854 5 for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
855 5 lcd1602_wrcmd(offset+0x40); //换行
856 5 a=a*10+0;
857 5 xianshu(a);
858 5 }
859 4
860 4 }
C51 COMPILER V7.20 TEXT1 08/18/2007 22:40:15 PAGE 15
861 3
862 3 xianshi(0);
863 3 j=0;
864 3 ad9850(a,b,c);
865 3 } //设定频率
866 2
867 2
868 2
869 2
870 2
871 2 /************* SET DF *******************/
872 2 if(key==2 || ((j==2)&&(key==15)))
873 2 { b=0;
874 3 lcd1602_clear();
875 3 for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
876 3
877 3 key=18; //避免和下面的WHILE语句条件冲突;临时改变KEY 只变一次
878 3
879 3 while(key!=15 )
880 3 {
881 4 key=getkey_ii();
882 4
883 4
884 4 if(key==0)
885 4 {
886 5 lcd1602_clear();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -