⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ss_sweep.lst

📁 在采用 320x240 屏的设计实验箱上运行
💻 LST
📖 第 1 页 / 共 5 页
字号:
 900   5                                                                         last_line(1); 
 901   5                                          }
 902   4                                          if(aa==1){//设置扫频频率的最大值
 903   5                                             //Set_Display_Add(640);
 904   5                                                     //printf("max:"); 
 905   5                                                                                 last_line(2);     
 906   5                                          }
 907   4                                          if(aa==2){//设置扫频频率的步长或者对数增长的系数
 908   5                                             //Set_Display_Add(768);
 909   5                                                                                 if(bb==0){
 910   6                                                                                 last_line(3); 
 911   6                                                     }
 912   5                                                                         if(bb==1){
 913   6                                                                         last_line(4); 
 914   6                                                                                 }
 915   5                                          }
 916   4                                                                      value_index=0;
 917   4                                                                      SetFSM=wait_key;
 918   4                                                                      break;
 919   4                                              case  wait_key:         //处理键盘输入
 920   4                                        if(key_pressed==ON)
 921   4                                                                      {  
 922   5                                                                      switch(key_no)
 923   5                                                                              {
C51 COMPILER V8.02   SS_SWEEP                                                              12/07/2007 16:59:16 PAGE 16  

 924   6                                                                              case key0:
 925   6                                                                              case key1: 
 926   6                                                                              case key2: 
 927   6                                                                              case key3: 
 928   6                                                                              case key4: 
 929   6                                                                              case key5:
 930   6                                                                              case key6:
 931   6                                                                              case key7:
 932   6                                                                              case key8:
 933   6                                                                              case key9:
 934   6                                                                                      if(value_index<5)
 935   6                                                                                      {
 936   7                                                                                      value[value_index]=key_no;
 937   7                                                                                      value_index++;
 938   7                                                                                      }       
 939   6                                                                                      break;
 940   6                                                                              case key_enter://每按一下setup,aa加1,以进行不同的处理
 941   6                                                   aa=(aa+1)%4;         
 942   6                                                   SetFSM=exit_setup;
 943   6                                                                                      break;
 944   6                                                                                      case key_xuan1://选择模式2,对数模式
 945   6                                                                                           bb=1;
 946   6                                                   //Set_Display_Add(480);
 947   6                                                                                               //printf("mod 2");
 948   6                                                                                               log_lin(0);
 949   6                                                                                               delayMs(100);
 950   6                                                                                               SetFSM=enter_num;
 951   6                                                                                               break;
 952   6                                                                                      case key_xuan2://选择模式1,线性模式
 953   6                                                                                           bb=0;
 954   6                                                                                               //Set_Display_Add(480);
 955   6                                                                                               //printf("mod 1");
 956   6                                                                                               log_lin(1);
 957   6                                                                                               delayMs(100);
 958   6                                                                                               SetFSM=enter_num;
 959   6                                                                                               break;
 960   6                                                                      
 961   6                                                                              default:  break;                                
 962   6                                                                              }
 963   5                                          refresh_led();
 964   5                                                              key_pressed=OFF;
 965   5                                                                              }                                                       
 966   4                                                                      break;
 967   4                                              case  exit_setup:       Freq_temp=value[0];
 968   4                                                                      Freq=Freq_temp*10000;
 969   4                                                                      Freq_temp=value[1];
 970   4                                                                      Freq=Freq+Freq_temp*1000;
 971   4                                                                      Freq_temp=value[2];
 972   4                                                                      Freq=Freq+Freq_temp*100;
 973   4                                                                      Freq_temp=value[3];
 974   4                                                                      Freq=Freq+Freq_temp*10;
 975   4                                                                      Freq=Freq+value[4];
 976   4                                          if(aa==1) {//设置并显示最小频率
 977   5                                                     minF=Freq;
 978   5                                           /*          Set_Display_Add(576);
 979   5                                                                                 putchar(value[0]+0x30);
 980   5                                                                             putchar(value[1]+0x30);
 981   5                                                                                 putchar(value[2]+0x30);
 982   5                                                                                 putchar(value[3]+0x30);
 983   5                                                                                 putchar(value[4]+0x30);*/
 984   5                                                                                 show_fre(1);
 985   5                                                                                 refresh_led();
C51 COMPILER V8.02   SS_SWEEP                                                              12/07/2007 16:59:16 PAGE 17  

 986   5                                                     SetFSM=enter_num;
 987   5                                          }
 988   4                                          if(aa==2) {//设置并显示最大频率
 989   5                                                     maxF=Freq;
 990   5                                          /*           Set_Display_Add(704);
 991   5                                                                                 putchar(value[0]+0x30);
 992   5                                                                             putchar(value[1]+0x30);
 993   5                                                                                 putchar(value[2]+0x30);
 994   5                                                                                 putchar(value[3]+0x30);
 995   5                                                                                 putchar(value[4]+0x30);*/
 996   5                                                                                 show_fre(2);
 997   5                                                                                 refresh_led();
 998   5                                                     SetFSM=enter_num;
 999   5                                          }
