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

📄 ss_sweep.lst

📁 在采用 320x240 屏的设计实验箱上运行
💻 LST
📖 第 1 页 / 共 5 页
字号:
 674   2      
 675   2                      case 4:
C51 COMPILER V8.02   SS_SWEEP                                                              12/07/2007 16:59:16 PAGE 12  

 676   2      /*                      showchinese(x+208,y,CCFB5);//系
 677   2                              showchinese(x+224,y,CCAFD);//数
 678   2                              show_num(x+240,y,CC010);//:*/
 679   2                              x=x+168;
 680   2                              showchinese(x,y,CC9A8);//扫
 681   2                              x=x+16;
 682   2                              showchinese(x,y,CCBD9);//速
 683   2                              x=x+16;
 684   2                              show_num(x,y,CC010);//:
 685   2      
 686   2      /*                      showchinese(x+168,y,CC9A8);//扫
 687   2                              showchinese(x+184,y,CCBD9);//速
 688   2                              show_num(x+200,y,CC010);//:*/
 689   2      
 690   2                              break;
 691   2      
 692   2      /*                      showchinese(x+224,y,C0000);//
 693   2                              showchinese(x+240,y,C0000);//
 694   2                              showchinese(x+256,y,C0000);//*/
 695   2                      default:break;
 696   2              }
 697   1      }
 698          
 699          
 700          /***************************************************************
 701          *名称:showchinese(uchar x,uchar y,int chin)
 702          *描述:在x,y位置处,显示字符码为chin
 703          *参数:坐标x,坐标y
 704          *返回:
 705          ****************************************************************/
 706          void showchinese(unsigned int x,unsigned int y,int chin)
 707          { 
 708   1              int temp1,temp2; 
 709   1              uchar hi,lo;
 710   1              uchar b,c;
 711   1          unsigned int d=x;
 712   1              temp2=chin;
 713   1              outcode(0x4F);
 714   1              for(c=0;c<2;c++)
 715   1              {
 716   2                      temp1=0x5000+d/8+y*AP;//5218
 717   2                      hi=temp1>>8;//hi=temp1/256;
 718   2                      lo=(uchar)temp1;//lo=temp1%256;
 719   2                      outcode(0x46);
 720   2                      outdata(lo);
 721   2                      outdata(hi);
 722   2                      outcode(0x42);
 723   2                      for(b=0;b<16;b++){
 724   3                              outdata(hzdot[temp2]);
 725   3                              temp2++;
 726   3                      }
 727   2                      d=d+8;
 728   2              }
 729   1      }
 730          /***************************************************************
 731          *名称:display_lead(void)
 732          *描述:初始化液晶屏上第三层的汉字
 733          *参数:
 734          *返回:
 735          ****************************************************************/
 736          void display_lead(void)
 737          {
C51 COMPILER V8.02   SS_SWEEP                                                              12/07/2007 16:59:16 PAGE 13  

 738   1      /*      uchar x=8;
 739   1              uchar y=220;
 740   1      
 741   1              showchinese(x,y,CC7EB);//请
 742   1              showchinese(x+16,y,CB0B4);//按
 743   1              showchinese(x+32,y,CC8B7);//确
 744   1              showchinese(x+48,y,CB6A8);//定
 745   1              showchinese(x+64,y,CBCFC);//键
 746   1              showchinese(x+80,y,CCAE4);//输
 747   1              showchinese(x+96,y,CC8EB);//入
 748   1              showchinese(x+112,y,CC6B5);//频
 749   1              showchinese(x+128,y,CC2CA);//率
 750   1      */
 751   1              last_line(0);//请按确定键输入频率
 752   1              display_mod(0);//无信号
 753   1      
 754   1      /*      showchinese(264,24,CC4A3);//模
 755   1              showchinese(264+16,24,CCABD);//式
 756   1              show_num(264+32,24,CC010);//:
 757   1      
 758   1              showchinese(264,144,CC6B5);//频
 759   1              showchinese(264+16,144,CC2CA);//率*/
 760   1      
 761   1              set_up(1);//频率
 762   1      //      show_num(264+32,144,CC010);//:
 763   1      
 764   1      //      show_num(304,184,CC011);//H
 765   1      //      show_num(312,184,CC012);//z
 766   1      }
 767          /***************************************************************
 768          *名称:display_init(void)
 769          *描述:初始化液晶屏和相关图形
 770          *参数:
 771          *返回:
 772          ****************************************************************/
 773          void display_init(void)
 774          {
 775   1              turnoff();
 776   1              init();
 777   1              initram();
 778   1              turnon();
 779   1              DrawFrame();
 780   1              DrawGrid();
 781   1              display_lead();
 782   1      }
 783          /***************************************************************
 784          *名称:showsine (void)
 785          *描述:显示采样的结果,采64个点但显示256点
 786          *参数:xr_temp[]显示数组,N_temp数组元素个数,
 787                     start_add图形开始的x地址,last上次显示最后一个元素
 788          *返回:
 789          ****************************************************************/
 790          /*void showsine (uchar xr_temp[],uchar N_temp,uchar start_add,uchar last)
 791          {
 792                  uchar i ;
 793                  WriteD(start_add,xr_temp[1]>>1);
 794                  vector(start_add-1,last>>1,xr_temp[1]>>1);
 795                  for(i=2;i<N_temp;i++)
 796                  {
 797                          WriteD(i-1+start_add,xr_temp[i]>>1);
 798                          vector(i-2+start_add,xr_temp[i-1]>>1,xr_temp[i]>>1);
 799                  }
C51 COMPILER V8.02   SS_SWEEP                                                              12/07/2007 16:59:16 PAGE 14  

 800          }*/
 801          
 802          void show_num (unsigned int x, unsigned int y, int chin)
 803          {
 804   1              int temp1,temp2; 
 805   1              uchar hi,lo;
 806   1              uchar b;
 807   1          unsigned int d=y;
 808   1              temp2=chin;
 809   1              outcode(0x4f);
 810   1              temp1=0x5000+x/8+d*AP;//5218
 811   1              hi=temp1>>8;//hi=temp1/256;
 812   1              lo=(uchar)temp1;//lo=temp1%256;
 813   1              outcode(0x46);
 814   1              outdata(lo);
 815   1              outdata(hi);
 816   1              outcode(0x42);
 817   1              for(b=0;b<16;b++){      
 818   2                      outdata(hzdot[temp2]);
 819   2                      temp2++;
 820   2              }
 821   1      }
 822          #define Start           0
 823          #define Screen          1
 824          #define Setup           2
 825          #define FreqScan        3
 826          #define TiaoFu      4
 827          
 828          #define enter_num       0
 829          #define wait_key        1
 830          #define exit_setup      2
 831          #define scan_start      3
 832          #define scan_select 4
 833          
 834          unsigned long int Freq,FreqS,step,minF,maxF;
 835          unsigned long int Freq_temp;
 836          unsigned char MainSM=0;
 837          unsigned char SetupSM=0;
 838          //unsigned char SetFSM=4;//扫频状态的子状态
 839          unsigned long int SetFSM=0;
 840          unsigned long int aa=0;//aa是扫频状态中表示子状态的一个参数,记录按下setup的次数
 841          unsigned long int bb=1;//bb is freq scan mod select
 842          
 843          void main(void)
 844          {
 845   1              unsigned char mod,value_index;
 846   1              init_port();
 847   1              init_interrupt();
 848   1              _nop_();
 849   1              _nop_();
 850   1              _nop_();
 851   1              display_init();
 852   1                      
 853   1              //cls();
 854   1              while(1){
 855   2              switch(MainSM)
 856   2              {
 857   3              case Start:     MainSM=Screen;
 858   3                              SetPhase(0);
 859   3                              SetCMD(mod&0x01);
 860   3                              refresh_led();
 861   3                      break;
C51 COMPILER V8.02   SS_SWEEP                                                              12/07/2007 16:59:16 PAGE 15  

 862   3              case Screen:    
 863   3                              if(key_pressed==ON)
 864   3                              {
 865   4                              switch(key_no)
 866   4                              {
 867   5                                      case key_enter: MainSM=Setup;
 868   5                                                              //SetPhase(Freq);
 869   5                                                      break;
 870   5                                      case key_clr:   MainSM=FreqScan;
 871   5                                                      FreqS=Freq;
 872   5                                                              set_up(2);
 873   5                                                              show_fre(4);
 874   5                                                              sweep_amp(0);//扫频
 875   5                                                      break;
 876   5                                      case key_mod: SetCMD((++mod)&0x01);//SetCMD((++mod)&0x01)
 877   5                                                    display_mod((mod)&0x01);//display_mod((mod)&0x01)
 878   5                                                    refresh_led();
 879   5                                                      break;
 880   5                                              case key_tiao: MainSM=TiaoFu;
 881   5                                                              SetCMD(2);
 882   5                                              sweep_amp(1);
 883   5                                                      break;
 884   5                                      default:  break;                                
 885   5                              }
 886   4                              key_pressed=OFF;
 887   4                              }
 888   3                      break;
 889   3              case FreqScan:  //扫频输出状态
 890   3                      //Set_Display_Add(384);
 891   3                              //printf("Scan Frequence");
 892   3                              //sweep_amp(0);//扫频
 893   3                          switch(SetFSM)//进入扫频状态的设置
 894   3                                      {
 895   4                                                 case  enter_num://扫频初始状态,并LCD显示不同的内容
 896   4                                          if(aa==0){//设置扫频频率的最小值
 897   5                                                                                 //cls();
 898   5                                             //Set_Display_Add(512);
 899   5                                                     //printf("min:"); 

⌨️ 快捷键说明

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