1000   4                                          if(aa==3) {//设置并显示步长或者系数
1001   5                                                    step=Freq;
1002   5                                           /*         Set_Display_Add(832);
1003   5                                                                                 putchar(value[0]+0x30);
1004   5                                                                             putchar(value[1]+0x30);
1005   5                                                                                 putchar(value[2]+0x30);
1006   5                                                                                 putchar(value[3]+0x30);
1007   5                                                                                 putchar(value[4]+0x30);*/
1008   5                                                                                 show_fre(3);
1009   5                                                                                 refresh_led();
1010   5                                                    SetFSM=scan_start;
1011   5                                          }
1012   4                                                                      break;
1013   4                             case scan_start: 
1014   4                                        delayMs(10);//延时函数,每隔100ms频率改变一次
1015   4                                        if(FreqS>maxF) FreqS=minF;//设置扫频的最小值  
1016   4                                                SetPhase(FreqS&0x7fff);       //设置频率,以模32k循环
1017   4                                                                        if(bb==0){
1018   5                                                FreqS+=step;
1019   5                                                                        //Set_Display_Add(480);
1020   5                                                                        //printf("mod 1");
1021   5                                                                        log_lin(1);//线性模式
1022   5                                                                        }             //频率步进step,linear freq change
1023   4                                                                        if(bb==1){
1024   5                                                                        FreqS=(FreqS+1)*step/100;
1025   5                                                                        //Set_Display_Add(480);
1026   5                                                                        //printf("mod 2");
1027   5                                                                        log_lin(0);//对数模式
1028   5                                                                        }//频率对数变化
1029   4                                                if(key_pressed==ON){
1030   5                                                    switch(key_no){
1031   6                                                          case key_enter: MainSM=Setup;//结束扫频,进入正常波形的设置状态
1032   6                                                                              sweep_amp(2);
1033   6                                                                                                                  log_lin(2);
1034   6                                                                                                                      last_line(0);
1035   6                                                                                                                      SetCMD((++mod)&0x00);//模波形式设置,在本实验中实际上没有用处
1036   6                                                                              display_mod((mod)&0x00);
1037   6                                                                                                                      // cls();
1038   6                                                                                              break;
1039   6                                                          case key_mod:       MainSM=Start;
1040   6                                                                                                                      sweep_amp(2);
1041   6                                                                                                                  log_lin(2);
1042   6                                                                                                                      last_line(0);
1043   6                                                                                                                      //SetCMD((++mod)&0x00);//模波形式设置,在本实验中实际上没有用处
1044   6                                                                              display_mod((mod)&0x01);
1045   6                                                                              //refresh_led();
1046   6                                                                                              break;
1047   6                                                                                      
C51 COMPILER V8.02   SS_SWEEP                                                              12/07/2007 16:59:16 PAGE 18  

1048   6                                                          default:  SetFSM=scan_start;                                
1049   6                                                    }
1050   5                                                key_pressed=OFF;
1051   5                                                }
1052   4                                        break;
1053   4                           }
1054   3                  break;
1055   3              ////////////////////////////////////////////////////////////////////////
1056   3              case Setup:      
1057   3                             // cls();
1058   3                              /*Set_Display_Add(428);
1059   3                              printf("SETUP");*/
1060   3                                      set_up(0);//设置
1061   3                                      SetFSM=0;
1062   3                                      aa=0;
1063   3                                      switch(SetupSM)
1064   3                                      {
1065   4                                              case  enter_num:        value[0]=0;
1066   4                                                                      value[1]=0;
1067   4                                                                      value[2]=0;
1068   4                                                                      value[3]=0;
1069   4                                                                      value[4]=0;
1070   4                                              /*                      Set_Display_Add(560);
1071   4                                                                      putchar(value[0]+0x30);
1072   4                                                                      putchar(value[1]+0x30);
1073   4                                                                      putchar(value[2]+0x30);
1074   4                                                                      putchar(value[3]+0x30);
1075   4                                                                      putchar(value[4]+0x30);*/
1076   4                                                                      show_fre(0);
1077   4                                                                      value_index=0;
1078   4                                                                      SetupSM=wait_key;
1079   4                                                                      break;
1080   4                                              case  wait_key:         if(key_pressed==ON)
1081   4                                                                      {
1082   5                                                                      switch(key_no)
1083   5                                                                              {
1084   6                                                                              case key0:
1085   6                                                                              case key1: 
1086   6                                                                              case key2: 
1087   6                                                                              case key3: 
1088   6                                                                              case key4: 
1089   6                                                                              case key5:
1090   6                                                                              case key6:
1091   6                                                                              case key7:
1092   6                                                                              case key8:
1093   6                                                                              case key9:
1094   6                                                                                      if(value_index<5)
1095   6                                                                                      {
1096   7                                                                                      value[value_index]=key_no;
1097   7                                                                                      value_index++;
1098   7                                                                                      }
1099   6                                                                                      
1100   6                                                                                      break;
1101   6                                                                              case key_enter:SetupSM=exit_setup;
1102   6                                                                                      break;
1103   6                                                                              case key_mod: SetCMD((++mod)&0x03);
1104   6                                                                                            display_mod((mod)&0x03);
1105   6                                                                                            refresh_led();
1106   6                                                                                      break;
1107   6                                                                              default:  break;                                
1108   6                                                                              }
1109   5                                                      /*              Set_Display_Add(560);
C51 COMPILER V8.02   SS_SWEEP                                                              12/07/2007 16:59:16 PAGE 19  

1110   5                                                                      putchar(value[0]+0x30);
1111   5                                                                      putchar(value[1]+0x30);
1112   5                                                                      putchar(value[2]+0x30);
1113   5                                                                      putchar(value[3]+0x30);
1114   5                                                                      putchar(value[4]+0x30);*/
1115   5                                                                      show_fre(0);
1116   5                                                                      refresh_led();
1117   5                                                                      key_pressed=OFF;
1118   5                                                                      }
1119   4                                                                                                                              
1120   4                                                                      break;
1121   4                                              case  exit_setup:       Freq_temp=value[0];
1122   4                                                                      Fr

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -